From 6e2ae2444ca0bdea964cf0551edd338e6dafa2bc Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Mon, 17 Jun 2019 04:00:00 -0400 Subject: split text file tab into its own class --- src/modinfodialog.h | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'src/modinfodialog.h') diff --git a/src/modinfodialog.h b/src/modinfodialog.h index df450ac0..97ab9a38 100644 --- a/src/modinfodialog.h +++ b/src/modinfodialog.h @@ -53,9 +53,30 @@ class QTreeView; class CategoryFactory; class TextEditor; +class TextFilesTab; + + +class ModInfoDialogTab +{ +public: + static std::vector> createTabs( + Ui::ModInfoDialog* ui); + + ModInfoDialogTab() = default; + ModInfoDialogTab(const ModInfoDialogTab&) = delete; + ModInfoDialogTab& operator=(const ModInfoDialogTab&) = delete; + ModInfoDialogTab(ModInfoDialogTab&&) = default; + ModInfoDialogTab& operator=(ModInfoDialogTab&&) = default; + virtual ~ModInfoDialogTab() = default; + + virtual void clear() = 0; + virtual bool feedFile(const QString& rootPath, const QString& filename) = 0; + virtual bool canClose() = 0; +}; + /** - * this is a larger dialog used to visualise information abount the mod. + * this is a larger dialog used to visualise information about the mod. * @todo this would probably a good place for a plugin-system **/ class ModInfoDialog : public MOBase::TutorableDialog @@ -147,11 +168,8 @@ private: void deleteFile(const QModelIndex &index); void saveIniTweaks(); void saveCategories(QTreeWidgetItem *currentNode); - void saveCurrentTextFile(); void saveCurrentIniFile(); - void openTextFile(const QString &fileName); void openIniFile(const QString &fileName); - bool allowNavigateFromTXT(); bool allowNavigateFromINI(); FileRenamer::RenameResults hideFile(FileRenamer& renamer, const QString &oldName); FileRenamer::RenameResults unhideFile(FileRenamer& renamer, const QString &oldName); @@ -189,7 +207,6 @@ private slots: void on_tabWidget_currentChanged(int index); void on_primaryCategoryBox_currentIndexChanged(int index); void on_categoriesTree_itemChanged(QTreeWidgetItem *item, int column); - void on_textFileList_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_iniFileList_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_iniTweaksList_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_overwriteTree_itemDoubleClicked(QTreeWidgetItem *item, int column); @@ -234,6 +251,8 @@ private: ModInfo::Ptr m_ModInfo; + std::vector> m_tabs; + QSignalMapper m_ThumbnailMapper; QString m_RootPath; -- cgit v1.3.1