-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix sorting of database report columns #5426
Fix sorting of database report columns #5426
Conversation
Unfortunately this isn't a fix to the problem for every column. |
With this PR the columns use for sorting the values as follows:
HIBP:
What are the columns that don't convince you? |
I redid your code to use standard Qt methods and also allow proper sorting of the HIBP count column. |
Sorry I totally screwed this up by rebasing my commit over yours. |
All fixed now. |
* Fixes #4976
Added - Add option to keep window always on top to view menu [#5542] - Move show/hide usernames and passwords to view menu [#5542] - Add command line options and environment variables for changing the config locations [#5452] - Include TOTP settings in CSV import/export and add support for ISO datetimes [#5346] Changed - Mask sensitive information in command execution confirmation prompt [#5542] - SSH Agent: Avoid shortcut conflict on macOS by changing "Add key" to Ctrl+H on all platforms [#5484] Fixed - Prevent data loss with drag and drop between databases [#5536] - Fix crash when toggling Capslock rapidly [#5545] - Don't mark URL references as invalid URL [#5380] - Reset entry preview after search [#5483] - Set Qt::Dialog flag on database open dialog [#5356] - Fix sorting of database report columns [#5426] - Fix IfDevice matching logic [#5344] - Fix layout issues and a stray scrollbar appearing on top of the entry edit screen [#5424] - Fix tabbing into the notes field [#5424] - Fix password generator ignoring settings on load [#5340] - Restore natural entry sort order on application load [#5438] - Fix paperclip and TOTP columns not saving state [#5327] - Enforce fixed password font in entry preview [#5454] - Add scrollbar when new database wizard exceeds screen size [#5560] - Do not mark database as modified when viewing Auto-Type associations [#5542] - CLI: Fix two heap-use-after-free crashes [#5368,#5470] - Browser: Fix key exchange not working with multiple simultaneous users on Windows [#5485] - Browser: Fix entry retrieval when "only best matching" is enabled [#5316] - Browser: Ignore recycle bin on KeePassHTTP migration [#5481] - KeeShare: Fix import crash [#5542] - macOS: Fix toolbar theming and breadcrumb display issues [#5482] - macOS: Fix file dialog randomly closing [#5479] - macOS: Fix being unable to select OPVault files for import [#5341]
Fixed columns sorting in HealthCheck and HIBP widgets in database report (#4976).
I'm not a Qt developer, but I wanted to try to contribute anyway; so if this PR does not reflect the programming patterns of this project, please feel free to reject it.
Since in both widgets the columns need to be sorted in a particular way (eg in HIBP widget the exposed password numbers are displayed as words but they must be sorted as digits), in this PR I suggest to apply Qt::UserRole as SortRole to the tables. In this way, each field has two values: a textual one which is displayed to the user and one set with setData() for internal use for sorting.
I also added that by default the tables are sorted in order to have the most exposed passwords or passwords with the lowest score at the top.
Screenshots
Testing strategy
I have visually tested my changes before doing the PR and they seem to be ok (no compilation errors, no crashes found, all unit tests passed, sorting seems to work with both positive and negative numbers).
Type of change