Commit Graph

4478 Commits

Author SHA1 Message Date
Jonathan White
e180980b90 Fix potential deadlock in UI when saving
This was noted as a problem in several issues and it finally occurred to me and I traced it to the fact that a timing issue sometimes allowed the file watcher to trigger a "file changed" alert right when saving starts. I fixed this by moving where the mutex lock is made for saving and preventing database reload during a save operation.
2022-10-19 07:02:38 -04:00
Jonathan White
e6b2e4e95e Hide usernames in preview panel when hidden in entry view
* Fix #6306
2022-10-19 07:02:19 -04:00
Jonathan White
1af985fde9
Allow picking tags from completion menu with keyboard
* Also fixes the hiding and display of the completion menu to be more natural and less annoying.
* Fixes #7939
2022-10-18 18:24:35 -04:00
Janek Bevendorff
5e9fa18a4d
Add CFBundleVersion, fixes #8454 (#8602) 2022-10-18 13:27:42 +02:00
Janek Bevendorff
e7a5b3939d
Update macOS provisioning profile (#8600) 2022-10-18 00:56:18 +02:00
Jonathan White
f096f7d7fa Fix use of WITH_XC_X11 build flag 2022-10-17 16:23:50 -04:00
Vijay Aravamudhan
f7735afcd6
Allow for homebrew prefix location to handle both x64 and arm macs (#8593)
Allow for Homebrew prefix location to handle both x64 and arm macs
2022-10-17 22:21:50 +02:00
Jonathan White
56307e6cad Enable dark title bar on windows when accent color is not used
* Fix #6775
2022-10-15 17:37:08 -04:00
Jonathan White
1bfb62747c Improve PowerShell Release Tool
* -Vcpkg variable now points to the base directory for VCPKG and not the vcpkg.cmake file (which is always in the same subfolder)
* Place custom CMakeOptions at the end of the options list so they can override default options.
2022-10-15 17:34:40 -04:00
Jonathan White
affff20b49 Fix focus traps
* Fix focus issues with new PasswordWidget
* Fix focus wrapping when DatabaseTabWidget is not showing the tab bar
* Fix focus wrapping in EditWidget views to move between category list and contents. This is not a perfect fix, but Qt has a mind of its own with these complex widgets. This will be fixed in future Ui improvements that move away from the category widget.
2022-10-15 17:33:36 -04:00
Jonathan White
6f64c84c7d Fix crash when application is unfocused during saves
* Fix #8504
2022-10-15 17:33:36 -04:00
Ivan Barsukov
f56fcdd79b Fix grammar mistakes in the documentation 2022-10-05 16:06:17 -04:00
Owen Wang
893b398d73 Fix newlines when copying from DatabaseWidget 2022-10-05 07:32:45 -04:00
louib
db98f114f9
[CLI] Add a db-edit command (#8400) 2022-10-05 07:30:15 -04:00
Wolfram Rösler
b1e7c34b82 Add option to display passwords in color in preview panel
Closes #4099

* Fixed bug in Application that did not set the dark theme flag when the theme was changed from dark to light.
2022-10-03 22:03:36 -04:00
Patrick Klein
54f9b25b52
Add XML Export option to GUI. (#8524)
* Add XML Export option to GUI.

* Update database export screenshot.
2022-10-02 23:04:21 -04:00
Patrick Sean Klein
9366c5c233 Increase entropy required for a "good" rating to 75. 2022-10-02 14:37:51 -04:00
louib
e254cad39e bump the delay for clip timeout tests 2022-10-02 14:35:12 -04:00
JakobDev
ac1347f324 Add German translation to Appdata 2022-10-02 14:34:50 -04:00
Bernhard Kirchen
f9f9a34ba3 entry: remove unread variable in truncateHistory() 2022-10-02 10:30:20 -04:00
Alex Xu (Hello71)
2b4d286de6 Remove --no-add-needed
--no-add-needed is the default behavior since binutils 2.22, released in
2011. This option also breaks lld compatibility.
2022-10-02 10:28:27 -04:00
felipdsa21
e7fe3ff968 Fix dark mode detection on Linux
Fixes #7817
2022-10-02 10:26:33 -04:00
Arnavion
5caf68988e Remove old --pw / --parent-window option from man page
This was removed from the code in 9886b1075f
2022-10-02 08:32:01 -04:00
Carlo Teubner
bb4f5c2e94 Run tests with LANG=en_US.UTF-8
On my system, I have LANG=en_GB set, which causes the following test
failure:

    FAIL!  : TestCli::testInfo() Compared values are not the same
       Actual   (m_stdout->readLine())                                  : "Average password length: 11 character(s)\n"
       Expected (QByteArray("Average password length: 11 characters\n")): "Average password length: 11 characters\n"
       Loc: [tests/TestCli.cpp(876)]

And it so happens that the en_GB translation of that string has
'character(s)' where en_US has 'characters'.
2022-10-02 08:30:35 -04:00
Jonathan White
eaa363d8c0
Fix crash when deleting items in recycle bin while searching (#8117)
* Fix #8099
* Clean up code that connects groups to the entry view. Instead of connecting ALL groups from ALL databases, we only need to connect the groups that entries actually belong to. This solves the bug and also reduces overhead.
2022-09-22 08:40:23 -04:00
Nikolas Grottendieck
d181f80c8c Set new default location hints for Qt on macOS
QT5 as offered by Homebrew is versioned since March 2021 and the default
path points to QT6 (if installed). New installations of qt5 have a
suffixed path (qt@5) that should be used instead.
2022-09-11 22:33:23 -04:00
Jim Heden
33d8b6db62 Add shortcut to copy password with TOTP appended 2022-09-11 11:37:27 -04:00
Damian Rhodes
59e2c38635
Point INSTALL.md checkout reference to latest tag (#8225) 2022-09-11 08:38:53 -04:00
mckeema
dd15db721a Set correct case for database file path on Windows
* Fix #7139 - when opening database files from the command line, ensure the correct case is fed to the program to prevent case changes during saves.
* Cleanup old code (checking for .json extension) from when KeePassXC app could act as a proxy.
2022-09-10 13:35:54 -04:00
varjolintu
ef6d8f1138 Browser: Asynchronous Access Confirm dialog 2022-09-10 13:18:30 -04:00
andreas-ementio
612c1098ea Fix CLI output when using clip with the -t flag
if you use the CLI with -t/--totp flag, the program prints out: "Entry's "password" attribute copied to the clipboard!"
expected output is "Entry's "totp" attribute copied to the clipboard!" the same when you run with -a totp
2022-09-08 06:48:18 -04:00
varjolintu
ed7b634dbf Do not allow expired credentials automatically 2022-09-08 06:48:05 -04:00
Jonathan White
4c1e5ec74c Support numeric aware sorting on Windows and macOS
* Fix #8356 - Qt does not enable numeric aware sorting when using locale sort. Extracted both Windows and macOS locale aware sorting code and added the appropriate numeric aware flag.

Note: There is no std library way to do this so Linux is out of luck for now.
2022-09-08 06:47:14 -04:00
Jonathan White
b0a68ea0de Improve various application icons 2022-09-08 06:46:48 -04:00
Jonathan White
f32dc96757 Show entry count in status bar
Closes #3963
2022-09-08 06:46:48 -04:00
Jonathan White
79ac8b3c95 Fix tabbing around database widget
Fixes #8352
2022-09-08 06:46:48 -04:00
Jonathan White
e5bd5f39fb Use search for showing expired entries on unlock
* Fix #8036 - use search interface to display expiring entries on first unlock.
2022-09-08 06:46:48 -04:00
Jonathan White
dfee59742f Enhance Tags / Saved Searches
* Rename "Database Tags" to "Searches and Tags"
* Separate searching for all entries and resetting the search
* Support selecting multiple tags to search against
* Fix using escaped quotes in search terms
* Make tag searching more precise
* Support `is:expired-#` to search for entries expiring within # days. Exclude recycled entries from expired search.
* Don't list tags from entries that are recycled
* Force hide tag auto-completion menu when tag editing widget is hidden. On rare occasions the focus out signal is not called when the tag view is hidden (entry edit is closed), this resolves that problem.
* Remove spaces from before and after tags to prevent seemingly duplicate tags from being created.
* Also fix some awkward signal/slot dances that were setup over time with the entry view and preview widget.

Allow changing tags for multiple entries through context menu

* Closes #8277 - show context menu with currently available tags in database and checks those that are set on one or more selected entries. When a tag is selected it is either set or unset on all entries depending on its checked state.

* Add ability to save searches and recall them from the "Searches and Tags" view
* Add ability to remove a tag from all entries from the "Searches and Tags" view
* Cleanup tag handling and widgets
2022-09-08 06:46:48 -04:00
Jonathan White
61f922179b Check for write permission before entering portable mode
* Fix #7585
2022-09-07 07:06:23 -04:00
Jonathan White
9e81c31e5a Fix OPVault import when there are multiple OTP fields
* Fix #8371 - store multiple OTP fields as `otp_#` instead of silently discarding them.
2022-09-07 06:48:21 -04:00
Yaroslav Isakov
bdeef63fe4 Allow KeePassXC to be built without X11 2022-09-05 13:52:52 -04:00
Jonathan White
ed693e146d Fix Windows Hello bugs
* Fix #7977 - wrap key signing request in try/catch block to prevent crashes on some machines.
* Fix #8120 - try 3 times to bring Windows Hello prompt to front. This may be necessary on older machines that are slow to bring up the prompt window.

Also remove defunct code on macOS to prevent window focus issues.
2022-09-05 12:24:58 -04:00
Klemens Nanni
14f12b0a25 autostart: Linux: Exec= filename not absolute path
Systems like NixOS install software under unique paths, so persisting
the absolute file path in the generated .desktop file when enabling
autostart will eventually point at an outdated or nonexistent program.

Another possible issue with using Qt's `applicationFilePath()` is that
the final program's basename (`argv[0]`) might not be the same as what
the user initially executed to start KeePassXC.

Use the file name and thus rely on `PATH` lookup just like the static
.desktop file does to lift those issues and defer execution logic
(`PATH` lookup, wrapper scripts, etc.) to the operating system.
2022-09-05 12:23:50 -04:00
Christoph Honal
e05f6a4c5b Hardware keys: Add VivoKey and DT token ATRs
This adds the ATRs of the VivoKey Apex and the
Dangerous Things FlexSecure tokens, in order to
display a human-readable name instead of "Unknown Key".
2022-09-05 11:24:58 -04:00
Dennis
bd809ba90b
TouchID support refactoring (#8311)
Fixes #7695 - Properly set compile flags based on availability of watch unlock in the API.
2022-09-05 10:38:02 -04:00
louib
15b9e82f93
[CLI] Add Option to show all attributes (Show command) (#8256)
* Adding --all option to Show
2022-08-20 22:38:58 -04:00
louib
aa839e2619 Adding top-level fields to CLI commands
The top-level fields are currently not accessible from the CLI, which
makes it impossible to select entries or groups based on the UUID.
There are other top-level fields I believe, like the expiry date,
but I only added the two most critical fields for the moment.
2022-08-20 18:31:30 -04:00
Jonathan White
a6d3f973fa Better handling of "Lock on Minimize" setting
* Fix #1090 - delay locking databases after minimize to allow for clipboard use, Auto-Type use, and browser integration use.

* Fix #6757 - prevent setting both minimize on unlock and lock on minimize settings at the same time.
2022-08-01 18:19:45 -04:00
Jonathan White
dab6d9408e Add setting for number of recent files
* Expose setting to limit the number of recent files. Default is still 5, can be set from 1 to 25.
* Also fix tab order on settings page
2022-07-11 06:55:03 -04:00
Daniel Ziegenberg
6b05b84895 Add Ctrl+Tab shortcut to cycle databases in unlock dialog
The main window has both `Ctrl+PageUp` / `Ctrl+PageDown` and
`Ctrl+Tab / Ctrl+Shift+Tab` shortcuts to cycle the database tabs. When
in PR #5427 the abbility to select any open database in the unlock
dialog was introduced, only the `Ctrl+PageUp` / `Ctrl+PageDown`
shortcuts were added. This commit adds the `Ctrl+Tab / Ctrl+Shift+Tab`
shortcuts to the unlock diaglog to fix this inconsistent UI behaviour.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-07-01 22:29:33 -04:00