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 --- src/ui/widgets/ModuleListView.h | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/ui/widgets/ModuleListView.h (limited to 'src/ui/widgets/ModuleListView.h') diff --git a/src/ui/widgets/ModuleListView.h b/src/ui/widgets/ModuleListView.h new file mode 100644 index 00000000..ba569a6f --- /dev/null +++ b/src/ui/widgets/ModuleListView.h @@ -0,0 +1,53 @@ +/** + * 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 + * + */ + +#pragma once + +#include "core/module/Module.h" + +namespace GpgFrontend::UI { +class ModuleListView : public QListView { + Q_OBJECT + public: + explicit ModuleListView(QWidget *parent); + + auto GetCurrentModuleID() -> Module::ModuleIdentifier; + + signals: + void SignalSelectModule(Module::ModuleIdentifier); + + protected: + void currentChanged(const QModelIndex ¤t, + const QModelIndex &previous) override; + + private: + QStringListModel *model_; + + void load_module_informations(); +}; +}; // namespace GpgFrontend::UI \ No newline at end of file -- 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/widgets/ModuleListView.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ui/widgets/ModuleListView.h') diff --git a/src/ui/widgets/ModuleListView.h b/src/ui/widgets/ModuleListView.h index ba569a6f..0b294bbf 100644 --- a/src/ui/widgets/ModuleListView.h +++ b/src/ui/widgets/ModuleListView.h @@ -46,7 +46,7 @@ class ModuleListView : public QListView { const QModelIndex &previous) override; private: - QStringListModel *model_; + QStandardItemModel *model_; void load_module_informations(); }; -- cgit v1.2.3