aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/ModuleListView.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-04-15 13:28:26 +0000
committersaturneric <[email protected]>2024-04-15 13:29:10 +0000
commita961672975e3ee51442a1a1569f5894b96cf7aa9 (patch)
tree8227d8e42d0a3eca58001e1d120ce7e8f7437148 /src/ui/widgets/ModuleListView.cpp
parentfeat: add a grt viewer and solve some issues in gnupg info tab (diff)
downloadGpgFrontend-a961672975e3ee51442a1a1569f5894b96cf7aa9.tar.gz
GpgFrontend-a961672975e3ee51442a1a1569f5894b96cf7aa9.zip
feat: prefer to show module name instead of module id
Diffstat (limited to 'src/ui/widgets/ModuleListView.cpp')
-rw-r--r--src/ui/widgets/ModuleListView.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/ui/widgets/ModuleListView.cpp b/src/ui/widgets/ModuleListView.cpp
index 41c8b259..6a386813 100644
--- a/src/ui/widgets/ModuleListView.cpp
+++ b/src/ui/widgets/ModuleListView.cpp
@@ -33,7 +33,7 @@
namespace GpgFrontend::UI {
ModuleListView::ModuleListView(QWidget *parent)
- : QListView(parent), model_(new QStringListModel(this)) {
+ : QListView(parent), model_(new QStandardItemModel(this)) {
setModel(model_);
setEditTriggers(QAbstractItemView::NoEditTriggers);
@@ -43,22 +43,28 @@ ModuleListView::ModuleListView(QWidget *parent)
void ModuleListView::currentChanged(const QModelIndex &current,
const QModelIndex &previous) {
QListView::currentChanged(current, previous);
- emit this->SignalSelectModule(model_->data(current).toString());
+ auto *item = model_->itemFromIndex(current);
+ if (item != nullptr) {
+ emit this->SignalSelectModule(item->data(Qt::UserRole + 1).toString());
+ }
}
void ModuleListView::load_module_informations() {
- auto module_ids =
- Module::ModuleManager::GetInstance().ListAllRegisteredModuleID();
+ auto &module_manager = Module::ModuleManager::GetInstance();
+ auto module_ids = module_manager.ListAllRegisteredModuleID();
- QStringList model_data;
+ model_->clear();
for (const auto &module_id : module_ids) {
- model_data.append(module_id);
+ auto module = module_manager.SearchModule(module_id);
+ auto meta_data = module->GetModuleMetaData();
+ auto *item = new QStandardItem(meta_data.value("Name", module_id));
+ item->setData(module_id, Qt::UserRole + 1);
+ model_->appendRow(item);
}
-
- model_->setStringList(model_data);
}
auto ModuleListView::GetCurrentModuleID() -> Module::ModuleIdentifier {
- return model_->data(currentIndex()).toString();
+ auto *item = model_->itemFromIndex(currentIndex());
+ return item != nullptr ? item->data(Qt::UserRole + 1).toString() : "";
}
}; // namespace GpgFrontend::UI