summaryrefslogtreecommitdiff
path: root/src/modinfodialogfiletree.h
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-07-22 01:00:42 -0500
committerSilarn <jrim@rimpo.org>2019-07-22 01:00:42 -0500
commitdcd6d624672019727d7effd17aac86f72bff438b (patch)
tree1e8d3856f657d898c5992631599cf272d785f973 /src/modinfodialogfiletree.h
parent179a73857125ee604f42b0d5c2d765183c86d2c7 (diff)
parente73c309f08eff98f0dbd2590f594a83b67431eac (diff)
Merge branch 'Develop'
Diffstat (limited to 'src/modinfodialogfiletree.h')
-rw-r--r--src/modinfodialogfiletree.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/modinfodialogfiletree.h b/src/modinfodialogfiletree.h
new file mode 100644
index 00000000..f9fa62d4
--- /dev/null
+++ b/src/modinfodialogfiletree.h
@@ -0,0 +1,48 @@
+#ifndef MODINFODIALOGFILETREE_H
+#define MODINFODIALOGFILETREE_H
+
+#include "modinfodialogtab.h"
+
+class FileTreeTab : public ModInfoDialogTab
+{
+public:
+ FileTreeTab(ModInfoDialogTabContext cx);
+
+ void clear() override;
+ void update() override;
+ bool deleteRequested() override;
+
+private:
+ struct Actions
+ {
+ QAction *newFolder = nullptr;
+ QAction *open = nullptr;
+ QAction *preview = nullptr;
+ QAction *explore = nullptr;
+ QAction *rename = nullptr;
+ QAction *del = nullptr;
+ QAction *hide = nullptr;
+ QAction *unhide = nullptr;
+ };
+
+ QFileSystemModel* m_fs;
+ Actions m_actions;
+
+ void onCreateDirectory();
+ void onOpen();
+ void onPreview();
+ void onExplore();
+ void onRename();
+ void onDelete();
+ void onHide();
+ void onUnhide();
+ void onOpenInExplorer();
+ void onContextMenu(const QPoint &pos);
+
+ QModelIndex singleSelection() const;
+ bool deleteFile(const QModelIndex& index);
+ bool deleteFileRecursive(const QModelIndex& index);
+ void changeVisibility(bool visible);
+};
+
+#endif // MODINFODIALOGFILETREE_H