diff options
-rw-r--r-- | src/core/module/ModuleManager.cpp | 9 | ||||
-rw-r--r-- | src/ui/dialog/controller/ModuleControllerDialog.cpp | 12 | ||||
-rw-r--r-- | src/ui/dialog/settings/SettingsGeneral.cpp | 14 | ||||
-rw-r--r-- | ui/GeneralSettings.ui | 4 |
4 files changed, 30 insertions, 9 deletions
diff --git a/src/core/module/ModuleManager.cpp b/src/core/module/ModuleManager.cpp index 51611a72..d575d40c 100644 --- a/src/core/module/ModuleManager.cpp +++ b/src/core/module/ModuleManager.cpp @@ -31,6 +31,7 @@ #include <memory> #include <utility> +#include "core/function/GlobalSettingStation.h" #include "core/function/SecureMemoryAllocator.h" #include "core/function/basic/GpgFunctionObject.h" #include "core/model/SettingsObject.h" @@ -54,6 +55,14 @@ class ModuleManager::Impl { auto LoadAndRegisterModule(const QString& module_library_path, bool integrated_module) -> void { + // give user ability to give up all modules + auto disable_loading_all_modules = + GlobalSettingStation::GetInstance() + .GetSettings() + .value("basic/disable_loading_all_modules", false) + .toBool(); + if (disable_loading_all_modules) return; + Thread::TaskRunnerGetter::GetInstance() .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_Default) ->PostTask(new Thread::Task( diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index aa69eb5a..e7c0d5fe 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -103,8 +103,18 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) }); #ifdef RELEASE - ui_->tabWidget->setTabEnabled(2, false); + ui_->tabWidget->setTabVisible(2, false); #endif + + // give user ability to give up all modules + auto disable_loading_all_modules = + GlobalSettingStation::GetInstance() + .GetSettings() + .value("basic/disable_loading_all_modules", false) + .toBool(); + if (disable_loading_all_modules) { + ui_->tabWidget->setTabEnabled(0, false); + } } void ModuleControllerDialog::slot_load_module_details( diff --git a/src/ui/dialog/settings/SettingsGeneral.cpp b/src/ui/dialog/settings/SettingsGeneral.cpp index 81557b0d..6167ea01 100644 --- a/src/ui/dialog/settings/SettingsGeneral.cpp +++ b/src/ui/dialog/settings/SettingsGeneral.cpp @@ -52,6 +52,8 @@ GeneralTab::GeneralTab(QWidget* parent) tr("Enable to use longer key expiration date.")); ui_->importConfirmationCheckBox->setText( tr("Import files dropped on the Key List without confirmation.")); + ui_->disableLoadingModulesCheckBox->setText( + tr("Disable loading of all modules (including integrated modules)")); ui_->langBox->setTitle(tr("Language")); ui_->langNoteLabel->setText( @@ -129,10 +131,10 @@ void GeneralTab::SetSettings() { ui_->importConfirmationCheckBox->setCheckState( confirm_import_keys ? Qt::Checked : Qt::Unchecked); - auto more_signing_options = - settings.value("basic/more_signing_options", false).toBool(); - ui_->moreSigningOptionsCheckBox->setCheckState( - more_signing_options ? Qt::Checked : Qt::Unchecked); + auto disable_loading_all_modules = + settings.value("basic/disable_loading_all_modules", false).toBool(); + ui_->disableLoadingModulesCheckBox->setCheckState( + disable_loading_all_modules ? Qt::Checked : Qt::Unchecked); auto lang_key = settings.value("basic/lang").toString(); auto lang_value = lang_.value(lang_key); @@ -156,8 +158,8 @@ void GeneralTab::ApplySettings() { ui_->restoreTextEditorPageCheckBox->isChecked()); settings.setValue("basic/confirm_import_keys", ui_->importConfirmationCheckBox->isChecked()); - settings.setValue("basic/more_signing_options", - ui_->moreSigningOptionsCheckBox->isChecked()); + settings.setValue("basic/disable_loading_all_modules", + ui_->disableLoadingModulesCheckBox->isChecked()); settings.setValue("basic/lang", lang_.key(ui_->langSelectBox->currentText())); } diff --git a/ui/GeneralSettings.ui b/ui/GeneralSettings.ui index df2a8334..78f3bb6a 100644 --- a/ui/GeneralSettings.ui +++ b/ui/GeneralSettings.ui @@ -66,9 +66,9 @@ </widget> </item> <item> - <widget class="QCheckBox" name="moreSigningOptionsCheckBox"> + <widget class="QCheckBox" name="disableLoadingModulesCheckBox"> <property name="text"> - <string>Provide more options in the signing process.</string> + <string>Disable loading of all modules (including integrated modules)</string> </property> </widget> </item> |