Commit Graph

3807 Commits

Author SHA1 Message Date
Jonathan White
cbf7759e7c Improve YubiKey/OnlyKey detection with more than 2 keys
Add a small delay between key polling to let the hardware interface settle. Prevents invalid serial numbers from being pulled messing up the KeePassXC workflow.
2020-06-10 08:56:16 -04:00
Aaron D. Marasco
639a7f91a4 Reduce compiler flag warnings depending on language
Adds ability to list what languages a compiler flag should be used for;
defaults to "C CXX".

Bumps required cmake to 3.3 for IN_LIST (July 2015)
2020-06-09 14:48:51 -04:00
Jonathan White
e5b0219e3f
Update Translations 2020-06-07 21:53:35 -04:00
Jonathan White
fbebf30b98 Fix permissions changing on database save
* Saving a database in unsafe mode retains the existing permissions on the kdbx file
* New databases (save as, save backup, new database) and new key files are saved with 0600 permissions (user read/write), fixes #2575
2020-06-07 16:00:56 -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
JMcKiern
6c9125402a
Cleanup welcome screen recent databases view (#4822)
* Press "Delete" to remove recent database
* Refresh recent databases on becoming visible
2020-06-06 08:26:46 -04:00
Jonathan White
712b8224c6
Decrease default database icon size to 22px
* Aligns better with entry text and condenses group list
2020-06-04 17:35:59 -04:00
Jonathan White
e039006667 Check for updates every 7 days while running
* Check every hour to see if another update check should be performed. Nothing actually happens unless 7 days has elapsed since the last update check.
* Fixes #3706
2020-06-04 10:03:40 -04:00
Jonathan White
f129768f07 Improve AutoOpen
* Add support for 'ifDevice' feature, closes #2871
* Resolve placeholders for username and password to support references, fixes #2078
* Add support for open databases from an entry when the url starts with 'kdbx://'. Uses the same syntax as AutoOpen. Closes #1536.
2020-06-04 10:03:40 -04:00
Jonathan White
b7104be689 Prevent overwriting of portable config on update
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
2020-06-04 10:03:40 -04:00
Jonathan White
9d10792640 Update edit entry widget when backing entry changes
* Fixes #4060
* Also fix not emitting entryModified() when history is truncated. This possibly fixes other crashes with apply button when the history is truncated and then the history page is shown with a deleted entry.
2020-06-04 10:03:40 -04:00
Jonathan White
2073f2ddc3 Fix theming with Qt 5.15
* Fixes #4765
* Fixes #4766
2020-06-04 10:03:40 -04:00
Jonathan White
6f5e13815c Fix resolving resources when running from build directory
* Copy wordlists to build dir share folder
* Change resource path resolution to only test the provided directory, not finding a specific file
2020-06-04 10:03:40 -04:00
Jonathan White
c830f85c09 Various minor bug fixes / enhancements
* Fix issues when Config options were renamed
* Fix compile issues when using clang 10
* Rearrange database menu icons and import database menu icons
* Set minimum size of MainWindow to 800 to prevent search bar from hiding
* Fix not saving password generator options when closing the standalone generator
* Add headers to health check reports
* Don't show hidden content dots when notes are hidden but empty.

* Fix saving new database files in SMB shares on Windows, fixes #4809

* Gracefully handle duplicate attachments :
Instead of bailing out with an error, prepend a random string to the name of duplicate attachment records. This prevents data loss from other programs that mishandled KDBX XML writing. Fixes #2493

* Properly handle blocked import of signed KeeShare database, fixes #4413
2020-06-04 10:03:40 -04:00
Janek Bevendorff
e36cba703e Fix loading of tray icon appearance setting.
The tray icon appearance setting is null by default, since we do not
want to include OSUtils into Config. As a result, we must take special
care to preselect the correct combo box entry on the settings page.
2020-06-04 14:21:38 +02:00
Aaron D. Marasco
a91358e7bf Squash of previous remove_shadows branch 2020-06-02 15:56:16 +02:00
Aaron D. Marasco
2d945bc215 Fix memory leak in test 2020-06-01 18:43:50 +02:00
Janek Bevendorff
3095e29507 Optimise KeePassXC logo icons and improve compatibility.
- Reduce SVG complexity and clean up unnecessary paths
- Recreate monochrome icons for better rendering at low resolutions
- Export as minified SVG Basic 1.1 without style elements
- Recreate 256x256 PNG from optimised SVG
2020-06-01 14:42:28 +02:00
Janek Bevendorff
4f75432fc6 Add option for monochrome tray icon 2020-05-31 00:26:14 +02: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
5c69875b59
Merge pull request #4699 from wolframroesler/feature/feature/4071-database-icons 2020-05-29 10:38:34 -04:00
Janek Bevendorff
4de99cfe8e
Extract highest resolution from downloaded ICO files 2020-05-29 10:00:32 -04:00
Jonathan White
b5554e05d8
Improve application icons
* Add icons for Database Import, Database Export, and Recent Databases
* Change app exit icon to be distinct from export icon
* Updated and ran makeappicons.sh
2020-05-29 10:00:32 -04:00
Jonathan White
90d5372813
Replace database icons with SVG's
Original source of icons is the icon8 library (http://icons8.com/c/flat-color-icons) and Paomedia (https://github.com/paomedia/small-n-flat). All icons used are licensed MIT or CC0; annotated in COPYING.

* Closes #4071

* Increase default size of database icons to 24px and entry preview panel to 48px
* Add shell script to assemble the database icons

* Use QIcon to seamlessly support High DPI displays and pixmap caching
* Add badge support for KeeShare groups and expired entries.
* Guard against use of QPixmap::fromImage without a GUI

* Add SVG minify and improve `make icons`

Co-authored-by: Wolfram Rösler <wolfram@roesler-ac.de>
2020-05-29 10:00:32 -04:00
Aetf
229a756d84
Merge pull request #4232 from Aetf/feature/fdo-secrets-unittests
FdoSecrets: Add unit tests for secret service integration
2020-05-28 21:37:42 -04:00
Aetf
a1f599c7c4 Add an option to EntrySearcher to skip protected attributes 2020-05-27 22:07:25 -04:00
Aetf
b849fdead5 FdoSecrets: fix new db created from DBus but not saved yet is not exposed by default 2020-05-27 22:07:25 -04:00
Aetf
463bb0b03f FdoSecrets: fix prompt completed signal argument type 2020-05-27 22:07:25 -04:00
Aetf
44779bc862 FdoSecrets: add unit tests 2020-05-27 22:07:25 -04:00
Janek Bevendorff
af6493b07b Hide window and dock icon on macOS when tray enabled.
Transforms application into a UIElement agent app when
minimize to tray is enabled and the window is hidden.
This hides the dock icon and removes the application
from the Cmd+Tab listing. The changes work well together
with macOS's inbuilt hide feature.

Also fixes the buggy tray icon context menu trigger behaviour.
macOS triggers the tray context menu also on normal left
click, which causes the window to toggle at the same time
as the menu. To fix this, window toggling has been disabled
altogether on macOS and users will be shown only the context
menu from now on.

Fixes #1334
2020-05-27 10:55:11 +02:00
Foaly
b17b9683e1 Check correct CMake flag. 2020-05-26 13:34:25 -04:00
Aetf
1fbddf4149 Fix DatabaseTabWidget::lockDatabases returns false even when all tabs are locked 2020-05-24 16:56:02 -04:00
Prabesh Paudel
443614a375 Issue warning before allowing large attachments
Fixes #3782
2020-05-23 13:04:01 -04:00
Toni Spets
a83345d136 SSH Agent: Reset settings when KeeAgent.settings is removed
Fixes #4594
2020-05-23 11:30:31 -04:00
Andrew Meyer
98566fec83 Correct 'save as' behavior to ensure file path remains valid
Copy necessary saving sequence from the save function into saveAs function to prevent inconsistencies when saving to a new file.
2020-05-23 08:44:08 -04:00
Holger Böhnke
eb198271ac Add natural sort of entry list
Introduce a third unsorted status that shows entries in the order they occur in the KDBX file.

* Add keyboard shortcut Ctrl+Alt+Up/Down to move entries up and down in sort order
* Add entry context menu icons to achieve movement up/down
* Only show menu icons when in natural sort order
* Add Material Design icons for moving up/down

* Add feature to track non-data changes and force a save on exit to ensure they are not lost when locking a database. This allows users to make entry movements and group expand/collapse operations and not lose that state.

Remove saveas
2020-05-22 12:13:20 -04:00
varjolintu
43c82ccb09 Custom browser feature for Linux/macOS
* Also move "search in all databases" to the general tab
2020-05-21 14:13:45 -04:00
stingray21
d863496f62 Add DB_DIR placeholder for autoopen urls 2020-05-21 14:13:18 -04:00
Janek Bevendorff
bcb64a231f Use Segoe UI font on Windows.
Qt uses "MS Shell Dlg 2" as the default font, which resolves to
Tahoma and not Segoe UI, which is the actual Windows 10 default font.

See QTBUG-58610
2020-05-21 18:54:03 +02:00
Toni Spets
a1b4a3f8b7 SSH Agent: Track which database owns a key for remove-on-lock
Fixes #4532
2020-05-19 09:23:41 -04:00
Toni Spets
9e17d52e8e SSH Agent: Fix attachment data not updating before apply
Fixes regression since #3833 was merged
2020-05-19 09:22:15 -04:00
varjolintu
92a7fe33bd Use unlock dialog when unlocking a database from browser extension 2020-05-19 08:30:10 -04:00
Andrew Meyer
09f5a74a15 Make 'show/hide passwords' toggle temporary
Deprecates the 'hide passwords' setting in config. Passwords are always hidden on application startup.
2020-05-19 08:29:41 -04:00
Janek Bevendorff
3dc8b7a5d0 Add button to hide pre-release warning for this release. 2020-05-18 23:57:24 +02:00
varjolintu
e367c6df95 Fix merging browser keys
* Introduce protected custom data function to prevent loss during merge operations
2020-05-16 17:41:10 -04:00
varjolintu
48bf4fb85d Fix annoyances with access control dialog
* Don't send database locked/unlocked messages when "search in all databases" is enabled
* After access control dialog closes, only hide main window on macOS, and then only if previously hidden.
2020-05-16 17:40:49 -04:00
Andrew Meyer
45848c3f61 Implement 'Save Database Backup' option
Add an option in the 'Database' menu to save a backup of the current database.

Add unit test for saving database copy

* Open a test database, mark it as modified, and save a copy
* Fail if the copy is not a valid database
* Fail if the original database is saved
* Fail if the original database is no longer marked as modified
2020-05-16 11:00:27 -04:00
Jonathan White
2237cf0188 Fix browser socket path for proxy and app
* Prefer hardcoded string, we never want this server name to change due to arbitrary reasons.
2020-05-15 20:48:51 -04:00
Jonathan White
689a85a071 Make GUI tests more robust for CI 2020-05-16 00:47:01 +02:00
varjolintu
287e822e02 Allow manual editing of browser extension connection keys 2020-05-14 23:29:50 -04:00