diff options
| author | Tannin <devnull@localhost> | 2014-05-13 21:20:44 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2014-05-13 21:20:44 +0200 |
| commit | 977b4075254ca79e68bbdec2e689eccb291fe701 (patch) | |
| tree | 0afa2ad971bb786ca6acfa19944cd8381e925c8b /src/nexusinterface.h | |
| parent | f4b1aba61ae81b4151695798006b3a787e0de6de (diff) | |
- mod list context menu split into two menus (one for whole list, one for selected mods)
- added option to combine category filters using "or"
- added context menu option for deselecting category filters
- slightly changed ui on the category filters
- added a sample plugin for cpp that can be built without building the rest of MO
- simple installer can now be configured to run without any user interaction
- extended interface for python plugins
- iorganizer implementation moved out of the main window
- nexus requests from plugins will now be identified in the user agent
- bugfix: shortcuts created from MO used the wrong working directory
- bugfix: deactivation of bsas didn't stick
- bugfix: file hiding mechanism wasn't active
- bugfix: executables linked on the toolbar couldn't be removed if the executable was removed first
- bugfix: the endorsement-filter couldn't be combined with other filters
- bugfix: python interface to repository bridge was broken
Diffstat (limited to 'src/nexusinterface.h')
| -rw-r--r-- | src/nexusinterface.h | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/nexusinterface.h b/src/nexusinterface.h index 6067d027..c4427474 100644 --- a/src/nexusinterface.h +++ b/src/nexusinterface.h @@ -54,7 +54,7 @@ class NexusBridge : public MOBase::IModRepositoryBridge public: - NexusBridge(); + NexusBridge(const QString &subModule = ""); /** * @brief request description for a mod @@ -111,6 +111,7 @@ private: NexusInterface *m_Interface; QString m_Url; + QString m_SubModule; std::set<int> m_RequestIDs; }; @@ -145,7 +146,7 @@ public: * @param url the url to request from * @return int an id to identify the request **/ - int requestDescription(int modID, QObject *receiver, QVariant userData, + int requestDescription(int modID, QObject *receiver, QVariant userData, const QString &subModule, const QString &url = MOBase::ToQString(MOShared::GameInfo::instance().getNexusInfoUrl())); /** @@ -156,7 +157,7 @@ public: * @param url the url to request from * @return int an id to identify the request */ - int requestUpdates(const std::vector<int> &modIDs, QObject *receiver, QVariant userData, + int requestUpdates(const std::vector<int> &modIDs, QObject *receiver, QVariant userData, const QString &subModule, const QString &url = MOBase::ToQString(MOShared::GameInfo::instance().getNexusInfoUrl())); /** @@ -168,7 +169,7 @@ public: * @param url the url to request from * @return int an id to identify the request **/ - int requestFiles(int modID, QObject *receiver, QVariant userData, + int requestFiles(int modID, QObject *receiver, QVariant userData, const QString &subModule, const QString &url = MOBase::ToQString(MOShared::GameInfo::instance().getNexusInfoUrl())); /** @@ -181,7 +182,7 @@ public: * @param url the url to request from * @return int an id to identify the request **/ - int requestFileInfo(int modID, int fileID, QObject *receiver, QVariant userData, + int requestFileInfo(int modID, int fileID, QObject *receiver, QVariant userData, const QString &subModule, const QString &url = MOBase::ToQString(MOShared::GameInfo::instance().getNexusInfoUrl())); /** @@ -194,7 +195,7 @@ public: * @param url the url to request from * @return int an id to identify the request **/ - int requestDownloadURL(int modID, int fileID, QObject *receiver, QVariant userData, + int requestDownloadURL(int modID, int fileID, QObject *receiver, QVariant userData, const QString &subModule, const QString &url = MOBase::ToQString(MOShared::GameInfo::instance().getNexusInfoUrl())); /** @@ -206,7 +207,7 @@ public: * @param url the url to request from * @return int an id to identify the request */ - int requestToggleEndorsement(int modID, bool endorse, QObject *receiver, QVariant userData, + int requestToggleEndorsement(int modID, bool endorse, QObject *receiver, QVariant userData, const QString &subModule, const QString &url = MOBase::ToQString(MOShared::GameInfo::instance().getNexusInfoUrl())); /** @@ -220,6 +221,11 @@ public: **/ void setNMMVersion(const QString &nmmVersion); + /** + * @brief called when the log-in completes. This was, requests waiting for the log-in can be run + */ + void loginCompleted(); + public: /** @@ -234,6 +240,8 @@ signals: void requestNXMDownload(const QString &url); + void needLogin(); + void nxmDescriptionAvailable(int modID, QVariant userData, QVariant resultData, int requestID); void nxmUpdatesAvailable(const std::vector<int> &modIDs, QVariant userData, QVariant resultData, int requestID); void nxmFilesAvailable(int modID, QVariant userData, QVariant resultData, int requestID); @@ -270,19 +278,14 @@ private: QVariant m_UserData; QTimer *m_Timeout; QString m_URL; + QString m_SubModule; bool m_Reroute; int m_ID; int m_Endorse; - NXMRequestInfo(int modID, Type type, QVariant userData, const QString &url) - : m_ModID(modID), m_FileID(0), m_Reply(NULL), m_Type(type), m_UserData(userData), - m_Timeout(NULL), m_Reroute(false), m_ID(s_NextID.fetchAndAddAcquire(1)), m_URL(url) {} - NXMRequestInfo(std::vector<int> modIDList, Type type, QVariant userData, const QString &url) - : m_ModID(-1), m_ModIDList(modIDList), m_FileID(0), m_Reply(NULL), m_Type(type), m_UserData(userData), - m_Timeout(NULL), m_Reroute(false), m_ID(s_NextID.fetchAndAddAcquire(1)), m_URL(url) {} - NXMRequestInfo(int modID, int fileID, Type type, QVariant userData, const QString &url) - : m_ModID(modID), m_FileID(fileID), m_Reply(NULL), m_Type(type), m_UserData(userData), - m_Timeout(NULL), m_Reroute(false), m_ID(s_NextID.fetchAndAddAcquire(1)), m_URL(url) {} + NXMRequestInfo(int modID, Type type, QVariant userData, const QString &subModule, const QString &url); + NXMRequestInfo(std::vector<int> modIDList, Type type, QVariant userData, const QString &subModule, const QString &url); + NXMRequestInfo(int modID, int fileID, Type type, QVariant userData, const QString &subModule, const QString &url); private: static QAtomicInt s_NextID; @@ -295,6 +298,7 @@ private: NexusInterface(); void nextRequest(); void requestFinished(std::list<NXMRequestInfo>::iterator iter); + bool requiresLogin(const NXMRequestInfo &info); static void cleanup(); private: |
