summaryrefslogtreecommitdiff
path: root/src/modinfodialogcategories.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-06-21 22:42:14 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-07-02 10:10:17 -0400
commita72573b385a941adf7d662b8df5c8e35309fdd45 (patch)
tree072fd97f0e7c9b5c34157b17753708f9c852c74a /src/modinfodialogcategories.h
parenta2e5f7d38214c9872a5c3a360065b5790bb29e2f (diff)
split categories tab
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);
+};