Commit graph

458 commits

Author SHA1 Message Date
xboxones1
fdd3985af9 Fix markdown type for >= QT 5.15.18 (#12654) and advance vcpkg baseline
- Fix markdown type for >= QT 5.15.18 (#12654)

- Fix deprecation warnings about implicit capturing of "this"

- Advance vcpkg baseline to fix macOS Qt building
  Fixes Qt build errors on macOS 26 Tahoe.
  See https://github.com/microsoft/vcpkg/pull/48298
2025-11-23 22:45:57 +01:00
Sebastian Livoni
d7c7ce4cc4
Add Window menu for macOS and specify Help menu to AppKit (#12357)
* Add Window menu for macOS and specify Help menu to AppKit
* Fix potential NSString dangling pointers of temporary QStrings
2025-11-02 10:19:26 -05:00
Xì Gà
7dfeb47212
Open TOTP setup dialog if entry has no valid TOTP set (#12584)
---------

Co-authored-by: x <a@b.c>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-11-01 10:17:52 -04:00
Copilot
4abecd7d5c
Fix incorrect "Restore Entry" option shown for non-recycle bin items in search results (#12198)
---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:52:05 -04:00
xboxones1
ca583f5ed1
Several ui fixes (#11967)
* Fix background color error for invalid autotype shortcut

* Fix alignment in autotype settings

* Fix contrast for splitter handle

* Fix font size reset when changing theme

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:52:02 -04:00
Jonathan White
09d719d48f
Update base translations and improve consistency (#12432)
* Improve confirmation prompts and tooltips for delete actions in the GUI

* Fixes #10543
2025-10-25 19:28:22 -04:00
WillyJL
7e575c68e2
Fix keyboard shortcuts when menubar is hidden (#12431)
---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:27:03 -04:00
Juzu-O
af753f003e
Add URL auto-type and copy options to auto-type selection popup and menus (#12341)
* Added "Type {URL}" option to the auto-type selection popup right-click context menu
* Added "Copy {URL}" option to the auto-type selection popup right-click context menu
* Added keyboard shortcuts: CTRL+4 for "Type {URL}" and CTRL+SHIFT+4 for "Copy {URL}"
* Updated "Use Virtual Keyboard" shortcut from CTRL+4 to CTRL+5 to avoid inconsistency with order of shortcuts
* Added URL auto-type options "{URL}" and "{URL}{ENTER}" to main window entry view right-click menu
* Added URL auto-type options "{URL}" and "{URL}{ENTER}" to toolbar auto-type button dropdown menu
* Added translation strings for "Type {URL}" and "Copy {URL}" to support internationalization

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: juzu-o <3142026+juzu-o@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:25:36 -04:00
Jonathan White
8075a98f1b
Improve inactivity timer
* Fix #11957
* Prevent resetting the timer hundreds of times per second
* Improve code flow for inactivity timer in general
2025-10-25 19:20:35 -04:00
Jonathan White
df1035a31d
Require Qt >= 5.12
Bump the minimum required Qt version up to 5.12, as per
https://github.com/keepassxreboot/keepassxc/issues/10859#issuecomment-2148477826.
Previously, the minimum version was 5.2.0 based on the CMakeLists.txt
check, though it's unclear if such old versions would actually work.

With this, we are able to remove a whole bunch of #ifdef'd code.
2025-10-25 18:59:21 -04:00
Jonathan White
f7fedaa441
Disable save button when viewing non-database screens
* Fixes #11662 - disable the save button when viewing Password Generator and Application Settings to restore previous behavior of toolbar
2025-06-19 17:48:56 -04:00
Jonathan White
ce9e5551fe
Fix minor issues with tags context menu
* Fixes #11808
* Don't show tear off menu or option to tear off if there are no tags
* Fix "No Tags" not being shown on first hover
* Fix issues when using a tag named "No Tags"
* Fix #12153 - tags becoming unsorted in the context menu when switching between database tabs
2025-06-19 17:48:54 -04:00
xboxones1
3d8dac0c53
Dynamically change the status bar color depending on the current screen (#11672)
* Revert (https://github.com/keepassxreboot/keepassxc/pull/11455)
* Do not use styles for QStatusBar
* Dynamically change the status bar color depending on the current screen
2025-02-23 16:19:07 -05:00
Jonathan White
beb314d7c7
Support tearing off tags menu (#11652)
* Support tearing off tags menu
* Closes #11649 - tags menu can be torn off to set and unset tags without having to dive into the context menu every time.
* Tags menu will hide when database is locked or view is switched away from the main database view (eg, settings)
2025-02-22 20:45:24 -05:00
Jonathan White
089d0ca2b7
Prevent AltGr showing the menubar on Windows
* Fixes #11549
2025-02-22 07:41:49 -05:00
Jonathan White
5ad6562578
Refactor Database Settings (#9485)
Includes following changes:

* Encryption Settings now has a similar key with the new database wizard for switching between Advanced and Simple Settings
* The extra UI layer DatabaseSettingsDialog.ui has been removed. DatabaseSettingsDialog class now inherits EditWidget instead of DialogyWidget (just like Application Settings).
* Extra classes for separate page settings (DatabaseSettingsPageFdoSecrets, DatabaseSettingsPageKeeShare) have been removed. Instead the widgets are used directly in DatabaseSettingsDialog. Same could be done later to Application

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-02-10 19:16:31 -05:00
Jonathan White
f48dcb3dba
Implement function to clear all ssh-agent identities (#10649)
Fixes #8346

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-02-02 09:47:00 -05:00
Jonathan White
57235219f2
Fix issues with reloading and handling of externally modified db file (#10612)
Fixes #5290
Fixes #9062
Fixes #8545

* Fix data loss on failed reload

- External modifications to the db file can no longer be missed.
- Fixed dialogFinished signal of DatabaseOpenDialog was not emitted when dialog was closed via the 'X' (close) button
- For reloading with a modified db, an additional choice has been added to allow the user to ignore the changes in the file on disk.
- User is now presented with an unlock database dialog if reload fails to open the db automatically. For example when the user removed the YubiKey, failed to touch the YubiKey within the timeout period, or db pw has been changed.
- Mark db as modified when db file is gone or invalid.
- Prevent saving when db is being reloaded
- If merge is triggered by a save action, continue on with the save action after the user makes their choice

---------

Co-authored-by: vuurvlieg <vuurvli3g@protonmail.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-02-02 09:43:02 -05:00
Jonathan White
4e40a7fd79
Allow adjusting application font size
* Closes #6822
* Fix fixed font not following default font's point size
2025-02-02 09:27:11 -05:00
Jonathan White
fbad1b51f0
Add ability to expire entries from context menus (#8731)
Closes #1972

Add ability to immediately expire an entry from the context menu

---------
Co-authored-by: Jonathan White <support@dmapps.us>
2025-01-19 09:29:47 -05:00
varjolintu
abf5a2ef8b
Fix setting window title as modified 2025-01-19 09:28:42 -05:00
xboxones1
18cdbb3f5a
Hide status bar on WelcomeScreen 2024-12-21 23:40:06 -05:00
Sami Vänttinen
da606923e9
Browser: Fix cancel with database unlock dialog (#11435) 2024-12-21 23:39:58 -05:00
Jonathan White
c6800bf705
Hide the menubar when menus lose focus (if toggled off)
* Fixes #10768
* Also fix menubar toggling not working if Qt version is less than 5.15
2024-12-21 23:26:49 -05:00
Jonathan White
c12b0c5568
Improve related splitter UX
* 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
2024-12-21 23:25:45 -05:00
Jonathan White
3c26709da9
Overhaul action states and add icons to toolbar
* Fixes #10981
2024-10-07 18:07:15 -04:00
Jonathan White
413eec9b8c
Add Import/Export to application settings
* 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
2024-10-07 17:49:58 -04:00
Jonathan White
78cff4b6d9
Fix copy-to-clipboard shortcut on macOS
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.
2024-08-13 22:49:16 -04:00
Michal Suchanek
a0b8abecb8
Increase the time interval for window show workaround
When the keepassxc window is shown something generetes a hide event, and it is hidden again immediately.

The 50ms interval for avoiding hiding the window when shown is not enough, even on modern systems.

Make the interval longer.
2024-06-30 22:09:21 -04:00
Jonathan White
48bf993ac5
Fix Copy Password button when text is selected
When the user chooses to copy the password for an entry to the clipboard, previously there was logic to check if text was selected, and if so, that text was instead copied to the clipboard. That made sense if
(a) the user invoked the Copy Password action via its keyboard shortcut, and (b) that keyboard shortcut was configured (as per default) to be Ctrl-C, i.e. the same as the system action for copy-to-clipboard.

However, it made no sense if the user invoked that action in some other way, for example by clicking the corresponding toolbar button.

It also made no sense in the case that the Copy Password action had some other keyboard shortcut assigned. Also, if some other action had Ctrl-C assigned, the logic would not kick in then.

Fix all of the above by modifying the keyboard shortcut logic to intervene precisely in the case where a shortcut is pressed that matches the system copy-to-clipboard shortcut; only in that case do we now check if text is selected and if so copy that to the clipboard instead of the action we would otherwise take.

Fixes #10734.
2024-06-19 15:50:52 -04:00
Jonathan White
6fbab25478
Add action item for removing a passkey from entry (#10777) 2024-06-02 07:38:03 -04:00
Jonathan White
505f338d28
Fix issues with locking database
* Fix #6593 - force close any modal dialogs associated with a database widget that is being locked.

* Partial fix for #721 but doesn't address the problem of needing to save a modified entry or database while locking.

* Also improves import dialog behavior if databases(s) lock while it is visible.
2024-05-05 16:04:14 -04:00
Jonathan White
43ca4e7dfe
Open links and urls in AppImage
* Fixes #8721
2024-04-29 09:53:16 -04:00
Jonathan White
775efc65ed
QMenubar option to show/hide itself (#10341)
--------

Co-authored-by: Mikko Saarinki <mikko.saarinki@michaelkingston.fi>
Co-authored-by: Jonathan White <support@dmapps.us>
2024-04-28 23:41:44 -04:00
varjolintu
f61f55fff7
Passkeys: Enable Import Passkey entry menu item only if a single entry is selected 2024-04-27 23:20:33 -04:00
Jonathan White
18cfbf729c Add 1Password 1PUX and Bitwarden JSON Importers
* Closes #7545 - Support 1Password 1PUX import format based on https://support.1password.com/1pux-format/

* Closes #8367 - Support Bitwarden JSON import format (both unencrypted and encrypted) based on https://bitwarden.com/help/encrypted-export/

* Fixes #9577 - OPVault import when fields have the same name or type

* Introduce the import wizard to handle all import tasks (CSV, KDBX1, OPVault, 1PUX, JSON)

* Clean up CSV parser code to make it much more efficient and easier to read

* Combine all importer tests (except CSV) into one test file
2024-03-09 15:21:46 -05:00
Jonathan White
c477f43c40 Passkeys: Add support for importing Passkey to entry (#9987)
---------
Co-authored-by: Jonathan White <support@dmapps.us>
2024-01-30 18:26:45 -05:00
Jonathan White
416581b179 Add basic support for WebAuthn (Passkeys) (#8825)
---------

Co-authored-by: varjolintu <sami.vanttinen@protonmail.com>
Co-authored-by: droidmonkey <support@dmapps.us>
2024-01-30 18:26:45 -05:00
Jonathan White
3e6b118267
Improve colorful lock icon for system tray (#9632)
* Fix #9432
* Simplify tray icon selection code
* Update all icons with latest export
* Fix MIME type icon appearance on KDE
---------
Co-authored-by: Janek Bevendorff <janek@keepassxc.org>
2023-08-14 21:40:13 -04:00
Jonathan White
f293aad74f
Enable save button when not auto-saving non-data changes (#9634)
* Fix #9501
* Also fix bug where context menu did not update when entry moved to very top or bottom of list
2023-08-14 07:04:33 -04:00
Jonathan White
5804e63559
Move toolbar back to top of main window when unmovable
* Fix #9384
2023-08-06 15:49:24 -04:00
varjolintu
cdf6cd7cd2
Disable entry level Auto-Type 2023-08-05 07:29:14 -04:00
Jonathan White
a81771207f
Windows: Prevent white flicker when showing main window (#9637)
* Fixes #9603
2023-08-05 07:28:50 -04:00
Jonathan White
6182b605c0
Fix various accessibility issues (#9138)
Enable buddy fields in group and entry edit pages
* Fixes #9060, you can now press Alt + [letter] to skip between fields on the group and entry edit pages.
* Move the expire checkbox to the right hand column and use the standard eye icon button for notes reveal. Only show notes reveal button if the hide notes setting is enabled.

Fix overflow of text in default auto-type sequence preview
* Fixes #9083

Add copy title shortcut (Ctrl + I)
* Closes #9109

Fix issues with menu actions being enabled incorrectly

Add accessibility description to password widget to explain how to hide/show passwords and open the generator
* Closes #9059

Add F6 shortcut to focus search
* Closes #9163
2023-04-16 07:16:19 -04:00
Jonathan White
881e6b5a8b
Fix temporary screencapture showing phantom windows
* Fix #9200
2023-04-03 23:21:14 -04:00
Jonathan White
90bbb66409
Add menu option to allow screenshots
* Fix #7580
* Also refactor the code to move everything into MainWindow
2023-02-25 14:20:48 -05:00
Jonathan White
df40742223
Fix status bar update when switching to other DB (#9073)
* Gui tests: add validation of StatusBarLabel in some tests
2023-02-19 08:28:59 -08:00
Dmytro Maslenko
27668b81a5
Set shortcuts for settings and database settings
* Open app settings with Ctrl+,
* Open database settings with Ctrl+Shift+,
* Open database reports with Ctrl+Shift+R
2023-02-18 14:13:53 -08:00
Dmytro Maslenko
9253a59f05
Move 'Copy URL' into main entry context menu 2023-02-18 14:05:07 -08:00
Patrick Klein
dc07f01418 Add XML Export option to GUI. (#8524)
* Add XML Export option to GUI.

* Update database export screenshot.
2022-10-16 19:17:02 -04:00