summaryrefslogtreecommitdiff
path: root/src/modinfodialogcategories.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modinfodialogcategories.h')
-rw-r--r--src/modinfodialogcategories.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/modinfodialogcategories.h b/src/modinfodialogcategories.h
new file mode 100644
index 00000000..c8b52fec
--- /dev/null
+++ b/src/modinfodialogcategories.h
@@ -0,0 +1,27 @@
+#include "modinfodialogtab.h"
+
+class CategoryFactory;
+
+class CategoriesTab : public ModInfoDialogTab
+{
+public:
+ CategoriesTab(ModInfoDialogTabContext cx);
+
+ void clear() override;
+ void update() override;
+ bool canHandleSeparators() const override;
+ bool usesOriginFiles() const override;
+
+private:
+ void add(
+ const CategoryFactory& factory, const std::set<int>& enabledCategories,
+ QTreeWidgetItem* root, int rootLevel);
+
+ void updatePrimary();
+ void addChecked(QTreeWidgetItem* tree);
+
+ void save(QTreeWidgetItem* currentNode);
+
+ void onCategoryChanged(QTreeWidgetItem* item, int col);
+ void onPrimaryChanged(int index);
+};