* Prevent group pane from being hidden just by dragging. Introduce new View menu setting to hide the group pane.
* Replace the preview panel "close" icon with a "collapse down" icon making the intention clearer.
* Better organize the view menu
* Attempt to avoid issue with splitters not being appropriately calculated because the main window isn't sized yet. This can happen if the main window is hidden when the database is loaded and the splitter sizes are not recorded in the config file.
Closes#10783
Adds three database configuration options (stored as public custom data) that allow a database to have a public name/summary, color, and/or icon to be displayed on the unlock screen. This information is configured in the Database Settings and stored in the database public custom data (ie, unencrypted).
The name/summary is stored in KPXC_PUBLIC_NAME, the color is stored in KPXC_PUBLIC_COLOR, and the icon is stored in KPXC_PUBLIC_ICON.
---------
Co-authored-by: Jonathan White <support@dmapps.us>
* Fixes#11000
When the screen locks on e.g. gnome we receive multiple independent signals of that, namely the Gnome session manager and the gnome / freedesktop screensaver.
When this happens, this causes multiple "lock database" requests to be issued. The first one correctly shows the question to discard/cancel, but the second one while the first is still asking goes and dismisses the question and then goes to ask it again. The result is it acts like you didn't answer correctly (ie, to cancel) and the database is locked.
* Closes#9452 - add import/export buttons to application settings
* Fixes#11120 - duplicate both menubar and toolbar visibility settings into the application settings
* Fixes#8561 - improve placement of various settings between General and Security pages
* Improve tool tip for backup database setting
* Improve wording of various settings
* Fixes#11044 - password generator excluded characters tooltip was incorrect
* Fixes#11084 - allow more than 30 days for showing expiring passwords. Also fix the ability to properly translate this control.
* Fixes#11212 - don't show password on creating new database
* Fixes#10726 - improve indication of hardware key polling. Also improve layout spacing of unlock dialog.
* Fixes#11142 - provide better link for challenge-response information
Replace a QVector for the wordlist with a QSet. This removes all duplicate entries in a given wordlist.
Thus, it hinders a malicious wordlist that has the proper length (>4000 entries) but with repetitions (effectively << 4000 entries) to be used and potentially create weaker passphrases than estimated.
Example:
List with 4000 items but only 64 unique words would lead to only 48 bit of Entropy instead of ~95 bit!
It turns out that the previous implementation, based on installing an event filter in every QAction instance, does not work on macOS, likely due to a Qt bug.
Attempt to work around this by using a different implementation of the same idea, by reacting to ShortcutOverride events in the MainWindow object.
Fixes#10929.
This PR splits the GUI source files from the core source files. The immediate goal is to allow the CLI to require only a minimum number of dynamic libraries. The long term goal is to create an architectural boundary around the core module, in preparation of libkdbx.
Fix a bug in the database key settings dialog, where it was previously
always incorrectly applying an empty password if the password was not
changed but some other change was made (e.g. adding or removing a key
file).