summaryrefslogtreecommitdiff
path: root/src/organizercore.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2015-01-06 19:31:53 +0100
committerTannin <devnull@localhost>2015-01-06 19:31:53 +0100
commit9edc39633b82b5e02d33c4b0a395fe110af28eb4 (patch)
tree90d627525292cb87f3d4b7330b1847a17b568b61 /src/organizercore.h
parentb415db619ed027ec2acd283983624293274b090f (diff)
- bugfixes
- moved more functionality to game-plugins - further decoupled management functionality from the UI - created another "tutorial" which is only a single page with relevant parts of the ui highlighted with info as tooltips
Diffstat (limited to 'src/organizercore.h')
-rw-r--r--src/organizercore.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/organizercore.h b/src/organizercore.h
index cf8d10f5..4d9b0a7c 100644
--- a/src/organizercore.h
+++ b/src/organizercore.h
@@ -17,6 +17,7 @@
#include <directoryentry.h>
#include <imoinfo.h>
#include <iplugindiagnose.h>
+#include <iplugingame.h>
#include <versioninfo.h>
#include <guessedvalue.h>
#include <boost/signals2.hpp>
@@ -27,6 +28,9 @@
class PluginContainer;
+namespace MOBase {
+ class IPluginGame;
+}
class OrganizerCore : public QObject, public MOBase::IPluginDiagnose
{
@@ -68,6 +72,8 @@ public:
void connectPlugins(PluginContainer *container);
void disconnectPlugins();
+ void setManagedGame(const QString &gameName);
+
void updateExecutablesList(QSettings &settings);
void startMOUpdate();
@@ -92,7 +98,7 @@ public:
ModListSortProxy *createModListProxyModel();
PluginListSortProxy *createPluginListProxyModel();
- HANDLE spawnBinaryDirect(const QFileInfo &binary, const QString &arguments, const QString &profileName, const QDir &currentDirectory, const QString &steamAppID);
+ MOBase::IPluginGame *managedGame() const;
bool isArchivesInit() const { return m_ArchivesInit; }
@@ -116,6 +122,8 @@ public:
void syncOverwrite();
+ void createDefaultProfile();
+
public:
MOBase::IGameInfo &gameInfo() const;
MOBase::IModRepositoryBridge *createNexusBridge() const;
@@ -132,7 +140,7 @@ public:
QVariant persistent(const QString &pluginName, const QString &key, const QVariant &def) const;
void setPersistent(const QString &pluginName, const QString &key, const QVariant &value, bool sync);
QString pluginDataPath() const;
- virtual MOBase::IModInterface *installMod(const QString &fileName);
+ virtual MOBase::IModInterface *installMod(const QString &fileName, const QString &initModName);
QString resolvePath(const QString &fileName) const;
QStringList listDirectories(const QString &directoryName) const;
QStringList findFiles(const QString &path, const std::function<bool (const QString &)> &filter) const;
@@ -147,6 +155,7 @@ public:
bool onAboutToRun(const std::function<bool (const QString &)> &func);
bool onFinishedRun(const std::function<void (const QString &, unsigned int)> &func);
void refreshModList(bool saveChanges = true);
+ QStringList defaultArchiveList();
public: // IPluginDiagnose interface
@@ -181,6 +190,8 @@ signals:
*/
void modInstalled(const QString &modName);
+ void managedGameChanged(MOBase::IPluginGame *gamePlugin);
+
private:
void storeSettings();
@@ -190,7 +201,6 @@ private:
void updateModActiveState(int index, bool active);
bool testForSteam();
- QStringList defaultArchiveList();
private slots:
@@ -211,6 +221,8 @@ private:
IUserInterface *m_UserInterface;
PluginContainer *m_PluginContainer;
+ QString m_GameName;
+ MOBase::IPluginGame *m_GamePlugin;
Profile *m_CurrentProfile;