From 8729378555af829cdb5ac1f0ab4b0dedff613644 Mon Sep 17 00:00:00 2001 From: Saturneric Date: Sat, 23 Jul 2022 01:21:48 +0800 Subject: feat(ui): use general main window and dialog class 1. store window size and position 2. store icon size and style --- src/ui/keypair_details/KeyNewUIDDialog.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/ui/keypair_details/KeyNewUIDDialog.cpp') diff --git a/src/ui/keypair_details/KeyNewUIDDialog.cpp b/src/ui/keypair_details/KeyNewUIDDialog.cpp index 9ff73f9e..5b286603 100644 --- a/src/ui/keypair_details/KeyNewUIDDialog.cpp +++ b/src/ui/keypair_details/KeyNewUIDDialog.cpp @@ -32,7 +32,8 @@ namespace GpgFrontend::UI { KeyNewUIDDialog::KeyNewUIDDialog(const KeyId& key_id, QWidget* parent) - : QDialog(parent), m_key_(GpgKeyGetter::GetInstance().GetKey(key_id)) { + : GeneralDialog(typeid(KeyNewUIDDialog).name(), parent), + m_key_(GpgKeyGetter::GetInstance().GetKey(key_id)) { name_ = new QLineEdit(); name_->setMinimumWidth(240); email_ = new QLineEdit(); @@ -65,7 +66,8 @@ KeyNewUIDDialog::KeyNewUIDDialog(const KeyId& key_id, QWidget* parent) this->setAttribute(Qt::WA_DeleteOnClose, true); this->setModal(true); - connect(this, &KeyNewUIDDialog::SignalUIDCreated, SignalStation::GetInstance(), + connect(this, &KeyNewUIDDialog::SignalUIDCreated, + SignalStation::GetInstance(), &SignalStation::SignalKeyDatabaseRefresh); } @@ -84,9 +86,9 @@ void KeyNewUIDDialog::slot_create_new_uid() { } auto error_string = error_stream.str(); if (error_string.empty()) { - if (GpgUIDOperator::GetInstance().AddUID(m_key_, name_->text().toStdString(), - comment_->text().toStdString(), - email_->text().toStdString())) { + if (GpgUIDOperator::GetInstance().AddUID( + m_key_, name_->text().toStdString(), comment_->text().toStdString(), + email_->text().toStdString())) { emit finished(1); emit SignalUIDCreated(); } else -- cgit v1.2.3 From a6d22ea199b62d433c595ed5b9f51398fc8b7f5a Mon Sep 17 00:00:00 2001 From: Saturneric Date: Sat, 23 Jul 2022 01:46:34 +0800 Subject: refactor(ui): adjust file structure --- src/ui/keypair_details/KeyNewUIDDialog.cpp | 114 ----------------------------- 1 file changed, 114 deletions(-) delete mode 100644 src/ui/keypair_details/KeyNewUIDDialog.cpp (limited to 'src/ui/keypair_details/KeyNewUIDDialog.cpp') diff --git a/src/ui/keypair_details/KeyNewUIDDialog.cpp b/src/ui/keypair_details/KeyNewUIDDialog.cpp deleted file mode 100644 index 5b286603..00000000 --- a/src/ui/keypair_details/KeyNewUIDDialog.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/** - * Copyright (C) 2021 Saturneric - * - * This file is part of GpgFrontend. - * - * GpgFrontend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * GpgFrontend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GpgFrontend. If not, see . - * - * The initial version of the source code is inherited from - * the gpg4usb project, which is under GPL-3.0-or-later. - * - * The source code version of this software was modified and released - * by Saturneric starting on May 12, 2021. - * - */ - -#include "ui/keypair_details/KeyNewUIDDialog.h" - -#include "core/function/gpg/GpgKeyGetter.h" -#include "core/function/gpg/GpgUIDOperator.h" -#include "ui/SignalStation.h" - -namespace GpgFrontend::UI { -KeyNewUIDDialog::KeyNewUIDDialog(const KeyId& key_id, QWidget* parent) - : GeneralDialog(typeid(KeyNewUIDDialog).name(), parent), - m_key_(GpgKeyGetter::GetInstance().GetKey(key_id)) { - name_ = new QLineEdit(); - name_->setMinimumWidth(240); - email_ = new QLineEdit(); - email_->setMinimumWidth(240); - comment_ = new QLineEdit(); - comment_->setMinimumWidth(240); - create_button_ = new QPushButton("Create"); - error_label_ = new QLabel(); - - auto gridLayout = new QGridLayout(); - gridLayout->addWidget(new QLabel(_("Name")), 0, 0); - gridLayout->addWidget(new QLabel(_("Email")), 1, 0); - gridLayout->addWidget(new QLabel(_("Comment")), 2, 0); - - gridLayout->addWidget(name_, 0, 1); - gridLayout->addWidget(email_, 1, 1); - gridLayout->addWidget(comment_, 2, 1); - - gridLayout->addWidget(create_button_, 3, 0, 1, 2); - gridLayout->addWidget( - new QLabel(_("Notice: The New UID Created will be set as Primary.")), 4, - 0, 1, 2); - gridLayout->addWidget(error_label_, 5, 0, 1, 2); - - connect(create_button_, &QPushButton::clicked, this, - &KeyNewUIDDialog::slot_create_new_uid); - - this->setLayout(gridLayout); - this->setWindowTitle(_("Create New UID")); - this->setAttribute(Qt::WA_DeleteOnClose, true); - this->setModal(true); - - connect(this, &KeyNewUIDDialog::SignalUIDCreated, - SignalStation::GetInstance(), - &SignalStation::SignalKeyDatabaseRefresh); -} - -void KeyNewUIDDialog::slot_create_new_uid() { - std::stringstream error_stream; - - /** - * check for errors in keygen dialog input - */ - if ((name_->text()).size() < 5) { - error_stream << " " << _("Name must contain at least five characters.") - << std::endl; - } - if (email_->text().isEmpty() || !check_email_address(email_->text())) { - error_stream << " " << _("Please give a email address.") << std::endl; - } - auto error_string = error_stream.str(); - if (error_string.empty()) { - if (GpgUIDOperator::GetInstance().AddUID( - m_key_, name_->text().toStdString(), comment_->text().toStdString(), - email_->text().toStdString())) { - emit finished(1); - emit SignalUIDCreated(); - } else - emit finished(-1); - - } else { - /** - * create error message - */ - error_label_->setAutoFillBackground(true); - QPalette error = error_label_->palette(); - error.setColor(QPalette::Window, "#ff8080"); - error_label_->setPalette(error); - error_label_->setText(error_string.c_str()); - - this->show(); - } -} - -bool KeyNewUIDDialog::check_email_address(const QString& str) { - return re_email_.match(str).hasMatch(); -} -} // namespace GpgFrontend::UI -- cgit v1.2.3