Skip to content
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

Merged
merged 1 commit into from
Oct 19, 2018

Conversation

varjolintu
Copy link
Member

@varjolintu varjolintu commented Oct 17, 2018

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):

database-selection

Types of changes

  • ✅ New feature (non-breaking change which adds functionality)

Checklist:

  • ✅ I have read the CONTRIBUTING document. [REQUIRED]
  • ✅ My code follows the code style of this project. [REQUIRED]
  • ✅ All new and existing tests passed. [REQUIRED]
  • ✅ I have compiled and verified my code with -DWITH_ASAN=ON. [REQUIRED]

@droidmonkey
Copy link
Member

Can you also output the database name (if available), not just the file, in the dialog?

@varjolintu
Copy link
Member Author

varjolintu commented Oct 18, 2018

@droidmonkey It already does that. See line 677. But I guess you meant both at the same time?

@droidmonkey
Copy link
Member

droidmonkey commented Oct 18, 2018

Yes sir.

[DB_NAME] (FILENAME)

@varjolintu varjolintu force-pushed the entry_save_dialog branch 3 times, most recently from 503c33d to 27ec2ac Compare October 18, 2018 13:53
@varjolintu
Copy link
Member Author

@droidmonkey Fixed. Screenshot is also updated.

src/browser/BrowserEntrySaveDialog.cpp Show resolved Hide resolved
QList<QListWidgetItem*> BrowserEntrySaveDialog::getSelected() const
{
return ui->itemsList->selectedItems();
}
Copy link
Member

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 Show resolved Hide resolved
QList<QListWidgetItem *> getSelected() const;

private:
QScopedPointer<Ui::BrowserEntrySaveDialog> ui;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

m_ui


public:
explicit BrowserEntrySaveDialog(QWidget* parent = nullptr);
~BrowserEntrySaveDialog();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

override

return widgetList;
}

QString DatabaseTabWidget::getTabName(DatabaseWidget* dbWidget, const bool includeFilename) const
Copy link
Member

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) {
Copy link
Member

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));
Copy link
Member

@droidmonkey droidmonkey Oct 18, 2018

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.

@varjolintu
Copy link
Member Author

@droidmonkey Moved the file and tab name functionality to DatabaseWidget instead. Screenshot updated (also showing an unsaved database that is connected to KeePassXC-Browser).

@droidmonkey droidmonkey merged commit b8d2d5d into keepassxreboot:develop Oct 19, 2018
@varjolintu varjolintu deleted the entry_save_dialog branch October 21, 2018 16:49
droidmonkey added a commit that referenced this pull request Mar 19, 2019
- 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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants