From 2eb3159f8a585e05767fbe71f3bfaac7684de5b9 Mon Sep 17 00:00:00 2001 From: Jonathan White Date: Fri, 18 May 2018 17:06:28 -0400 Subject: [PATCH] Disable merge when database is locked --- src/gui/DatabaseTabWidget.cpp | 13 ++++++++----- src/gui/MainWindow.cpp | 1 - 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/gui/DatabaseTabWidget.cpp b/src/gui/DatabaseTabWidget.cpp index b3963f7b1..a171a938d 100644 --- a/src/gui/DatabaseTabWidget.cpp +++ b/src/gui/DatabaseTabWidget.cpp @@ -198,11 +198,14 @@ void DatabaseTabWidget::importCsv() void DatabaseTabWidget::mergeDatabase() { - QString filter = QString("%1 (*.kdbx);;%2 (*)").arg(tr("KeePass 2 Database"), tr("All files")); - const QString fileName = fileDialog()->getOpenFileName(this, tr("Merge database"), QString(), - filter); - if (!fileName.isEmpty()) { - mergeDatabase(fileName); + auto dbWidget = currentDatabaseWidget(); + if (dbWidget && dbWidget->currentMode() != DatabaseWidget::LockedMode) { + QString filter = QString("%1 (*.kdbx);;%2 (*)").arg(tr("KeePass 2 Database"), tr("All files")); + const QString fileName = fileDialog()->getOpenFileName(this, tr("Merge database"), QString(), + filter); + if (!fileName.isEmpty()) { + mergeDatabase(fileName); + } } } diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 2e87b4d8c..1299f3c4d 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -647,7 +647,6 @@ void MainWindow::setMenuActionState(DatabaseWidget::Mode mode) m_ui->actionDatabaseOpen->setEnabled(inDatabaseTabWidgetOrWelcomeWidget); m_ui->menuRecentDatabases->setEnabled(inDatabaseTabWidgetOrWelcomeWidget); m_ui->menuImport->setEnabled(inDatabaseTabWidgetOrWelcomeWidget); - m_ui->actionDatabaseMerge->setEnabled(inDatabaseTabWidget); m_ui->actionRepairDatabase->setEnabled(inDatabaseTabWidgetOrWelcomeWidget); m_ui->actionLockDatabases->setEnabled(m_ui->tabWidget->hasLockableDatabases());