summaryrefslogtreecommitdiffstats
path: root/src/configdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/configdialog.cpp')
-rw-r--r--src/configdialog.cpp44
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);