diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-02-09 08:52:03 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-09 08:52:03 -0500 |
| commit | 1f1f99f253f981ae3d11e9df177a144d00dbce0e (patch) | |
| tree | 01d38125329508f5628f9221f797e303180c8fc3 /src/datatab.h | |
| parent | 718c2a56f91f824c5eab69d8cc16294f77243370 (diff) | |
| parent | 3a80685189967fbf4cfa002ac2b8a4fa421306ca (diff) | |
Merge pull request #994 from isanae/generic-file-list
New file tree
Diffstat (limited to 'src/datatab.h')
| -rw-r--r-- | src/datatab.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/datatab.h b/src/datatab.h new file mode 100644 index 00000000..a0f29a5f --- /dev/null +++ b/src/datatab.h @@ -0,0 +1,60 @@ +#include "modinfodialogfwd.h" +#include "modinfo.h" +#include <filterwidget.h> +#include <QPushButton> +#include <QTreeWidget> +#include <QCheckBox> + +namespace Ui { class MainWindow; } +class OrganizerCore; +class Settings; +class PluginContainer; +class FileTree; + +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 updateTree(); + +signals: + void executablesChanged(); + void originModified(int originID); + void displayModInformation(ModInfo::Ptr m, unsigned int i, ModInfoTabIDs tab); + +private: + struct DataTabUi + { + QPushButton* refresh; + QTreeView* tree; + QCheckBox* conflicts; + QCheckBox* archives; + }; + + OrganizerCore& m_core; + PluginContainer& m_pluginContainer; + QWidget* m_parent; + DataTabUi ui; + std::unique_ptr<FileTree> m_filetree; + std::vector<QTreeWidgetItem*> m_removeLater; + MOBase::FilterWidget m_filter; + bool m_firstActivation; + + void onRefresh(); + void onItemExpanded(QTreeWidgetItem* item); + void onConflicts(); + void onArchives(); + void updateOptions(); + void ensureFullyLoaded(); +}; |
