Commit Graph

27 Commits

Author SHA1 Message Date
Jonathan White
3b459813ed Replace "Master Key" with "Database Credentials"
Definitions:
* Database Key - Cryptographic hash used to perform encrypt/decrypt of the database.

* Database Credentials - User facing term to refer to the collection of Password, Key File, and/or Hardware Key used to derive the Database Key.

Changes:
* Remove the term "master" and "key" from the user's lexicon and clarify  the code base based on the definitions above.
* Clean up wording in the UI to be clearer to the end user.
2020-07-02 17:39:45 -04:00
Jonathan White
1ad0184473 Fix minor UX issues with DB Open Widget
* Only clear password field when switching tabs or minimizing. This prevents the setting "Remember Key Files and Hardware Keys" from being useless with multiple databases.
* Convert key file field to Line Edit, simplifies usage. Fix clear field button as well.
* Removed need for clearForms to check if the database is being opened (was a solution to tab switching while unlocking, no longer a problem).
2020-06-06 14:40:22 -04:00
Janek Bevendorff
9d2e066aca Clean up various parts of the UI and rearrange settings
- Unify widget layouts and margins
- Fix tab order on a bunch of widgets
- Fix broken entry/group edit form layout and replace with grid layout
- Rearrange some settings for better logical grouping
- Fix some settings checkboxes not being enabled/disabled on load
- Fix "General" settings tab scrolling
- Rename "Root" group to "Passwords"
- Update demo.kdbx accordingly and redownload favicons
- Change entry path display to use slash separators
- Reduce Medium and Large icon sizes slightly
2020-05-30 10:45:00 +02:00
Jonathan White
5142981018 Significantly enhance hardware key robustness
* Significantly improve user experience when using hardware keys on databases in both GUI and CLI modes. Prevent locking up the YubiKey USB interface for prolonged periods of time. Allows for other apps to use the key concurrently with KeePassXC.

* Improve messages displayed to user when finding keys and when user interaction is required. Output specific error messages when handling hardware keys during database read/write.

* Only poll for keys when previously used or upon user request. Prevent continuously polling keys when accessing the UI such as switching tabs and minimize/maximize.

* Add support for using multiple hardware keys simultaneously. Keys are identified by their serial number which prevents using the wrong key during open and save operations.

* Fixes #4400
* Fixes #4065
* Fixes #1050
* Fixes #1215
* Fixes #3087
* Fixes #1088
* Fixes #1869
2020-05-14 20:19:56 -04:00
Jonathan White
fe1189ea79 Enhance Password Editing Fields
* Remove repeat password on entry edit
* Move show/hide password and password generator buttons into the field as actions.
* Register keyboard shortcut Ctrl+H to toggle password visibility
* Register keyboard shortcut Ctrl+G to open the password generator
* Cleanup code and improve interactions between elements
* Simplify Password Generator button layout; convert advanced mode button to toggle button
* Update GUI tests

* Fixes #4120
2020-03-09 18:03:20 -04:00
Janek Bevendorff
557736ea5e Add custom light and dark UI themes 2020-03-05 09:24:11 +01:00
Balazs Gyurak
6c65b486e4 Disable database unlock form while decrypting 2019-11-23 09:56:39 -05:00
Janek Bevendorff
5d2766e016 Make the purpose of the key file field clearer.
The new unlock dialogue seems to confuse users
as to what the purpose of the key file is. This
patch changes the generic "Select file..." affordance
to the more explicit "Select key file..." and adds
a help button to the label just like the one we
already have for the hardware key. Furthermore,
it prevents the user from using the KDBX file as its
own key file (since that would never work anyway).

The change breaks existing translations on purpose
(instead of simply adjusting the en_US locale)
in order to force translators to update this string
for their languages.

Resolves #3678
2019-11-07 21:26:56 -05:00
Jonathan White
34bbf8b3a1 Updated translation file and fixed typos 2019-10-23 22:48:34 -04:00
Jonathan White
23eb13ced6 Add missing tooltips to buttons 2019-09-28 11:25:20 -04:00
Janek Bevendorff
5492b5c4f6
Redesign database unlock widget. (#3287)
With this change we get rid of the confusing key component checkboxes.
Now a component is either there or not (if left empty). There is
no redundant distinction between "unset" and "emtpy" anymore.
For compatibility with older databases that have "empty" passwords,
KeePassXC will ask if the user wants to retry with an empty password
if unlocking failed and the password field was left blank.

Besides these functional changes, the widget's layout has been
rearranged to be more compact, less stretched out (e.g. input fields
do not fill the full window width anymore), and more user-friendly
by providing a help tooltip for the hardware key field and accessible
descriptions for screen readers.
2019-06-22 18:00:31 +02:00
Janek Bevendorff
e443cde452 Add a new database settings wizard
This patch implements a new database wizard to guide users through the process
of setting up a new database and choosing sane encryption settings.

It also reimplements the master key settings to be more
user-friendly. Users can now add, change, or remove individual composite
key components instead of having to set all components at once. This
avoids confusion about a password being reset if the user only wants to
add a key file.

With these changes comes a major refactor of how database composite keys and key
components are handled. Copying of keys is prohibited and each key
exists only once in memory and is referenced via shared pointers. GUI
components for changing individual keys are encapsulated into separate
classes to be more reusable. The password edit and generator widgets
have also been refactored to be more reusable.
2018-09-25 21:12:47 +02:00
Max Kolhagen
d9fcdd2920 Add TouchID support on macOS 2018-09-18 22:42:05 -04:00
Janek Bevendorff
91761a2bea
Only poll YubiKey for currently visible tab 2017-02-21 02:19:11 +01:00
Janek Bevendorff
5d068dfb23
Show busy indicator while scanning for YubiKeys 2017-02-20 23:20:32 +01:00
Janek Bevendorff
eb23dda99b
Remember if challenge-response was used for each database and allow to re-detect Yubikeys without closing the database first 2017-02-20 22:07:01 +01:00
Janek Bevendorff
7174549441
Align YubiKey combobox with rest of interface 2017-02-20 20:35:46 +01:00
Janek Bevendorff
a27147a75e
Merge branch 'develop' into feature/yubikey 2017-02-20 20:24:38 +01:00
Janek Bevendorff
e0e6f2b8e9
Merge branch 'release/2.1.2' into develop 2017-02-17 04:03:12 +01:00
Janek Bevendorff
35788f8654 Fix DatabaseOpenWidget alignment on Mac OS X 2017-02-16 10:35:39 +01:00
Janek Bevendorff
37c7318097
Merge branch 'develop' into feature/yubikey 2017-02-15 00:24:28 +01:00
Pedro Alves
a710181388
Replaced MessageBox dialogs with inline MessageWidget in
DatabaseOpenWidget.
2017-02-10 02:25:51 +01:00
Kyle Manna
ba8fd25604 gui: Add YubiKey support to widgets
* Add YubiKey support to the GUI widgets.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:31:50 -08:00
TheZ3ro
b2f3cc6903 Add some password-related feature (#92)
* Add Standalone Password Generator. Closes #18 
* Add an entropy meter for passwords. Closes #84
* Don't require password repeat when it is visible. Fixes #27
2016-11-23 21:59:24 -05:00
Felix Geyer
223c5a1651 Use an icon for the button that shows/masks passwords.
Closes #38

Additionally make use of the new PasswordEdit class where possible.
2014-01-12 17:13:10 +01:00
Felix Geyer
909e01bde5 Make DatabaseOpenWidget a bit prettier. 2012-07-02 18:47:12 +02:00
Felix Geyer
92af92ccbe Convert DatabaseOpenDialog into a widget on DatabaseWidget. 2012-06-29 10:36:35 +02:00