diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-12-10 10:48:09 -0500 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-02-04 03:33:16 -0500 |
| commit | 7e748d15c9d4fdf42b753f58e033899c5753b899 (patch) | |
| tree | 1dd850ea652acf4cbcc8d43a8dc8d50dbc0bee72 /src/datatab.h | |
| parent | e9da5b4fad488a5e1ff61d68cc6a24b68f0d4440 (diff) | |
split data tab
removed a bunch of undefined functions in MainWindow
Diffstat (limited to 'src/datatab.h')
| -rw-r--r-- | src/datatab.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/datatab.h b/src/datatab.h new file mode 100644 index 00000000..27d36936 --- /dev/null +++ b/src/datatab.h @@ -0,0 +1,83 @@ +#include "modinfodialogfwd.h" +#include "modinfo.h" +#include <QPushButton> +#include <QTreeWidget> +#include <QCheckBox> + +namespace Ui { class MainWindow; } +class OrganizerCore; +class Settings; +class PluginContainer; + +namespace MOShared { class DirectoryEntry; } + +class DataTab : public QObject +{ + Q_OBJECT; + +public: + DataTab( + OrganizerCore& core, PluginContainer& pc, + QWidget* parent, Ui::MainWindow* ui); + + void saveState(Settings& s) const; + void restoreState(const Settings& s); + void activated(); + + void refreshDataTreeKeepExpandedNodes(); + void refreshDataTree(); + +signals: + void executablesChanged(); + void originModified(int originID); + void displayModInformation(ModInfo::Ptr m, unsigned int i, ModInfoTabIDs tab); + +private: + struct DataTabUi + { + QPushButton* refresh; + QTreeWidget* tree; + QCheckBox* conflicts; + QCheckBox* archives; + }; + + OrganizerCore& m_core; + PluginContainer& m_pluginContainer; + bool m_archives; + QWidget* m_parent; + DataTabUi ui; + std::vector<QTreeWidgetItem*> m_removeLater; + + void onRefresh(); + void onItemExpanded(QTreeWidgetItem* item); + void onItemActivated(QTreeWidgetItem* item, int col); + void onContextMenu(const QPoint &pos); + void onConflicts(); + void onArchives(); + + void updateTo( + QTreeWidgetItem *subTree, const std::wstring &directorySoFar, + const MOShared::DirectoryEntry &directoryEntry, bool conflictsOnly, + QIcon *fileIcon, QIcon *folderIcon); + + QTreeWidgetItem* singleSelection(); + + void openSelection(); + void open(QTreeWidgetItem* item); + + void runSelectionHooked(); + void runHooked(QTreeWidgetItem* item); + + void previewSelection(); + void preview(QTreeWidgetItem* item); + + void addAsExecutable(); + void openOriginInExplorer(); + void openModInfo(); + void hideFile(); + void unhideFile(); + void writeDataToFile(); + void writeDataToFile( + QFile &file, const QString &directory, + const MOShared::DirectoryEntry &directoryEntry); +}; |
