-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Choose database for saving or updating entries from KeePassXC-Browser #2391
Choose database for saving or updating entries from KeePassXC-Browser #2391
Conversation
b5343c4
to
631f468
Compare
Can you also output the database name (if available), not just the file, in the dialog? |
@droidmonkey It already does that. See line 677. But I guess you meant both at the same time? |
Yes sir. [DB_NAME] (FILENAME) |
503c33d
to
27ec2ac
Compare
@droidmonkey Fixed. Screenshot is also updated. |
QList<QListWidgetItem*> BrowserEntrySaveDialog::getSelected() const | ||
{ | ||
return ui->itemsList->selectedItems(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing newline at end
src/browser/BrowserEntrySaveDialog.h
Outdated
QList<QListWidgetItem *> getSelected() const; | ||
|
||
private: | ||
QScopedPointer<Ui::BrowserEntrySaveDialog> ui; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
m_ui
src/browser/BrowserEntrySaveDialog.h
Outdated
|
||
public: | ||
explicit BrowserEntrySaveDialog(QWidget* parent = nullptr); | ||
~BrowserEntrySaveDialog(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
override
src/gui/DatabaseTabWidget.cpp
Outdated
return widgetList; | ||
} | ||
|
||
QString DatabaseTabWidget::getTabName(DatabaseWidget* dbWidget, const bool includeFilename) const |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be better to refactor so that the databaseWidget knows what it's filename is and you query it directly. We are perpetuating the terrible code that is databaseTabWidget...
{ | ||
uint counter = 0; | ||
int activeIndex = -1; | ||
for (const auto i : databaseWidgets) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
const auto dbWidget
int activeIndex = -1; | ||
for (const auto i : databaseWidgets) { | ||
QListWidgetItem* item = new QListWidgetItem(); | ||
item->setText(dbTabWidget->getTabName(i, true)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed in an earlier comment, I would rather this come directly from the databaseWidget itself. We should not be extending the databaseTabWidget anymore.
9258eaa
to
c175cdb
Compare
@droidmonkey Moved the file and tab name functionality to DatabaseWidget instead. Screenshot updated (also showing an unsaved database that is connected to KeePassXC-Browser). |
c175cdb
to
a661646
Compare
- New Database Wizard [#1952] - Advanced Search [#1797] - Automatic update checker [#2648] - KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739] - Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439] - Remove KeePassHttp support [#1752] - CLI: output info to stderr for easier scripting [#2558] - CLI: Add --quiet option [#2507] - CLI: Add create command [#2540] - CLI: Add recursive listing of entries [#2345] - CLI: Fix stdin/stdout encoding on Windows [#2425] - SSH Agent: Support OpenSSH for Windows [#1994] - macOS: TouchID Quick Unlock [#1851] - macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583] - Linux: Prevent Klipper from storing secrets in clipboard [#1969] - Linux: Use polling based file watching for NFS [#2171] - Linux: Enable use of browser plugin in Snap build [#2802] - TOTP QR Code Generator [#1167] - High-DPI Scaling for 4k screens [#2404] - Make keyboard shortcuts more consistent [#2431] - Warn user if deleting referenced entries [#1744] - Allow toolbar to be hidden and repositioned [#1819, #2357] - Increase max allowed database timeout to 12 hours [#2173] - Password generator uses existing password length by default [#2318] - Improve alert message box button labels [#2376] - Show message when a database merge makes no changes [#2551] - Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790] - Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
When updating or creating credentials from KeePassXC-Browser an additional dialog is shown.
Description
If the user has multiple open databases and credentials are saved or updated from KeePassXC-Browser, a popup dialog is displayed where the correct one must be choosed (or cancel the operation).
The current active database is selected by default.
Motivation and context
Fixes #1791.
How has this been tested?
Manually. Because of the changed, I'll add some new tests for DatabaseTabWidget if necessary.
Screenshots (if appropriate):
Types of changes
Checklist:
-DWITH_ASAN=ON
. [REQUIRED]