1997 Commits

Author SHA1 Message Date
Carlo Teubner
29feb5da79
Passkey importer: fix file picker parent
When selecting "Database → Import Passkey", we show a file picker.
Previously, we did not specify a parent widget for it. This could have
undesirable effects on its presentation. (For example, with the Sway
tiling Wayland compositor, it would show the file picker as a tiled
window rather than a floating one.)

Fix the issue by passing in the parent widget. This is also in line with
all other usages of FileDialog::getOpenFileName() in this project.
2024-06-30 22:23:18 -04:00
Jonathan White
ff89a05743
Show character count in password generator dialog (#10940)
Displays the number of characters in the password field in the password generator dialog. This fixes #10858.
2024-06-30 22:22:59 -04:00
varjolintu
fe7f1e0a51
Passkeys: Fix showing correct username in the reports 2024-06-30 22:10:07 -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
Guido Falsi
3ab7166e63
Correct libusb usage on FreeBSD (#10736)
Change type of Handle on FreeBSD. On FreeBSD the libusb_hotplug_register_callback() function uses a pointer to a struct as a handle.

---------

Co-authored-by: Janek Bevendorff <janek@keepassxc.org>
2024-06-19 17:12:40 -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
Carlo Teubner
b7e6679a58
Search entry: respect shortcut config on Copy key
If the system Copy key sequence (i.e. Ctrl+C or Cmd+C) is pressed while
inside the search entry without any text being selected, previously we
would copy the currently selected entry's password. This made sense when
keyboard shortcuts were fixed. Now that they are configurable, change it
to re-route the event to the main window, which can then take the
appropriate action (i.e. Ctrl+C might be bound to some other action).
2024-06-16 17:39:09 -04:00
Carlo Teubner
071145dd19
App settings: fix widget tab order
Fixes #9765.
2024-06-16 17:20:27 -04:00
Jonathan White
ed3f7f5a16
Improve overall database settings behavior
* Fixes #10723 - only display password strength warning when actively editing the password
* Also improve behavior of minimum quality warning
* Improve behavior and handling of password changes with the database settings dialog
* Prevents loss of newly entered password when toggling between elements in the settings page
* On error, switch to tab that prevents saving database settings for easier correction
2024-06-16 17:19:57 -04:00
Jonathan White
f83cd81ad7
Fix encryption settings behavior
* Fixes #10558
2024-06-16 17:13:11 -04:00
Jonathan White
c3259b2610
Improve CSV import when title field isn't specified
* Fixes #10433
2024-06-16 17:11:33 -04:00
Jonathan White
54afbe6a2f
Improve handling of clipboard actions
* Fix #10804
2024-06-16 17:11:21 -04:00
Jonathan White
cf023253a0
Fix password clear timer inconsistency
* Fixes #10695
2024-06-16 17:11:01 -04:00
Kevin J
8cbbe7cdfc
Fix sidebar resize behaviour (#10641)
* Fix database view splitters resize behaviour
* Set default ratio sizes for first-run based on the size of the database widget itself
* Fix setting splitter sizes before database widget has had a chance to render for the first time
* Disallow collapsing the entry view (source of several bug reports)

Fixes: #10613

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2024-06-16 17:10:06 -04:00
Carlo Teubner
018686afeb
Cleanup compiler warnings on all platforms (#10847)
Fixes #10730.

Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com>
2024-06-16 17:09:48 -04:00
Steve Mokris
42a2443d62
Restore macOS monospace font size prior to #10282 2024-06-02 07:38:10 -04:00
Jonathan White
6fbab25478
Add action item for removing a passkey from entry (#10777) 2024-06-02 07:38:03 -04:00
Frans-Willem Post
95b91a0890
Prevent HTML overflow, fix issue #10647 2024-06-02 07:35:56 -04:00
Jonathan White
6f77d98642
Fix Flatpak config issues
Remove #ifdef guards from Config.h/cpp (no harm to non-Flatpak distros)

Cleanup #ifdef usage in NixUtils.cpp
2024-06-02 07:35:39 -04:00
Jonathan White
1b3abf8ab0
Fix SSH Agent broken decrypt button (#10638)
* SSH Agent: Fix broken decrypt button (Fixes #10637)

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2024-06-02 07:35:25 -04:00
Jonathan White
1125a02d1e
Fix Alt modifier on Windows Auto-Type
* Fixes #10791
2024-06-02 07:33:24 -04:00
Jonathan White
75de62327d
Fix issues with Hardware Key auto detection
* Fix #10656 - Add a small delay when before auto-polling hardware keys to all them to settle immediately after plugging in. This resolves an issue where the key's serial number could not be resolved due to hardware timeout.
* Also fix use of uninitialized variable if polling serial number fails for whatever reason.

* Fix typo in macOS key registration code

* Prevent registering duplicate listeners on window focus. These were not de-registered because we didn't trigger on unfocus. Show/Hide are sufficient triggers to add and remove listeners.
2024-05-05 16:33:23 -04:00
Jonathan White
8f98d390e3
Keep key file text when provided on command line
* Fixes #10552
2024-05-05 16:26:54 -04:00
Jonathan White
c9d71e7781
Passkeys: Register to an existing entry 2024-05-05 16:07:00 -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
ffc72c896c
Fix issues with Entry Editing
* Fix #10653 - prevent category switching if no category was actually hidden/visible. Also properly select a new category when a change is made instead of just changing the widget page.

* Fix apply button still being enabled after it is pressed and successfully committed
2024-05-05 16:04:08 -04:00
egglessness
8c91836038
Add configurable password strength check on database password (#9782)
* Set default value of DatabasePasswordMinimumQuality to 3 (do not accept a master password that is less than Good)

* Add custom message box button "Continue with weak password"
2024-04-29 17:26:06 -04:00
Jonathan White
30d4e36a8b
Prevent KeeShare from merging database custom data
This issue previously caused parent databases to be marked as modified on unlock. This was because of the new protections against byte-by-byte side channel attacks adds a randomized string to the database custom data. We should never be merging database custom data with keeshare or imports since we are merging groups only.

Also prevent overwrite of auto-generated custom data fields, Last Modified and Random Slug.
2024-04-29 09:53:20 -04:00
Jonathan White
43ca4e7dfe
Open links and urls in AppImage
* Fixes #8721
2024-04-29 09:53:16 -04:00
Jonathan White
49fd85c975
Force clear clipboard on Wayland
* Fixes #4498
2024-04-29 09:53:11 -04:00
Jonathan White
c4e27d431a
Fix TOTP being visible on unlock when disabled in settings
* Fixes #9996
2024-04-29 09:52:46 -04:00
Jonathan White
3e9fba7283
Don't remember key file folder if disabled
* Fixes #10557
2024-04-29 09:52:04 -04:00
Jonathan White
d7c054e9b2
Correct minor issues in translations 2024-04-29 09:51:52 -04:00
Jonathan White
485c446013
Fix password generator close button for good
* Avoids using QDialog which breaks the standalone password generator

Revert "Fix password dialog close button"

This reverts commit 5b47190fcc4b2f51fb11849cef7f53346e8fe439.
2024-04-29 07:37:35 -04:00
Jonathan White
a8b60b7b02
Fix crash on screen lock or computer sleep
* Fixes #10455
* Fixes #10432
* Fixes #10415

Prevent setting critical key components to nullptr when database data is cleared. This can result in a crash due to race condition between threads.

Added a bunch of asserts to detect this problem and if guards to prevent actual crashes.
2024-04-28 23:41:45 -04:00
Jonathan White
3b8dc028c1
Improve database encryption settings UX
Fixes #6190

Remove the advanced settings checkbox and replace with a dedicated tab widget interface to toggle between basic and advanced encryption settings.
2024-04-28 23:41:45 -04:00
Jonathan White
bab48b42f7
Add auto-save delay per database (#9100)
Add a new propery autosaveDelay in Metadata of the db.
The property is saved in customData to not affect database structure as this setting is unique to keepasxc.
The propery sets delay to wait since last modification before saving.

Co-authored-by: jNullj <jNullj@users.noreply.github.com>
2024-04-28 23:41:45 -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
Kevin J
d8006e0b76
Add hotkey for group switching (#10625)
* Add hotkey for group switching

Ctrl + Shift + Key_PageUp for previous group
Ctrl + Shift + Key_PageDown for next group
Fixes #4394
2024-04-28 23:41:44 -04:00
Jonathan White
651bcfc904
Remove password repeat application setting
* This removes the application setting to require typing the password in again even though it is visible.
* Removed automatic password repeat when the password is made visible on changing.
2024-04-28 23:41:44 -04:00
Jonathan White
029ccefe22
Only perform group sort when GroupView is focused
* Fixes #10195
2024-04-28 23:41:44 -04:00
Kevin Jerebica
9d714d5b4d
Add hotkey for search-help
Add a new hotkey (CTRL+J) for toggling on/off
the search-help when you are in the search field
Fixes: #4100
2024-04-28 23:41:44 -04:00
Mathieu Oriol
b5827aa25f
Use XDG Desktop Portal to autostart the flatpak 2024-04-28 23:41:18 -04:00
Jonathan White
381eb76f7b
Fix focus loss when using Auto-Type from locked database
* Fixes #10439
2024-04-27 23:35:07 -04:00
varjolintu
50eec240b4
Passkeys: Fix duplicate database selection 2024-04-27 23:35:07 -04:00
Jonathan White
8723b7f6a4
Fix crash when deleting history items
* Fixes #10386
2024-04-27 23:35:07 -04:00
Jonathan White
4b87a3e58e
Fix CSV import skipping over single-name groups
* Fixes #10574
2024-04-27 23:21:02 -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
Sami Vänttinen
305fd24a8e
Passkeys: Fix compatibility with StrongBox (#10420) 2024-04-27 23:20:28 -04:00
Sami Vänttinen
a5c3bf6d9d
Passkeys: Add warning on export (#10411) 2024-04-27 23:20:23 -04:00