diff options
author | saturneric <[email protected]> | 2025-01-27 23:07:49 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-01-27 23:14:21 +0000 |
commit | 0a8a116d2dabedae09995906bef7a4a25af2fd61 (patch) | |
tree | 8c9334041a08fb244aa5686f1413915dd9a24365 | |
parent | fix: tiny fixes (diff) | |
download | GpgFrontend-0a8a116d2dabedae09995906bef7a4a25af2fd61.tar.gz GpgFrontend-0a8a116d2dabedae09995906bef7a4a25af2fd61.zip |
refactor: code clean up
-rw-r--r-- | src/ui/UserInterfaceUtils.cpp | 57 | ||||
-rw-r--r-- | src/ui/UserInterfaceUtils.h | 22 | ||||
-rw-r--r-- | src/ui/dialog/import_export/ExportKeyPackageDialog.cpp | 4 | ||||
-rw-r--r-- | src/ui/dialog/key_generate/KeygenDialog.cpp | 4 | ||||
-rw-r--r-- | src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp | 4 | ||||
-rw-r--r-- | src/ui/dialog/keypair_details/KeyPairOperaTab.cpp | 1 | ||||
-rw-r--r-- | src/ui/function/GpgOperaHelper.cpp | 22 | ||||
-rw-r--r-- | src/ui/function/GpgOperaHelper.h | 8 | ||||
-rw-r--r-- | src/ui/main_window/KeyMgmt.cpp | 7 | ||||
-rw-r--r-- | src/ui/main_window/MainWindow.cpp | 1 | ||||
-rw-r--r-- | src/ui/main_window/MainWindowSlotFunction.cpp | 11 | ||||
-rw-r--r-- | src/ui/main_window/MainWindowSlotUI.cpp | 1 | ||||
-rw-r--r-- | src/ui/main_window/MainWindowUI.cpp | 2 | ||||
-rw-r--r-- | src/ui/struct/GpgOperaResult.h | 1 | ||||
-rw-r--r-- | src/ui/struct/GpgOperaResultContext.h | 6 | ||||
-rw-r--r-- | src/ui/widgets/FileTreeView.cpp | 4 |
16 files changed, 53 insertions, 102 deletions
diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp index 74e2c82a..379c2a2d 100644 --- a/src/ui/UserInterfaceUtils.cpp +++ b/src/ui/UserInterfaceUtils.cpp @@ -194,63 +194,6 @@ CommonUtils::CommonUtils() : QWidget(nullptr) { }); } -void CommonUtils::WaitForOpera(QWidget *parent, - const QString &waiting_dialog_title, - const OperaWaitingCb &opera) { - QEventLoop looper; - QPointer<WaitingDialog> const dialog = - new WaitingDialog(waiting_dialog_title, parent); - connect(dialog, &QDialog::finished, &looper, &QEventLoop::quit); - connect(dialog, &QDialog::finished, dialog, &QDialog::deleteLater); - dialog->show(); - - QTimer::singleShot(64, parent, [=]() { - opera([dialog]() { - if (dialog != nullptr) { - dialog->close(); - dialog->accept(); - } - }); - }); - - looper.exec(); -} - -void CommonUtils::WaitForMultipleOperas( - QWidget *parent, const QString &waiting_dialog_title, - const QContainer<OperaWaitingCb> &operas) { - QEventLoop looper; - QPointer<WaitingDialog> const dialog = - new WaitingDialog(waiting_dialog_title, true, parent); - connect(dialog, &QDialog::finished, &looper, &QEventLoop::quit); - connect(dialog, &QDialog::finished, dialog, &QDialog::deleteLater); - dialog->show(); - - std::atomic<int> remaining_tasks(static_cast<int>(operas.size())); - const auto tasks_count = operas.size(); - - for (const auto &opera : operas) { - QTimer::singleShot(64, parent, [=, &remaining_tasks]() { - opera([dialog, &remaining_tasks, tasks_count]() { - if (dialog == nullptr) return; - - const auto pg_value = - static_cast<double>(tasks_count - remaining_tasks + 1) * 100.0 / - static_cast<double>(tasks_count); - emit dialog->SignalUpdateValue(static_cast<int>(pg_value)); - QCoreApplication::processEvents(); - - if (--remaining_tasks == 0) { - dialog->close(); - dialog->accept(); - } - }); - }); - } - - looper.exec(); -} - void CommonUtils::RaiseMessageBox(QWidget *parent, GpgError err) { GpgErrorDesc desc = DescribeGpgErrCode(err); GpgErrorCode err_code = CheckGpgError2ErrCode(err); diff --git a/src/ui/UserInterfaceUtils.h b/src/ui/UserInterfaceUtils.h index c543bf58..372bc55a 100644 --- a/src/ui/UserInterfaceUtils.h +++ b/src/ui/UserInterfaceUtils.h @@ -43,9 +43,6 @@ namespace GpgFrontend::UI { class InfoBoardWidget; class TextEdit; -using OperaWaitingHd = std::function<void()>; -using OperaWaitingCb = std::function<void(OperaWaitingHd)>; - /** * @brief * @@ -110,25 +107,6 @@ class CommonUtils : public QWidget { * * @param err */ - static void WaitForOpera(QWidget* parent, const QString&, - const OperaWaitingCb&); - - /** - * @brief - * - * @param parent - * @param waiting_dialog_title - * @param operas - */ - static void WaitForMultipleOperas(QWidget* parent, - const QString& waiting_dialog_title, - const QContainer<OperaWaitingCb>& operas); - - /** - * @brief - * - * @param err - */ static void RaiseMessageBox(QWidget* parent, GpgError err); /** diff --git a/src/ui/dialog/import_export/ExportKeyPackageDialog.cpp b/src/ui/dialog/import_export/ExportKeyPackageDialog.cpp index 5e6267da..7aab31b5 100644 --- a/src/ui/dialog/import_export/ExportKeyPackageDialog.cpp +++ b/src/ui/dialog/import_export/ExportKeyPackageDialog.cpp @@ -31,7 +31,7 @@ #include "core/GpgModel.h" #include "core/function/KeyPackageOperator.h" #include "core/function/gpg/GpgKeyGetter.h" -#include "ui/UserInterfaceUtils.h" +#include "ui/function/GpgOperaHelper.h" #include "ui_ExportKeyPackageDialog.h" GpgFrontend::UI::ExportKeyPackageDialog::ExportKeyPackageDialog( @@ -113,7 +113,7 @@ GpgFrontend::UI::ExportKeyPackageDialog::ExportKeyPackageDialog( return; } - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Generating"), [this, keys](const OperaWaitingHd& op_hd) { KeyPackageOperator::GenerateKeyPackage( ui_->outputPathLabel->text(), ui_->nameValueLabel->text(), diff --git a/src/ui/dialog/key_generate/KeygenDialog.cpp b/src/ui/dialog/key_generate/KeygenDialog.cpp index c9006b0c..0bf235ac 100644 --- a/src/ui/dialog/key_generate/KeygenDialog.cpp +++ b/src/ui/dialog/key_generate/KeygenDialog.cpp @@ -31,13 +31,13 @@ #include "core/GpgModel.h" #include "core/function/GlobalSettingStation.h" #include "core/function/gpg/GpgKeyOpera.h" -#include "core/model/DataObject.h" #include "core/module/ModuleManager.h" #include "core/typedef/GpgTypedef.h" #include "core/utils/CacheUtils.h" #include "core/utils/GpgUtils.h" #include "ui/UISignalStation.h" #include "ui/UserInterfaceUtils.h" +#include "ui/function/GpgOperaHelper.h" namespace GpgFrontend::UI { @@ -150,7 +150,7 @@ void KeyGenDialog::slot_key_gen_accept() { LOG_D() << "try to generate key at gpg context channel: " << selected_gpg_context_channel; - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Generating"), [this, gen_key_info = this->gen_key_info_, selected_gpg_context_channel](const OperaWaitingHd& hd) { diff --git a/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp b/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp index 1af2d767..527d335b 100644 --- a/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp +++ b/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp @@ -34,10 +34,10 @@ #include "core/function/GlobalSettingStation.h" #include "core/function/gpg/GpgKeyGetter.h" #include "core/function/gpg/GpgKeyOpera.h" -#include "core/utils/CacheUtils.h" #include "core/utils/GpgUtils.h" #include "ui/UISignalStation.h" #include "ui/UserInterfaceUtils.h" +#include "ui/function/GpgOperaHelper.h" namespace GpgFrontend::UI { @@ -288,7 +288,7 @@ void SubkeyGenerateDialog::slot_key_gen_accept() { gen_key_info_->SetExpireTime(date_edit_->dateTime()); } - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Generating"), [this, key = this->key_, gen_key_info = this->gen_key_info_](const OperaWaitingHd& hd) { diff --git a/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp b/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp index 89bceeeb..c4f0dad1 100644 --- a/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp +++ b/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp @@ -35,7 +35,6 @@ #include "core/function/gpg/GpgKeyOpera.h" #include "core/model/GpgKey.h" #include "core/module/ModuleManager.h" -#include "core/thread/TaskRunnerGetter.h" #include "core/typedef/GpgTypedef.h" #include "core/utils/GpgUtils.h" #include "core/utils/IOUtils.h" diff --git a/src/ui/function/GpgOperaHelper.cpp b/src/ui/function/GpgOperaHelper.cpp index f762996d..161db70e 100644 --- a/src/ui/function/GpgOperaHelper.cpp +++ b/src/ui/function/GpgOperaHelper.cpp @@ -28,10 +28,12 @@ #include "GpgOperaHelper.h" +#include "core/GpgModel.h" #include "core/function/gpg/GpgFileOpera.h" #include "core/function/result_analyse/GpgDecryptResultAnalyse.h" #include "core/function/result_analyse/GpgEncryptResultAnalyse.h" #include "core/function/result_analyse/GpgSignResultAnalyse.h" +#include "core/function/result_analyse/GpgVerifyResultAnalyse.h" #include "core/model/GpgDecryptResult.h" #include "core/model/GpgEncryptResult.h" #include "core/model/GpgSignResult.h" @@ -530,4 +532,24 @@ auto GpgOperaHelper::BuildOperasDecryptVerify( GpgBasicOperator::GetInstance(channel).DecryptVerify(buffer, callback); }); } + +void GpgOperaHelper::WaitForOpera(QWidget* parent, const QString& title, + const OperaWaitingCb& opera) { + QEventLoop looper; + QPointer<WaitingDialog> const dialog = new WaitingDialog(title, parent); + connect(dialog, &QDialog::finished, &looper, &QEventLoop::quit); + connect(dialog, &QDialog::finished, dialog, &QDialog::deleteLater); + dialog->show(); + + QTimer::singleShot(64, parent, [=]() { + opera([dialog]() { + if (dialog != nullptr) { + dialog->close(); + dialog->accept(); + } + }); + }); + + looper.exec(); +} } // namespace GpgFrontend::UI diff --git a/src/ui/function/GpgOperaHelper.h b/src/ui/function/GpgOperaHelper.h index bf11b37b..9d53ab12 100644 --- a/src/ui/function/GpgOperaHelper.h +++ b/src/ui/function/GpgOperaHelper.h @@ -304,6 +304,14 @@ class GpgOperaHelper : QObject { /** * @brief * + * @param err + */ + static void WaitForOpera(QWidget* parent, const QString& title, + const OperaWaitingCb& opera); + + /** + * @brief + * * @param parent * @param title * @param operas diff --git a/src/ui/main_window/KeyMgmt.cpp b/src/ui/main_window/KeyMgmt.cpp index 53b89c91..2a027bfd 100644 --- a/src/ui/main_window/KeyMgmt.cpp +++ b/src/ui/main_window/KeyMgmt.cpp @@ -44,6 +44,7 @@ #include "ui/dialog/key_generate/KeygenDialog.h" #include "ui/dialog/key_generate/SubkeyGenerateDialog.h" #include "ui/dialog/keypair_details/KeyDetailsDialog.h" +#include "ui/function/GpgOperaHelper.h" #include "ui/main_window/MainWindow.h" #include "ui/widgets/KeyList.h" @@ -403,7 +404,7 @@ void KeyMgmt::SlotExportKeyToClipboard() { assert(std::all_of(keys.begin(), keys.end(), [](const auto& key) { return key.IsGood(); })); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Exporting"), [=](const OperaWaitingHd& op_hd) { GpgKeyImportExporter::GetInstance( key_list_->GetCurrentGpgContextChannel()) @@ -482,7 +483,7 @@ void KeyMgmt::SlotExportAsOpenSSHFormat() { assert(std::all_of(keys.begin(), keys.end(), [](const auto& key) { return key.IsGood(); })); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Exporting"), [this, keys](const OperaWaitingHd& op_hd) { GpgKeyImportExporter::GetInstance( key_list_->GetCurrentGpgContextChannel()) @@ -585,7 +586,7 @@ void KeyMgmt::SlotImportKeyPackage() { return; } - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Importing"), [=](const OperaWaitingHd& op_hd) { KeyPackageOperator::ImportKeyPackage( key_package_file_name, key_file_name, diff --git a/src/ui/main_window/MainWindow.cpp b/src/ui/main_window/MainWindow.cpp index f362daa5..319a1ad9 100644 --- a/src/ui/main_window/MainWindow.cpp +++ b/src/ui/main_window/MainWindow.cpp @@ -30,7 +30,6 @@ #include "core/function/CacheManager.h" #include "core/function/GlobalSettingStation.h" -#include "core/function/gpg/GpgKeyGetter.h" #include "core/model/SettingsObject.h" #include "core/module/ModuleManager.h" #include "ui/UISignalStation.h" diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp index 36d4435d..8743c937 100644 --- a/src/ui/main_window/MainWindowSlotFunction.cpp +++ b/src/ui/main_window/MainWindowSlotFunction.cpp @@ -27,7 +27,6 @@ */ #include "MainWindow.h" -#include "core/function/gpg/GpgBasicOperator.h" #include "core/function/gpg/GpgKeyGetter.h" #include "core/function/gpg/GpgKeyImportExporter.h" #include "core/function/result_analyse/GpgDecryptResultAnalyse.h" @@ -323,7 +322,7 @@ void MainWindow::slot_import_key_from_edit() { } void MainWindow::slot_verify_email_by_eml_data(const QByteArray& buffer) { - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Verifying"), [this, buffer](const OperaWaitingHd& hd) { Module::TriggerEvent( "EMAIL_VERIFY_EML_DATA", @@ -651,7 +650,7 @@ void MainWindow::SlotEncryptEML() { } auto buffer = edit_->CurPlainText().toUtf8(); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Encrypting"), [this, buffer, checked_keys](const OperaWaitingHd& hd) { Module::TriggerEvent( @@ -718,7 +717,7 @@ void MainWindow::SlotSignEML() { auto buffer = edit_->CurPlainText().toUtf8(); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Signing"), [this, buffer, checked_keys](const OperaWaitingHd& hd) { Module::TriggerEvent( @@ -801,7 +800,7 @@ void MainWindow::SlotEncryptSignEML() { auto buffer = edit_->CurPlainText().toUtf8(); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Encrypting and Signing"), [this, buffer, checked_keys, signer_keys](const OperaWaitingHd& hd) { Module::TriggerEvent( @@ -865,7 +864,7 @@ void MainWindow::SlotDecryptVerifyEML() { auto buffer = edit_->CurPlainText().toUtf8(); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this, tr("Decrypting and Verifying"), [this, buffer](const OperaWaitingHd& hd) { Module::TriggerEvent( diff --git a/src/ui/main_window/MainWindowSlotUI.cpp b/src/ui/main_window/MainWindowSlotUI.cpp index 7ce0024e..c8c68aef 100644 --- a/src/ui/main_window/MainWindowSlotUI.cpp +++ b/src/ui/main_window/MainWindowSlotUI.cpp @@ -31,7 +31,6 @@ #include "core/function/CacheManager.h" #include "core/function/gpg/GpgAdvancedOperator.h" #include "core/model/SettingsObject.h" -#include "core/module/ModuleManager.h" #include "ui/UserInterfaceUtils.h" #include "ui/dialog/Wizard.h" #include "ui/main_window/KeyMgmt.h" diff --git a/src/ui/main_window/MainWindowUI.cpp b/src/ui/main_window/MainWindowUI.cpp index 56c46824..a586a43b 100644 --- a/src/ui/main_window/MainWindowUI.cpp +++ b/src/ui/main_window/MainWindowUI.cpp @@ -28,10 +28,8 @@ #include "MainWindow.h" #include "core/function/GlobalSettingStation.h" -#include "core/model/SettingsObject.h" #include "core/module/ModuleManager.h" #include "dialog/controller/ModuleControllerDialog.h" -#include "struct/settings_object/AppearanceSO.h" #include "ui/UserInterfaceUtils.h" #include "ui/dialog/controller/GnuPGControllerDialog.h" #include "ui/dialog/help/AboutDialog.h" diff --git a/src/ui/struct/GpgOperaResult.h b/src/ui/struct/GpgOperaResult.h index 18eef96a..1f385736 100644 --- a/src/ui/struct/GpgOperaResult.h +++ b/src/ui/struct/GpgOperaResult.h @@ -29,6 +29,7 @@ #pragma once #include "core/model/GFBuffer.h" + namespace GpgFrontend::UI { struct GpgOperaResult { diff --git a/src/ui/struct/GpgOperaResultContext.h b/src/ui/struct/GpgOperaResultContext.h index 47333b73..58da0dc8 100644 --- a/src/ui/struct/GpgOperaResultContext.h +++ b/src/ui/struct/GpgOperaResultContext.h @@ -28,11 +28,15 @@ #pragma once -#include "ui/UserInterfaceUtils.h" +#include "core/typedef/CoreTypedef.h" +#include "core/typedef/GpgTypedef.h" #include "ui/struct/GpgOperaResult.h" namespace GpgFrontend::UI { +using OperaWaitingHd = std::function<void()>; +using OperaWaitingCb = std::function<void(OperaWaitingHd)>; + struct GpgOperaCategory { QStringList paths; QStringList o_paths; diff --git a/src/ui/widgets/FileTreeView.cpp b/src/ui/widgets/FileTreeView.cpp index 20078e7c..86411d79 100644 --- a/src/ui/widgets/FileTreeView.cpp +++ b/src/ui/widgets/FileTreeView.cpp @@ -31,7 +31,7 @@ #include "core/utils/AsyncUtils.h" #include "core/utils/IOUtils.h" #include "ui/UISignalStation.h" -#include "ui/UserInterfaceUtils.h" +#include "ui/function/GpgOperaHelper.h" namespace GpgFrontend::UI { @@ -398,7 +398,7 @@ void FileTreeView::slot_calculate_hash() { if (GetSelectedPaths().empty()) return; auto selected_path = GetSelectedPaths().front(); - CommonUtils::WaitForOpera( + GpgOperaHelper::WaitForOpera( this->parentWidget(), tr("Calculating"), [=](const OperaWaitingHd& hd) { RunOperaAsync( [=](const DataObjectPtr& data_object) { |