aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/ModuleListView.h
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-02-29 10:15:57 +0000
committersaturneric <[email protected]>2024-02-29 10:15:57 +0000
commitc1f5b3336836e15d193582e9b8f3e044f7d8bc1b (patch)
tree35e9edb2e8f0c80dbafb76cc05ad6fe92c2c11d0 /src/ui/widgets/ModuleListView.h
parentfeat: upgrade module system (diff)
downloadGpgFrontend-c1f5b3336836e15d193582e9b8f3e044f7d8bc1b.tar.gz
GpgFrontend-c1f5b3336836e15d193582e9b8f3e044f7d8bc1b.zip
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
Diffstat (limited to 'src/ui/widgets/ModuleListView.h')
-rw-r--r--src/ui/widgets/ModuleListView.h53
1 files changed, 53 insertions, 0 deletions
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 <[email protected]>
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ *
+ * 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 <[email protected]> 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 &current,
+ const QModelIndex &previous) override;
+
+ private:
+ QStringListModel *model_;
+
+ void load_module_informations();
+};
+}; // namespace GpgFrontend::UI \ No newline at end of file