diff options
Diffstat (limited to 'src/modinfodialogfiletree.h')
| -rw-r--r-- | src/modinfodialogfiletree.h | 48 |
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 |
