From c1f5b3336836e15d193582e9b8f3e044f7d8bc1b Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 29 Feb 2024 18:15:57 +0800 Subject: feat: add module controller and continue to work on module system 1. speed up building by reducing build info sheader including 2. add module controller 3. continue to work on module system --- .../dialog/controller/ModuleControllerDialog.cpp | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 src/ui/dialog/controller/ModuleControllerDialog.cpp (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp new file mode 100644 index 00000000..db177155 --- /dev/null +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -0,0 +1,111 @@ +/** + * 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. + * + * All the source code of GpgFrontend was modified and released by + * Saturneric starting on May 12, 2021. + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#include "ModuleControllerDialog.h" + +#include "ui_ModuleControllerDialog.h" + +// +#include "core/module/ModuleManager.h" +#include "ui/widgets/ModuleListView.h" + +namespace GpgFrontend::UI { + +ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) + : QDialog(parent), + ui_(std::make_shared()), + model_list_view_(new ModuleListView(this)) { + ui_->setupUi(this); + + model_list_view_->setMinimumWidth(250); + model_list_view_->setViewMode(QListView::ListMode); + model_list_view_->setMovement(QListView::Static); + + ui_->moduleListViewLayout->addWidget(model_list_view_); + connect(model_list_view_, &ModuleListView::SignalSelectModule, this, + &ModuleControllerDialog::slot_load_module_details); + + connect(ui_->activateButton, &QPushButton::clicked, this, [=]() { + auto module_id = model_list_view_->GetCurrentModuleID(); + if (module_id.isEmpty()) return; + + Module::ModuleManager::GetInstance().ActiveModule(module_id); + QTimer::singleShot(1000, [=]() { slot_load_module_details(module_id); }); + }); + + connect(ui_->triggerEventButton, &QPushButton::clicked, this, [=]() { + auto event_id = + QInputDialog::getText(this, "Please provide an Event ID", "Event ID"); + Module::TriggerEvent(event_id); + }); +} + +void ModuleControllerDialog::slot_load_module_details( + Module::ModuleIdentifier module_id) { + GF_UI_LOG_DEBUG("loading module detailes, module id: {}", module_id); + + auto module = Module::ModuleManager::GetInstance().SearchModule(module_id); + + ui_->moduleIDLabel->setText(module->GetModuleIdentifier()); + + QString buffer; + QTextStream info(&buffer); + + info << "# BASIC INFO" << Qt::endl << Qt::endl; + + info << tr("Version") << ": " << module->GetModuleVersion() << Qt::endl; + info << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; + info << tr("Path") << ": " << module->GetModulePath() << Qt::endl; + + info << tr("Active") << ": " + << (Module::ModuleManager::GetInstance().IsModuleActivated(module_id) + ? tr("True") + : tr("False")) + << Qt::endl; + + info << Qt::endl; + + info << "# METADATA" << Qt::endl << Qt::endl; + + for (const auto& metadata : module->GetModuleMetaData()) { + info << metadata.first << ": " << metadata.second << "\n"; + } + + info << Qt::endl; + + info << "# Listening Event" << Qt::endl << Qt::endl; + + auto listening_event_ids = + Module::ModuleManager::GetInstance().GetModuleListening(module_id); + for (const auto& event_id : listening_event_ids) { + info << " - " << event_id << "\n"; + } + + ui_->moduleInfoTextBrowser->setText(buffer); +} +} // namespace GpgFrontend::UI -- cgit v1.2.3 From 84b04d88723ef05f7873082c235ecfd56facf934 Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 29 Feb 2024 22:36:25 +0800 Subject: feat: add prefix GF to all sdk and module symbols --- .../dialog/controller/ModuleControllerDialog.cpp | 26 +++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index db177155..71e39502 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -39,7 +39,8 @@ namespace GpgFrontend::UI { ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) : QDialog(parent), ui_(std::make_shared()), - model_list_view_(new ModuleListView(this)) { + model_list_view_(new ModuleListView(this)), + module_mamager_(&Module::ModuleManager::GetInstance()) { ui_->setupUi(this); model_list_view_->setMinimumWidth(250); @@ -50,11 +51,16 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) connect(model_list_view_, &ModuleListView::SignalSelectModule, this, &ModuleControllerDialog::slot_load_module_details); - connect(ui_->activateButton, &QPushButton::clicked, this, [=]() { + connect(ui_->activateOrDeactiveButton, &QPushButton::clicked, this, [=]() { auto module_id = model_list_view_->GetCurrentModuleID(); if (module_id.isEmpty()) return; - Module::ModuleManager::GetInstance().ActiveModule(module_id); + if (!module_mamager_->IsModuleActivated(module_id)) { + module_mamager_->ActiveModule(module_id); + } else { + module_mamager_->DeactiveModule(module_id); + } + QTimer::singleShot(1000, [=]() { slot_load_module_details(module_id); }); }); @@ -69,7 +75,7 @@ void ModuleControllerDialog::slot_load_module_details( Module::ModuleIdentifier module_id) { GF_UI_LOG_DEBUG("loading module detailes, module id: {}", module_id); - auto module = Module::ModuleManager::GetInstance().SearchModule(module_id); + auto module = module_mamager_->SearchModule(module_id); ui_->moduleIDLabel->setText(module->GetModuleIdentifier()); @@ -82,10 +88,9 @@ void ModuleControllerDialog::slot_load_module_details( info << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; info << tr("Path") << ": " << module->GetModulePath() << Qt::endl; - info << tr("Active") << ": " - << (Module::ModuleManager::GetInstance().IsModuleActivated(module_id) - ? tr("True") - : tr("False")) + bool if_activated = module_mamager_->IsModuleActivated(module_id); + + info << tr("Active") << ": " << (if_activated ? tr("True") : tr("False")) << Qt::endl; info << Qt::endl; @@ -100,12 +105,13 @@ void ModuleControllerDialog::slot_load_module_details( info << "# Listening Event" << Qt::endl << Qt::endl; - auto listening_event_ids = - Module::ModuleManager::GetInstance().GetModuleListening(module_id); + auto listening_event_ids = module_mamager_->GetModuleListening(module_id); for (const auto& event_id : listening_event_ids) { info << " - " << event_id << "\n"; } ui_->moduleInfoTextBrowser->setText(buffer); + ui_->activateOrDeactiveButton->setText(if_activated ? tr("Deactivate") + : tr("Activate")); } } // namespace GpgFrontend::UI -- cgit v1.2.3 From a74841f70cfe985ca12af353ed289925085241c1 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 1 Mar 2024 14:36:33 +0800 Subject: feat: validate module id format and compatibility of sdk and qt env --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index 71e39502..309ad8e1 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -85,6 +85,10 @@ void ModuleControllerDialog::slot_load_module_details( info << "# BASIC INFO" << Qt::endl << Qt::endl; info << tr("Version") << ": " << module->GetModuleVersion() << Qt::endl; + info << tr("SDK Version") << ": " << module->GetModuleSDKVersion() + << Qt::endl; + info << tr("Qt ENV Version") << ": " << module->GetModuleQtEnvVersion() + << Qt::endl; info << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; info << tr("Path") << ": " << module->GetModulePath() << Qt::endl; -- cgit v1.2.3 From e6be01ca8fdce75b2c1d5be32e0a00d4bda29b8d Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 11 Apr 2024 21:55:57 +0200 Subject: fix: find and solve some issues on module management --- .../dialog/controller/ModuleControllerDialog.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index 309ad8e1..ad2bf918 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -40,10 +40,10 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) : QDialog(parent), ui_(std::make_shared()), model_list_view_(new ModuleListView(this)), - module_mamager_(&Module::ModuleManager::GetInstance()) { + module_manager_(&Module::ModuleManager::GetInstance()) { ui_->setupUi(this); - model_list_view_->setMinimumWidth(250); + model_list_view_->setFixedWidth(250); model_list_view_->setViewMode(QListView::ListMode); model_list_view_->setMovement(QListView::Static); @@ -55,10 +55,10 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) auto module_id = model_list_view_->GetCurrentModuleID(); if (module_id.isEmpty()) return; - if (!module_mamager_->IsModuleActivated(module_id)) { - module_mamager_->ActiveModule(module_id); + if (!module_manager_->IsModuleActivated(module_id)) { + module_manager_->ActiveModule(module_id); } else { - module_mamager_->DeactiveModule(module_id); + module_manager_->DeactiveModule(module_id); } QTimer::singleShot(1000, [=]() { slot_load_module_details(module_id); }); @@ -73,17 +73,17 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) void ModuleControllerDialog::slot_load_module_details( Module::ModuleIdentifier module_id) { - GF_UI_LOG_DEBUG("loading module detailes, module id: {}", module_id); + GF_UI_LOG_DEBUG("loading module details, module id: {}", module_id); - auto module = module_mamager_->SearchModule(module_id); - - ui_->moduleIDLabel->setText(module->GetModuleIdentifier()); + auto module = module_manager_->SearchModule(module_id); QString buffer; QTextStream info(&buffer); + info << "# BASIC INFO" << Qt::endl << Qt::endl; + info << tr("ID") << ": " << module->GetModuleIdentifier() << Qt::endl; info << tr("Version") << ": " << module->GetModuleVersion() << Qt::endl; info << tr("SDK Version") << ": " << module->GetModuleSDKVersion() << Qt::endl; @@ -92,7 +92,7 @@ void ModuleControllerDialog::slot_load_module_details( info << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; info << tr("Path") << ": " << module->GetModulePath() << Qt::endl; - bool if_activated = module_mamager_->IsModuleActivated(module_id); + bool if_activated = module_manager_->IsModuleActivated(module_id); info << tr("Active") << ": " << (if_activated ? tr("True") : tr("False")) << Qt::endl; @@ -109,7 +109,7 @@ void ModuleControllerDialog::slot_load_module_details( info << "# Listening Event" << Qt::endl << Qt::endl; - auto listening_event_ids = module_mamager_->GetModuleListening(module_id); + auto listening_event_ids = module_manager_->GetModuleListening(module_id); for (const auto& event_id : listening_event_ids) { info << " - " << event_id << "\n"; } -- cgit v1.2.3 From 26e24222e434036e5ec13f8ec99b958faf325154 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 12 Apr 2024 11:14:37 +0200 Subject: feat: add auto activate function and optimums for some structures --- .../dialog/controller/ModuleControllerDialog.cpp | 63 ++++++++++++++++------ 1 file changed, 48 insertions(+), 15 deletions(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index ad2bf918..ee23b80d 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -28,6 +28,8 @@ #include "ModuleControllerDialog.h" +#include "core/model/SettingsObject.h" +#include "core/struct/settings_object/ModuleSO.h" #include "ui_ModuleControllerDialog.h" // @@ -64,6 +66,18 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) QTimer::singleShot(1000, [=]() { slot_load_module_details(module_id); }); }); + connect(ui_->autoActivateButton, &QPushButton::clicked, this, [=]() { + auto module_id = model_list_view_->GetCurrentModuleID(); + SettingsObject so(QString("module.%1.so").arg(module_id)); + ModuleSO module_so(so); + + module_so.auto_activate = + ui_->autoActivateButton->text() == tr("Enable Auto Activate"); + so.Store(module_so.ToJson()); + + QTimer::singleShot(1000, [=]() { slot_load_module_details(module_id); }); + }); + connect(ui_->triggerEventButton, &QPushButton::clicked, this, [=]() { auto event_id = QInputDialog::getText(this, "Please provide an Event ID", "Event ID"); @@ -74,48 +88,67 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) void ModuleControllerDialog::slot_load_module_details( Module::ModuleIdentifier module_id) { GF_UI_LOG_DEBUG("loading module details, module id: {}", module_id); - auto module = module_manager_->SearchModule(module_id); + SettingsObject so(QString("module.%1.so").arg(module_id)); + ModuleSO module_so(so); + + if (module_so.module_id != module_id || + module_so.module_hash != module->GetModuleHash()) { + module_so.module_id = module_id; + module_so.module_hash = module->GetModuleHash(); + module_so.auto_activate = false; + GF_UI_LOG_DEBUG("reseting module settings object, module id: {}", + module_id); + so.Store(module_so.ToJson()); + } QString buffer; QTextStream info(&buffer); - info << "# BASIC INFO" << Qt::endl << Qt::endl; - info << tr("ID") << ": " << module->GetModuleIdentifier() << Qt::endl; - info << tr("Version") << ": " << module->GetModuleVersion() << Qt::endl; - info << tr("SDK Version") << ": " << module->GetModuleSDKVersion() + info << " - " << tr("ID") << ": " << module->GetModuleIdentifier() + << Qt::endl; + info << " - " << tr("Version") << ": " << module->GetModuleVersion() << Qt::endl; - info << tr("Qt ENV Version") << ": " << module->GetModuleQtEnvVersion() + info << " - " << tr("SDK Version") << ": " << module->GetModuleSDKVersion() << Qt::endl; - info << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; - info << tr("Path") << ": " << module->GetModulePath() << Qt::endl; + info << " - " << tr("Qt ENV Version") << ": " + << module->GetModuleQtEnvVersion() << Qt::endl; + info << " - " << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; + info << " - " << tr("Path") << ": " << module->GetModulePath() << Qt::endl; bool if_activated = module_manager_->IsModuleActivated(module_id); - info << tr("Active") << ": " << (if_activated ? tr("True") : tr("False")) - << Qt::endl; + info << " - " << tr("Auto Activate") << ": " + << (module_so.auto_activate ? tr("True") : tr("False")) << Qt::endl; + info << " - " << tr("Active") << ": " + << (if_activated ? tr("True") : tr("False")) << Qt::endl; info << Qt::endl; info << "# METADATA" << Qt::endl << Qt::endl; for (const auto& metadata : module->GetModuleMetaData()) { - info << metadata.first << ": " << metadata.second << "\n"; + info << " - " << metadata.first << ": " << metadata.second << "\n"; } info << Qt::endl; - info << "# Listening Event" << Qt::endl << Qt::endl; + if (if_activated) { + info << "# Listening Event" << Qt::endl << Qt::endl; - auto listening_event_ids = module_manager_->GetModuleListening(module_id); - for (const auto& event_id : listening_event_ids) { - info << " - " << event_id << "\n"; + auto listening_event_ids = module_manager_->GetModuleListening(module_id); + for (const auto& event_id : listening_event_ids) { + info << " - " << event_id << "\n"; + } } ui_->moduleInfoTextBrowser->setText(buffer); ui_->activateOrDeactiveButton->setText(if_activated ? tr("Deactivate") : tr("Activate")); + ui_->autoActivateButton->setText(module_so.auto_activate + ? tr("Disable Auto Activate") + : tr("Enable Auto Activate")); } } // namespace GpgFrontend::UI -- cgit v1.2.3 From 5967d6ccd9e382254a4fffdf5b54655b0faae6fb Mon Sep 17 00:00:00 2001 From: saturneric Date: Sun, 14 Apr 2024 10:19:01 +0200 Subject: fix: use qt designer placeholder instead of custom initialized --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index ee23b80d..54fa9460 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -41,20 +41,14 @@ namespace GpgFrontend::UI { ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) : QDialog(parent), ui_(std::make_shared()), - model_list_view_(new ModuleListView(this)), module_manager_(&Module::ModuleManager::GetInstance()) { ui_->setupUi(this); - model_list_view_->setFixedWidth(250); - model_list_view_->setViewMode(QListView::ListMode); - model_list_view_->setMovement(QListView::Static); - - ui_->moduleListViewLayout->addWidget(model_list_view_); - connect(model_list_view_, &ModuleListView::SignalSelectModule, this, + connect(ui_->moduleListView, &ModuleListView::SignalSelectModule, this, &ModuleControllerDialog::slot_load_module_details); connect(ui_->activateOrDeactiveButton, &QPushButton::clicked, this, [=]() { - auto module_id = model_list_view_->GetCurrentModuleID(); + auto module_id = ui_->moduleListView->GetCurrentModuleID(); if (module_id.isEmpty()) return; if (!module_manager_->IsModuleActivated(module_id)) { @@ -67,7 +61,7 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) }); connect(ui_->autoActivateButton, &QPushButton::clicked, this, [=]() { - auto module_id = model_list_view_->GetCurrentModuleID(); + auto module_id = ui_->moduleListView->GetCurrentModuleID(); SettingsObject so(QString("module.%1.so").arg(module_id)); ModuleSO module_so(so); -- cgit v1.2.3 From a961672975e3ee51442a1a1569f5894b96cf7aa9 Mon Sep 17 00:00:00 2001 From: saturneric Date: Mon, 15 Apr 2024 15:28:26 +0200 Subject: feat: prefer to show module name instead of module id --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index 54fa9460..f7b335dd 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -123,7 +123,7 @@ void ModuleControllerDialog::slot_load_module_details( info << "# METADATA" << Qt::endl << Qt::endl; - for (const auto& metadata : module->GetModuleMetaData()) { + for (const auto& metadata : module->GetModuleMetaData().asKeyValueRange()) { info << " - " << metadata.first << ": " << metadata.second << "\n"; } -- cgit v1.2.3 From 3d2ab7c349b02740511f0f2113fd80f7f44c8333 Mon Sep 17 00:00:00 2001 From: saturneric Date: Tue, 30 Apr 2024 16:07:33 +0200 Subject: feat: improve functions and ui on module --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') 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()), 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; -- cgit v1.2.3 From 3d3c3d954bd2e8422e1ee3c0ba767993de1e4615 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 3 May 2024 17:13:14 +0200 Subject: feat: add option to close all gnupg daemon at close --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index e99e84a3..8dfd8dd6 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -126,7 +126,7 @@ void ModuleControllerDialog::slot_load_module_details( info << " - " << tr("Hash") << ": " << module->GetModuleHash() << Qt::endl; info << " - " << tr("Path") << ": " << module->GetModulePath() << Qt::endl; - bool if_activated = module_manager_->IsModuleActivated(module_id); + auto if_activated = module_manager_->IsModuleActivated(module_id); info << " - " << tr("Auto Activate") << ": " << (module_so.auto_activate ? tr("True") : tr("False")) << Qt::endl; -- cgit v1.2.3 From 1c1b4cb946d5428e3943e6d0f01fef03568409cf Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 3 May 2024 17:43:20 +0200 Subject: fix: update translations --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index 8dfd8dd6..8c04d728 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -46,6 +46,16 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) ui_->setupUi(this); ui_->actionsGroupBox->hide(); + ui_->moduleInfoLabel->setText(tr("Module Informations")); + ui_->actionsGroupBox->setTitle(tr("Actions")); + ui_->showModsDirButton->setText(tr("Show Mods Directory")); + + ui_->tabWidget->setTabText(0, tr("Registered Modules")); + ui_->tabWidget->setTabText(1, tr("Global Register Table")); + ui_->tabWidget->setTabText(2, tr("Debugger")); + + this->setWindowTitle(tr("Module Controller")); + connect(ui_->moduleListView, &ModuleListView::SignalSelectModule, this, &ModuleControllerDialog::slot_load_module_details); @@ -84,6 +94,10 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) QDesktopServices::openUrl(QUrl::fromLocalFile( GlobalSettingStation::GetInstance().GetModulesDir())); }); + +#ifdef RELEASE + ui_->tabWidget->setTabEnabled(2, false); +#endif } void ModuleControllerDialog::slot_load_module_details( @@ -113,7 +127,7 @@ void ModuleControllerDialog::slot_load_module_details( QString buffer; QTextStream info(&buffer); - info << "# BASIC INFO" << Qt::endl << Qt::endl; + info << "# " << tr("BASIC INFO") << Qt::endl << Qt::endl; info << " - " << tr("ID") << ": " << module->GetModuleIdentifier() << Qt::endl; @@ -135,7 +149,7 @@ void ModuleControllerDialog::slot_load_module_details( info << Qt::endl; - info << "# METADATA" << Qt::endl << Qt::endl; + info << "# " << tr("METADATA") << Qt::endl << Qt::endl; for (const auto& metadata : module->GetModuleMetaData().asKeyValueRange()) { info << " - " << metadata.first << ": " << metadata.second << "\n"; @@ -144,7 +158,7 @@ void ModuleControllerDialog::slot_load_module_details( info << Qt::endl; if (if_activated) { - info << "# Listening Event" << Qt::endl << Qt::endl; + info << "# " << tr("Listening Event") << Qt::endl << Qt::endl; auto listening_event_ids = module_manager_->GetModuleListening(module_id); for (const auto& event_id : listening_event_ids) { -- cgit v1.2.3 From a092a8122165d3c2af641bf8ffa9afd785ff0169 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 3 May 2024 21:40:27 +0200 Subject: fix: solve a build issue and add a tip for integrated module --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index 8c04d728..9648f2d3 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -54,6 +54,9 @@ ModuleControllerDialog::ModuleControllerDialog(QWidget* parent) ui_->tabWidget->setTabText(1, tr("Global Register Table")); ui_->tabWidget->setTabText(2, tr("Debugger")); + ui_->tipsLabel->setText( + tr("Tips: Module name front with \"*\" stands for integrated module.")); + this->setWindowTitle(tr("Module Controller")); connect(ui_->moduleListView, &ModuleListView::SignalSelectModule, this, -- cgit v1.2.3 From 1e33c5c4fb86f0c269ffdd13103823977610e33b Mon Sep 17 00:00:00 2001 From: saturneric Date: Sat, 11 May 2024 15:06:23 +0200 Subject: fix: use keyValueBegin() and keyValueEnd() at qt5 env --- src/ui/dialog/controller/ModuleControllerDialog.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/ui/dialog/controller/ModuleControllerDialog.cpp') diff --git a/src/ui/dialog/controller/ModuleControllerDialog.cpp b/src/ui/dialog/controller/ModuleControllerDialog.cpp index 9648f2d3..4c727b48 100644 --- a/src/ui/dialog/controller/ModuleControllerDialog.cpp +++ b/src/ui/dialog/controller/ModuleControllerDialog.cpp @@ -154,9 +154,16 @@ void ModuleControllerDialog::slot_load_module_details( info << "# " << tr("METADATA") << Qt::endl << Qt::endl; +#ifdef QT5_BUILD + auto map = module->GetModuleMetaData(); + for (auto it = map.keyValueBegin(); it != map.keyValueEnd(); ++it) { + info << " - " << it->first << ": " << it->second << "\n"; + } +#else for (const auto& metadata : module->GetModuleMetaData().asKeyValueRange()) { info << " - " << metadata.first << ": " << metadata.second << "\n"; } +#endif info << Qt::endl; -- cgit v1.2.3