diff --git a/src/browser/BrowserAccessControlDialog.cpp b/src/browser/BrowserAccessControlDialog.cpp index b3d9944d37..555072d2eb 100644 --- a/src/browser/BrowserAccessControlDialog.cpp +++ b/src/browser/BrowserAccessControlDialog.cpp @@ -23,9 +23,8 @@ #include "core/Entry.h" #include "gui/Icons.h" -BrowserAccessControlDialog::BrowserAccessControlDialog(QWidget* parent) - : QDialog(parent) - , m_ui(new Ui::BrowserAccessControlDialog()) +BrowserAccessControlDialog::BrowserAccessControlDialog() + : m_ui(new Ui::BrowserAccessControlDialog()) { setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); diff --git a/src/browser/BrowserAccessControlDialog.h b/src/browser/BrowserAccessControlDialog.h index 3ecf5b506e..d8301b291c 100644 --- a/src/browser/BrowserAccessControlDialog.h +++ b/src/browser/BrowserAccessControlDialog.h @@ -41,7 +41,7 @@ class BrowserAccessControlDialog : public QDialog Q_OBJECT public: - explicit BrowserAccessControlDialog(QWidget* parent = nullptr); + explicit BrowserAccessControlDialog(); ~BrowserAccessControlDialog() override; void setEntries(const QList& entriesToConfirm, const QString& urlString, bool httpAuth); diff --git a/src/browser/BrowserPasskeysConfirmationDialog.cpp b/src/browser/BrowserPasskeysConfirmationDialog.cpp index 50bdfbc49f..ba429f4259 100644 --- a/src/browser/BrowserPasskeysConfirmationDialog.cpp +++ b/src/browser/BrowserPasskeysConfirmationDialog.cpp @@ -24,9 +24,8 @@ #define STEP 1000 -BrowserPasskeysConfirmationDialog::BrowserPasskeysConfirmationDialog(QWidget* parent) - : QDialog(parent) - , m_ui(new Ui::BrowserPasskeysConfirmationDialog()) +BrowserPasskeysConfirmationDialog::BrowserPasskeysConfirmationDialog() + : m_ui(new Ui::BrowserPasskeysConfirmationDialog()) , m_passkeyUpdated(false) { setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); diff --git a/src/browser/BrowserPasskeysConfirmationDialog.h b/src/browser/BrowserPasskeysConfirmationDialog.h index 6e262ffda4..7a11e6acce 100644 --- a/src/browser/BrowserPasskeysConfirmationDialog.h +++ b/src/browser/BrowserPasskeysConfirmationDialog.h @@ -34,7 +34,7 @@ class BrowserPasskeysConfirmationDialog : public QDialog Q_OBJECT public: - explicit BrowserPasskeysConfirmationDialog(QWidget* parent = nullptr); + explicit BrowserPasskeysConfirmationDialog(); ~BrowserPasskeysConfirmationDialog() override; void registerCredential(const QString& username, diff --git a/src/browser/BrowserService.cpp b/src/browser/BrowserService.cpp index edca82270f..fea692dd49 100644 --- a/src/browser/BrowserService.cpp +++ b/src/browser/BrowserService.cpp @@ -470,7 +470,7 @@ QList BrowserService::confirmEntries(QList& entriesToConfirm, m_dialogActive = true; updateWindowState(); - BrowserAccessControlDialog accessControlDialog(m_currentDatabaseWidget); + BrowserAccessControlDialog accessControlDialog; connect(m_currentDatabaseWidget, SIGNAL(databaseLockRequested()), &accessControlDialog, SLOT(reject())); @@ -583,7 +583,7 @@ QString BrowserService::storeKey(const QString& key) QString id; do { - QInputDialog keyDialog(m_currentDatabaseWidget); + QInputDialog keyDialog; connect(m_currentDatabaseWidget, SIGNAL(databaseLockRequested()), &keyDialog, SLOT(reject())); keyDialog.setWindowTitle(tr("KeePassXC - New key association request")); keyDialog.setLabelText(tr("You have received an association request for the following database:\n%1\n\n" @@ -607,7 +607,7 @@ QString BrowserService::storeKey(const QString& key) contains = db->metadata()->customData()->contains(CustomData::getKeyWithPrefix(CustomData::BrowserKeyPrefix, id)); if (contains) { - dialogResult = MessageBox::warning(m_currentDatabaseWidget, + dialogResult = MessageBox::warning(nullptr, tr("KeePassXC - Overwrite existing key?"), tr("A shared encryption key with the name \"%1\" " "already exists.\nDo you want to overwrite it?") @@ -668,7 +668,7 @@ QJsonObject BrowserService::showPasskeysRegisterPrompt(const QJsonObject& public const auto existingEntries = getPasskeyEntriesWithUserHandle(rpId, userId, keyList); raiseWindow(); - BrowserPasskeysConfirmationDialog confirmDialog(m_currentDatabaseWidget); + BrowserPasskeysConfirmationDialog confirmDialog; confirmDialog.registerCredential(username, rpId, existingEntries, timeout); auto dialogResult = confirmDialog.exec(); @@ -761,7 +761,7 @@ QJsonObject BrowserService::showPasskeysAuthenticationPrompt(const QJsonObject& const auto timeout = publicKeyOptions["timeout"].toInt(); raiseWindow(); - BrowserPasskeysConfirmationDialog confirmDialog(m_currentDatabaseWidget); + BrowserPasskeysConfirmationDialog confirmDialog; confirmDialog.authenticateCredential(entries, rpId, timeout); auto dialogResult = confirmDialog.exec(); if (dialogResult == QDialog::Accepted) { diff --git a/src/gui/DatabaseOpenDialog.cpp b/src/gui/DatabaseOpenDialog.cpp index 881db40876..b562c084d7 100644 --- a/src/gui/DatabaseOpenDialog.cpp +++ b/src/gui/DatabaseOpenDialog.cpp @@ -35,12 +35,8 @@ DatabaseOpenDialog::DatabaseOpenDialog(QWidget* parent) , m_tabBar(new QTabBar(this)) { setWindowTitle(tr("Unlock Database - KeePassXC")); - setWindowFlags(Qt::Dialog); + setWindowFlags(Qt::Dialog | Qt::WindowStaysOnTopHint); setWindowFlag(Qt::WindowContextHelpButtonHint, false); -#ifdef Q_OS_LINUX - // Linux requires this to overcome some Desktop Environments (also no Quick Unlock) - setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); -#endif // block input to the main window/application while the dialog is open setWindowModality(Qt::ApplicationModal); #ifdef Q_OS_WIN diff --git a/src/gui/DatabaseTabWidget.cpp b/src/gui/DatabaseTabWidget.cpp index c8639eb44c..58fdfca394 100644 --- a/src/gui/DatabaseTabWidget.cpp +++ b/src/gui/DatabaseTabWidget.cpp @@ -41,7 +41,7 @@ DatabaseTabWidget::DatabaseTabWidget(QWidget* parent) : QTabWidget(parent) , m_dbWidgetStateSync(new DatabaseWidgetStateSync(this)) , m_dbWidgetPendingLock(nullptr) - , m_databaseOpenDialog(new DatabaseOpenDialog(this)) + , m_databaseOpenDialog(new DatabaseOpenDialog()) , m_importWizard(nullptr) , m_databaseOpenInProgress(false) {