diff options
author | saturneric <[email protected]> | 2024-04-30 14:07:33 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-04-30 14:07:33 +0000 |
commit | 3d2ab7c349b02740511f0f2113fd80f7f44c8333 (patch) | |
tree | 79bff8150da71308a530ba34a8615ba2b1f050c4 /src/ui/dialog/controller/ModuleControllerDialog.cpp | |
parent | feat: place mods at linux install process (diff) | |
download | GpgFrontend-3d2ab7c349b02740511f0f2113fd80f7f44c8333.tar.gz GpgFrontend-3d2ab7c349b02740511f0f2113fd80f7f44c8333.zip |
feat: improve functions and ui on module
Diffstat (limited to '')
-rw-r--r-- | src/ui/dialog/controller/ModuleControllerDialog.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index f7b335dd..e99e84a3 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -28,6 +28,7 @@ #include "ModuleControllerDialog.h" +#include "core/function/GlobalSettingStation.h" #include "core/model/SettingsObject.h" #include "core/struct/settings_object/ModuleSO.h" #include "ui_ModuleControllerDialog.h" @@ -43,6 +44,7 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) ui_(std::make_shared<Ui_ModuleControllerDialog>()), module_manager_(&Module::ModuleManager::GetInstance()) { ui_->setupUi(this); + ui_->actionsGroupBox->hide(); connect(ui_->moduleListView, &ModuleListView::SignalSelectModule, this, &ModuleControllerDialog::slot_load_module_details); @@ -77,6 +79,11 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) QInputDialog::getText(this, "Please provide an Event ID", "Event ID"); Module::TriggerEvent(event_id); }); + + connect(ui_->showModsDirButton, &QPushButton::clicked, this, [=]() { + QDesktopServices::openUrl(QUrl::fromLocalFile( + GlobalSettingStation::GetInstance().GetModulesDir())); + }); } void ModuleControllerDialog::slot_load_module_details( @@ -86,6 +93,13 @@ void ModuleControllerDialog::slot_load_module_details( SettingsObject so(QString("module.%1.so").arg(module_id)); ModuleSO module_so(so); + if (module_id.isEmpty() || module == nullptr) { + ui_->actionsGroupBox->hide(); + return; + } + + ui_->actionsGroupBox->show(); + if (module_so.module_id != module_id || module_so.module_hash != module->GetModuleHash()) { module_so.module_id = module_id; |