diff options
Diffstat (limited to 'src/configdialog.cpp')
-rw-r--r-- | src/configdialog.cpp | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/src/configdialog.cpp b/src/configdialog.cpp index ecdeeb83..4c9f227d 100644 --- a/src/configdialog.cpp +++ b/src/configdialog.cpp @@ -3,6 +3,7 @@ #include "mainwindow.h" #include "qtpasssettings.h" #include "ui_configdialog.h" +#include "util.h" #include <QClipboard> #include <QDir> #include <QFileDialog> @@ -37,6 +38,9 @@ ConfigDialog::ConfigDialog(MainWindow *parent) QtPassSettings::getAutoclearPanelSeconds()); ui->checkBoxHidePassword->setChecked(QtPassSettings::isHidePassword()); ui->checkBoxHideContent->setChecked(QtPassSettings::isHideContent()); + ui->checkBoxUseMonospace->setChecked(QtPassSettings::isUseMonospace()); + ui->checkBoxDisplayAsIs->setChecked(QtPassSettings::isDisplayAsIs()); + ui->checkBoxNoLineWrapping->setChecked(QtPassSettings::isNoLineWrapping()); ui->checkBoxAddGPGId->setChecked(QtPassSettings::isAddGPGId(true)); if (QSystemTrayIcon::isSystemTrayAvailable()) { @@ -94,7 +98,8 @@ ConfigDialog::ConfigDialog(MainWindow *parent) useTemplate(QtPassSettings::isUseTemplate()); ui->profileTable->verticalHeader()->hide(); - ui->profileTable->horizontalHeader()->setStretchLastSection(true); + ui->profileTable->horizontalHeader()->setSectionResizeMode( + 1, QHeaderView::Stretch); ui->label->setText(ui->label->text() + VERSION); ui->comboBoxClipboard->clear(); @@ -167,7 +172,7 @@ void ConfigDialog::validate(QTableWidgetItem *item) { for (int j = 0; j < ui->profileTable->columnCount(); j++) { QTableWidgetItem *_item = ui->profileTable->item(i, j); - if (_item->text().isEmpty()) { + if (_item->text().isEmpty() && j != 2) { _item->setBackground(Qt::red); status = false; break; @@ -178,7 +183,7 @@ void ConfigDialog::validate(QTableWidgetItem *item) { break; } } else { - if (item->text().isEmpty()) { + if (item->text().isEmpty() && item->column() != 2) { item->setBackground(Qt::red); status = false; } @@ -203,6 +208,9 @@ void ConfigDialog::on_accepted() { ui->spinBoxAutoclearPanelSeconds->value()); QtPassSettings::setHidePassword(ui->checkBoxHidePassword->isChecked()); QtPassSettings::setHideContent(ui->checkBoxHideContent->isChecked()); + QtPassSettings::setUseMonospace(ui->checkBoxUseMonospace->isChecked()); + QtPassSettings::setDisplayAsIs(ui->checkBoxDisplayAsIs->isChecked()); + QtPassSettings::setNoLineWrapping(ui->checkBoxNoLineWrapping->isChecked()); QtPassSettings::setAddGPGId(ui->checkBoxAddGPGId->isChecked()); QtPassSettings::setUseTrayIcon(ui->checkBoxUseTrayIcon->isEnabled() && ui->checkBoxUseTrayIcon->isChecked()); @@ -297,7 +305,7 @@ QString ConfigDialog::selectExecutable() { dialog.setFileMode(QFileDialog::ExistingFile); dialog.setOption(QFileDialog::ReadOnly); if (dialog.exec()) - return dialog.selectedFiles().first(); + return dialog.selectedFiles().constFirst(); return QString(); } @@ -312,7 +320,7 @@ QString ConfigDialog::selectFolder() { dialog.setFilter(QDir::NoFilter); dialog.setOption(QFileDialog::ShowDirsOnly); if (dialog.exec()) - return dialog.selectedFiles().first(); + return dialog.selectedFiles().constFirst(); return QString(); } @@ -454,8 +462,8 @@ void ConfigDialog::genKey(QString batch, QDialog *dialog) { * @param profiles * @param profile */ -void ConfigDialog::setProfiles(QHash<QString, QString> profiles, - QString profile) { +void ConfigDialog::setProfiles(QHash<QString, QHash<QString, QString>> profiles, + QString currentProfile) { // dbg()<< profiles; if (profiles.contains("")) { profiles.remove(""); @@ -463,15 +471,18 @@ void ConfigDialog::setProfiles(QHash<QString, QString> profiles, } ui->profileTable->setRowCount(profiles.count()); - QHashIterator<QString, QString> i(profiles); + QHashIterator<QString, QHash<QString, QString>> i(profiles); int n = 0; while (i.hasNext()) { i.next(); if (!i.value().isEmpty() && !i.key().isEmpty()) { ui->profileTable->setItem(n, 0, new QTableWidgetItem(i.key())); - ui->profileTable->setItem(n, 1, new QTableWidgetItem(i.value())); + ui->profileTable->setItem(n, 1, + new QTableWidgetItem(i.value().value("path"))); + ui->profileTable->setItem( + n, 2, new QTableWidgetItem(i.value().value("signingKey"))); // dbg()<< "naam:" + i.key(); - if (i.key() == profile) + if (i.key() == currentProfile) ui->profileTable->selectRow(n); } ++n; @@ -482,17 +493,23 @@ void ConfigDialog::setProfiles(QHash<QString, QString> profiles, * @brief ConfigDialog::getProfiles return profile list. * @return */ -QHash<QString, QString> ConfigDialog::getProfiles() { - QHash<QString, QString> profiles; +QHash<QString, QHash<QString, QString>> ConfigDialog::getProfiles() { + QHash<QString, QHash<QString, QString>> profiles; // Check? for (int i = 0; i < ui->profileTable->rowCount(); ++i) { + QHash<QString, QString> profile; QTableWidgetItem *pathItem = ui->profileTable->item(i, 1); if (nullptr != pathItem) { QTableWidgetItem *item = ui->profileTable->item(i, 0); if (item == nullptr) { continue; } - profiles.insert(item->text(), pathItem->text()); + profile["path"] = pathItem->text(); + QTableWidgetItem *signingKeyItem = ui->profileTable->item(i, 2); + if (nullptr != signingKeyItem) { + profile["signingKey"] = signingKeyItem->text(); + } + profiles.insert(item->text(), profile); } } return profiles; @@ -506,6 +523,7 @@ void ConfigDialog::on_addButton_clicked() { ui->profileTable->insertRow(n); ui->profileTable->setItem(n, 0, new QTableWidgetItem()); ui->profileTable->setItem(n, 1, new QTableWidgetItem(ui->storePath->text())); + ui->profileTable->setItem(n, 2, new QTableWidgetItem()); ui->profileTable->selectRow(n); ui->deleteButton->setEnabled(true); |