summaryrefslogtreecommitdiff
path: root/src/mainwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.h')
-rw-r--r--src/mainwindow.h59
1 files changed, 26 insertions, 33 deletions
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 3aaf62a5..910e243a 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -64,11 +64,13 @@ class ModListSortProxy;
class ModListGroupCategoriesProxy;
-class MainWindow : public QMainWindow, public MOBase::IOrganizer, public MOBase::IPluginDiagnose
+class MainWindow : public QMainWindow, public MOBase::IPluginDiagnose
{
Q_OBJECT
Q_INTERFACES(MOBase::IPluginDiagnose)
+ friend class OrganizerProxy;
+
private:
struct SignalCombinerAnd
@@ -97,7 +99,6 @@ public:
bool addProfile();
void refreshLists();
- void refreshESPList();
void refreshBSAList();
void refreshDataTree();
void refreshSaveList();
@@ -117,34 +118,6 @@ public:
void loadPlugins();
- virtual MOBase::IGameInfo &gameInfo() const;
- virtual MOBase::IModRepositoryBridge *createNexusBridge() const;
- virtual QString profileName() const;
- virtual QString profilePath() const;
- virtual QString downloadsPath() const;
- virtual MOBase::VersionInfo appVersion() const;
- virtual MOBase::IModInterface *getMod(const QString &name);
- virtual MOBase::IModInterface *createMod(MOBase::GuessedValue<QString> &name);
- virtual bool removeMod(MOBase::IModInterface *mod);
- virtual void modDataChanged(MOBase::IModInterface *mod);
- virtual QVariant pluginSetting(const QString &pluginName, const QString &key) const;
- virtual void setPluginSetting(const QString &pluginName, const QString &key, const QVariant &value);
- virtual QVariant persistent(const QString &pluginName, const QString &key, const QVariant &def = QVariant()) const;
- virtual void setPersistent(const QString &pluginName, const QString &key, const QVariant &value, bool sync = true);
- virtual QString pluginDataPath() const;
- virtual MOBase::IModInterface *installMod(const QString &fileName);
- virtual QString resolvePath(const QString &fileName) const;
- virtual QStringList listDirectories(const QString &directoryName) const;
- virtual QStringList findFiles(const QString &path, const std::function<bool(const QString &)> &filter) const;
- virtual QList<FileInfo> findFileInfos(const QString &path, const std::function<bool(const FileInfo&)> &filter) const;
-
- virtual MOBase::IDownloadManager *downloadManager();
- virtual MOBase::IPluginList *pluginList();
- virtual MOBase::IModList *modList();
- virtual HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "", const QString &profile = "");
- virtual bool onAboutToRun(const std::function<bool(const QString&)> &func);
- virtual void refreshModList(bool saveChanges = true);
-
virtual std::vector<unsigned int> activeProblems() const;
virtual QString shortDescription(unsigned int key) const;
virtual QString fullDescription(unsigned int key) const;
@@ -158,6 +131,9 @@ public:
void createStdoutPipe(HANDLE *stdOutRead, HANDLE *stdOutWrite);
std::string readFromPipe(HANDLE stdOutRead);
void processLOOTOut(const std::string &lootOut, std::string &reportURL, std::string &errorMessages, QProgressDialog &dialog);
+
+ HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "", const QString &profile = "");
+
public slots:
void displayColumnSelection(const QPoint &pos);
@@ -200,6 +176,9 @@ protected:
private:
+ void refreshESPList();
+ void refreshModList(bool saveChanges = true);
+
void actionToToolButton(QAction *&sourceAction);
bool verifyPlugin(MOBase::IPlugin *plugin);
void registerPluginTool(MOBase::IPluginTool *tool);
@@ -211,8 +190,6 @@ private:
void setExecutableIndex(int index);
- bool nexusLogin();
-
bool testForSteam();
void startSteam();
@@ -224,6 +201,13 @@ private:
bool refreshProfiles(bool selectProfile = true);
void refreshExecutablesList();
void installMod();
+ MOBase::IModInterface *installMod(const QString &fileName);
+ MOBase::IModInterface *getMod(const QString &name);
+ MOBase::IModInterface *createMod(MOBase::GuessedValue<QString> &name);
+ bool removeMod(MOBase::IModInterface *mod);
+
+ QList<MOBase::IOrganizer::FileInfo> findFileInfos(const QString &path, const std::function<bool (const MOBase::IOrganizer::FileInfo &)> &filter) const;
+
bool modifyExecutablesDialog();
void displayModInformation(ModInfo::Ptr modInfo, unsigned int index, int tab);
void displayModInformation(int row, int tab = 0);
@@ -298,6 +282,8 @@ private:
bool createBackup(const QString &filePath, const QDateTime &time);
QString queryRestore(const QString &filePath);
+ QMenu *modListContextMenu();
+
private:
static const unsigned int PROBLEM_PLUGINSNOTLOADED = 1;
@@ -458,6 +444,8 @@ private slots:
void linkClicked(const QString &url);
+ bool nexusLogin();
+
void loginSuccessful(bool necessary);
void loginSuccessfulUpdate(bool necessary);
void loginFailed(const QString &message);
@@ -489,6 +477,7 @@ private slots:
void nxmRequestFailed(int modID, int fileID, QVariant userData, int requestID, const QString &errorString);
void editCategories();
+ void deselectFilters();
void displayModInformation(const QString &modName, int tab);
void modOpenNext();
@@ -556,6 +545,7 @@ private slots:
void delayedRemove();
void requestDownload(const QUrl &url, QNetworkReply *reply);
+ void profileRefresh();
private slots: // ui slots
// actions
@@ -578,7 +568,6 @@ private slots: // ui slots
void on_modList_customContextMenuRequested(const QPoint &pos);
void on_modList_doubleClicked(const QModelIndex &index);
void on_profileBox_currentIndexChanged(int index);
- void on_profileRefreshBtn_clicked();
void on_savegameList_customContextMenuRequested(const QPoint &pos);
void on_startButton_clicked();
void on_tabWidget_currentChanged(int index);
@@ -597,6 +586,10 @@ private slots: // ui slots
void on_restoreModsButton_clicked();
void on_saveModsButton_clicked();
void on_actionCopy_Log_to_Clipboard_triggered();
+ void on_categoriesAndBtn_toggled(bool checked);
+ void on_categoriesOrBtn_toggled(bool checked);
};
+
+
#endif // MAINWINDOW_H