Skip to content

Commit

Permalink
move advanced settings checkbox into the encryption tab
Browse files Browse the repository at this point in the history
+ remove useless checks for setting widgets that don't have advanced mode.
  • Loading branch information
xvallspl committed May 13, 2021
1 parent d35613a commit 1840f6e
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 49 deletions.
32 changes: 1 addition & 31 deletions src/gui/dbsettings/DatabaseSettingsDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
#include "fdosecrets/DatabaseSettingsPageFdoSecrets.h"
#endif

#include "core/Config.h"
#include "core/Database.h"
#include "core/Global.h"
#include "gui/Icons.h"
Expand Down Expand Up @@ -110,7 +109,6 @@ DatabaseSettingsDialog::DatabaseSettingsDialog(QWidget* parent)

connect(m_securityTabWidget, SIGNAL(currentChanged(int)), SLOT(pageChanged()));
connect(m_ui->categoryList, SIGNAL(categoryChanged(int)), m_ui->stackedWidget, SLOT(setCurrentIndex(int)));
connect(m_ui->advancedSettingsToggle, SIGNAL(toggled(bool)), SLOT(toggleAdvancedMode(bool)));

#ifdef WITH_XC_BROWSER
m_ui->categoryList->addCategory(tr("Browser Integration"), icons()->icon("internet-web-browser"));
Expand Down Expand Up @@ -140,7 +138,6 @@ void DatabaseSettingsDialog::load(const QSharedPointer<Database>& db)
for (const ExtraPage& page : asConst(m_extraPages)) {
page.loadSettings(db);
}
m_ui->advancedSettingsToggle->setChecked(config()->get(Config::GUI_AdvancedSettings).toBool());
m_db = db;
}

Expand Down Expand Up @@ -196,32 +193,5 @@ void DatabaseSettingsDialog::reject()

void DatabaseSettingsDialog::pageChanged()
{
int pageIndex = m_ui->stackedWidget->currentIndex();

bool visible = (pageIndex == Page::General && m_generalWidget->hasAdvancedMode());

if (Page::Security == pageIndex) {
int tabIndex = m_securityTabWidget->currentIndex();
visible = (tabIndex == 0 && m_databaseKeyWidget->hasAdvancedMode());
visible |= (tabIndex == 1 && m_encryptionWidget->hasAdvancedMode());
}

m_ui->advancedSettingsToggle->setVisible(visible);
}

void DatabaseSettingsDialog::toggleAdvancedMode(bool advanced)
{
if (m_generalWidget->hasAdvancedMode()) {
m_generalWidget->setAdvancedMode(advanced);
}

if (m_databaseKeyWidget->hasAdvancedMode()) {
m_databaseKeyWidget->setAdvancedMode(advanced);
}

if (m_encryptionWidget->hasAdvancedMode()) {
m_encryptionWidget->setAdvancedMode(advanced);
}

config()->set(Config::GUI_AdvancedSettings, advanced);
m_ui->stackedWidget->currentIndex();
}
1 change: 0 additions & 1 deletion src/gui/dbsettings/DatabaseSettingsDialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ private slots:
void save();
void reject();
void pageChanged();
void toggleAdvancedMode(bool advanced);

private:
enum Page
Expand Down
21 changes: 5 additions & 16 deletions src/gui/dbsettings/DatabaseSettingsDialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,11 @@
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QCheckBox" name="advancedSettingsToggle">
<property name="text">
<string>Advanced Settings</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
Expand Down
6 changes: 6 additions & 0 deletions src/gui/dbsettings/DatabaseSettingsWidgetEncryption.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include "ui_DatabaseSettingsWidgetEncryption.h"

#include "core/AsyncTask.h"
#include "core/Config.h"
#include "core/Database.h"
#include "core/Global.h"
#include "core/Metadata.h"
Expand All @@ -36,7 +37,9 @@ DatabaseSettingsWidgetEncryption::DatabaseSettingsWidgetEncryption(QWidget* pare
, m_ui(new Ui::DatabaseSettingsWidgetEncryption())
{
m_ui->setupUi(this);
m_ui->advancedSettingsToggle->setChecked(config()->get(Config::GUI_AdvancedSettings).toBool());

connect(m_ui->advancedSettingsToggle, SIGNAL(toggled(bool)), SLOT(setAdvancedMode(bool)));
connect(m_ui->transformBenchmarkButton, SIGNAL(clicked()), SLOT(benchmarkTransformRounds()));
connect(m_ui->kdfComboBox, SIGNAL(currentIndexChanged(int)), SLOT(changeKdf(int)));

Expand Down Expand Up @@ -85,6 +88,8 @@ void DatabaseSettingsWidgetEncryption::initialize()
return;
}

setAdvancedMode(m_ui->advancedSettingsToggle->isChecked());

bool isDirty = false;

if (!m_db->kdf()) {
Expand Down Expand Up @@ -376,6 +381,7 @@ void DatabaseSettingsWidgetEncryption::setAdvancedMode(bool advanced)
m_ui->compatibilitySelection->setCurrentIndex(m_db->kdf()->uuid() == KeePass2::KDF_AES_KDBX3 ? KDBX3 : KDBX4);
m_ui->stackedWidget->setCurrentIndex(0);
}
config()->set(Config::GUI_AdvancedSettings, advanced);
}

void DatabaseSettingsWidgetEncryption::updateDecryptionTime(int value)
Expand Down
2 changes: 1 addition & 1 deletion src/gui/dbsettings/DatabaseSettingsWidgetEncryption.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ class DatabaseSettingsWidgetEncryption : public DatabaseSettingsWidget
{
return true;
}
void setAdvancedMode(bool advanced) override;

public slots:
void initialize() override;
void uninitialize() override;
bool save() override;
void setAdvancedMode(bool advanced) override;

static QString getTextualEncryptionTime(int millisecs);

Expand Down
7 changes: 7 additions & 0 deletions src/gui/dbsettings/DatabaseSettingsWidgetEncryption.ui
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@
</rect>
</property>
<layout class="QVBoxLayout" name="_2">
<item>
<widget class="QCheckBox" name="advancedSettingsToggle">
<property name="text">
<string>Advanced Settings</string>
</property>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
Expand Down

0 comments on commit 1840f6e

Please sign in to comment.