summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-06-21 21:43:16 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-07-02 10:10:17 -0400
commita2e5f7d38214c9872a5c3a360065b5790bb29e2f (patch)
tree98669ba24ed811d0e026e909a8c2f49d722104ac /src
parent90280399aaa1abb571c32d4ff063b4f8d5efc39b (diff)
split ModInfoDialogTab
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/modinfodialog.cpp36
-rw-r--r--src/modinfodialog.h33
-rw-r--r--src/modinfodialogconflicts.cpp1
-rw-r--r--src/modinfodialogconflicts.h5
-rw-r--r--src/modinfodialogesps.h2
-rw-r--r--src/modinfodialogimages.h2
-rw-r--r--src/modinfodialogtab.cpp36
-rw-r--r--src/modinfodialogtab.h42
-rw-r--r--src/modinfodialogtextfiles.h2
10 files changed, 90 insertions, 72 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index eead6541..adaddb77 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -57,6 +57,7 @@ SET(organizer_SRCS
modinfodialogconflicts.cpp
modinfodialogesps.cpp
modinfodialogimages.cpp
+ modinfodialogtab.cpp
modinfodialogtextfiles.cpp
modinfo.cpp
modinfobackup.cpp
@@ -161,6 +162,7 @@ SET(organizer_HDRS
modinfodialogconflicts.h
modinfodialogesps.h
modinfodialogimages.h
+ modinfodialogtab.h
modinfodialogtextfiles.h
modinfo.h
modinfobackup.h
@@ -363,6 +365,7 @@ set(modinfo
modinfodialogconflicts
modinfodialogesps
modinfodialogimages
+ modinfodialogtab
modinfodialogtextfiles
modinfoforeign
modinfooverwrite
diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp
index d52103b9..8231d366 100644
--- a/src/modinfodialog.cpp
+++ b/src/modinfodialog.cpp
@@ -66,42 +66,6 @@ using namespace MOShared;
const int max_scan_for_context_menu = 50;
-bool ModInfoDialogTab::canClose()
-{
- return true;
-}
-
-void ModInfoDialogTab::saveState(Settings&)
-{
- // no-op
-}
-
-void ModInfoDialogTab::restoreState(const Settings& s)
-{
- // no-op
-}
-
-void ModInfoDialogTab::setMod(ModInfo::Ptr, MOShared::FilesOrigin*)
-{
- // no-op
-}
-
-void ModInfoDialogTab::update()
-{
- // no-op
-}
-
-void ModInfoDialogTab::emitOriginModified(int originID)
-{
- emit originModified(originID);
-}
-
-void ModInfoDialogTab::emitModOpen(QString name)
-{
- emit modOpen(name);
-}
-
-
class ModFileListWidget : public QListWidgetItem {
friend bool operator<(const ModFileListWidget &LHS, const ModFileListWidget &RHS);
public:
diff --git a/src/modinfodialog.h b/src/modinfodialog.h
index 2a3ee2d8..8e7fed17 100644
--- a/src/modinfodialog.h
+++ b/src/modinfodialog.h
@@ -43,7 +43,6 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <set>
#include <directoryentry.h>
-
namespace Ui {
class ModInfoDialog;
}
@@ -52,37 +51,7 @@ class QFileSystemModel;
class QTreeView;
class CategoryFactory;
class TextEditor;
-
-
-class ModInfoDialogTab : public QObject
-{
- Q_OBJECT;
-
-public:
- 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();
- virtual void saveState(Settings& s);
- virtual void restoreState(const Settings& s);
-
- virtual void setMod(ModInfo::Ptr mod, MOShared::FilesOrigin* origin);
- virtual void update();
-
-signals:
- void originModified(int originID);
- void modOpen(QString name);
-
-protected:
- void emitOriginModified(int originID);
- void emitModOpen(QString name);
-};
+class ModInfoDialogTab;
class ElideLeftDelegate : public QStyledItemDelegate
diff --git a/src/modinfodialogconflicts.cpp b/src/modinfodialogconflicts.cpp
index 0107b8a1..1734f4f9 100644
--- a/src/modinfodialogconflicts.cpp
+++ b/src/modinfodialogconflicts.cpp
@@ -1,5 +1,6 @@
#include "modinfodialogconflicts.h"
#include "ui_modinfodialog.h"
+#include "modinfodialog.h"
#include "utility.h"
using namespace MOShared;
diff --git a/src/modinfodialogconflicts.h b/src/modinfodialogconflicts.h
index 5843884a..4d4f279c 100644
--- a/src/modinfodialogconflicts.h
+++ b/src/modinfodialogconflicts.h
@@ -1,10 +1,13 @@
#ifndef MODINFODIALOGCONFLICTS_H
#define MODINFODIALOGCONFLICTS_H
-#include "modinfodialog.h"
+#include "modinfodialogtab.h"
#include "expanderwidget.h"
+#include "filterwidget.h"
+#include "directoryentry.h"
class ConflictsTab;
+class OrganizerCore;
class GeneralConflictsTab : public QObject
{
diff --git a/src/modinfodialogesps.h b/src/modinfodialogesps.h
index 8da70377..d71ad3ff 100644
--- a/src/modinfodialogesps.h
+++ b/src/modinfodialogesps.h
@@ -1,7 +1,7 @@
#ifndef MODINFODIALOGESPS_H
#define MODINFODIALOGESPS_H
-#include "modinfodialog.h"
+#include "modinfodialogtab.h"
class ESPItem;
diff --git a/src/modinfodialogimages.h b/src/modinfodialogimages.h
index a40904f7..708045c8 100644
--- a/src/modinfodialogimages.h
+++ b/src/modinfodialogimages.h
@@ -1,7 +1,7 @@
#ifndef MODINFODIALOGIMAGES_H
#define MODINFODIALOGIMAGES_H
-#include "modinfodialog.h"
+#include "modinfodialogtab.h"
class ScalableImage : public QWidget
{
diff --git a/src/modinfodialogtab.cpp b/src/modinfodialogtab.cpp
new file mode 100644
index 00000000..b4734526
--- /dev/null
+++ b/src/modinfodialogtab.cpp
@@ -0,0 +1,36 @@
+#include "modinfodialogtab.h"
+
+bool ModInfoDialogTab::canClose()
+{
+ return true;
+}
+
+void ModInfoDialogTab::saveState(Settings&)
+{
+ // no-op
+}
+
+void ModInfoDialogTab::restoreState(const Settings& s)
+{
+ // no-op
+}
+
+void ModInfoDialogTab::setMod(ModInfo::Ptr, MOShared::FilesOrigin*)
+{
+ // no-op
+}
+
+void ModInfoDialogTab::update()
+{
+ // no-op
+}
+
+void ModInfoDialogTab::emitOriginModified(int originID)
+{
+ emit originModified(originID);
+}
+
+void ModInfoDialogTab::emitModOpen(QString name)
+{
+ emit modOpen(name);
+}
diff --git a/src/modinfodialogtab.h b/src/modinfodialogtab.h
new file mode 100644
index 00000000..93a495f4
--- /dev/null
+++ b/src/modinfodialogtab.h
@@ -0,0 +1,42 @@
+#ifndef MODINFODIALOGTAB_H
+#define MODINFODIALOGTAB_H
+
+#include "modinfo.h"
+#include <QObject>
+
+namespace MOShared { class FilesOrigin; }
+namespace Ui { class ModInfoDialog; }
+
+class Settings;
+
+class ModInfoDialogTab : public QObject
+{
+ Q_OBJECT;
+
+public:
+ 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();
+ virtual void saveState(Settings& s);
+ virtual void restoreState(const Settings& s);
+
+ virtual void setMod(ModInfo::Ptr mod, MOShared::FilesOrigin* origin);
+ virtual void update();
+
+signals:
+ void originModified(int originID);
+ void modOpen(QString name);
+
+protected:
+ void emitOriginModified(int originID);
+ void emitModOpen(QString name);
+};
+
+#endif // MODINFODIALOGTAB_H
diff --git a/src/modinfodialogtextfiles.h b/src/modinfodialogtextfiles.h
index d30e20d7..11691d64 100644
--- a/src/modinfodialogtextfiles.h
+++ b/src/modinfodialogtextfiles.h
@@ -1,7 +1,7 @@
#ifndef MODINFODIALOGTEXTFILES_H
#define MODINFODIALOGTEXTFILES_H
-#include "modinfodialog.h"
+#include "modinfodialogtab.h"
#include <QSplitter>
#include <QListWidget>