summaryrefslogtreecommitdiff
path: root/src/modinfodialogcategories.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modinfodialogcategories.h')
-rw-r--r--src/modinfodialogcategories.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/modinfodialogcategories.h b/src/modinfodialogcategories.h
new file mode 100644
index 00000000..c0644c7f
--- /dev/null
+++ b/src/modinfodialogcategories.h
@@ -0,0 +1,29 @@
+#include "modinfodialogtab.h"
+
+class CategoryFactory;
+
+class CategoriesTab : public ModInfoDialogTab
+{
+public:
+ CategoriesTab(QWidget* parent, Ui::ModInfoDialog* ui);
+
+ void clear() override;
+ void setMod(ModInfo::Ptr mod, MOShared::FilesOrigin* origin) override;
+ void update() override;
+
+private:
+ Ui::ModInfoDialog* ui;
+ ModInfo::Ptr m_mod;
+
+ 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);
+};