summaryrefslogtreecommitdiff
path: root/src/nexusinterface.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-09-08 20:37:23 +0200
committerTannin <devnull@localhost>2014-09-08 20:37:23 +0200
commit482f13a50b921e61d34d09f72a7fb4216efe742b (patch)
tree780120e8b7691645fe6d4a0394843032df279548 /src/nexusinterface.cpp
parentcc42e76f54a37a0af9704f3966fdb48625686c24 (diff)
- re-enabled building of loot_cli and started developing against the new api
- extended set of default categories - more tolerand bbcode parser - added a few colors for the bbcode parser - more fixes to qt5 compatibility - started work on ability to unloading (and thus re-loading) of plugins - names of plugins are no longer localizable (because those names are also used to store settings) - added settings to disable individual diagnosis settings - path of dependencies is now configured in a .pri file instead of environment variablees - bugfix: if the modid-input is canceled, the id was saved as -1 and wasn't re-requested from the user - bugfix: moving files with the SHFileOperation-Api didn't update the vfs correctly (still not perfect but better) - bugfix: attempt to remove the deleter-file seems to have caused error messages for some users - bugfix: fixed a couple of cases that might have caused the tutorial to hang
Diffstat (limited to 'src/nexusinterface.cpp')
-rw-r--r--src/nexusinterface.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/nexusinterface.cpp b/src/nexusinterface.cpp
index d844cd39..30221f4b 100644
--- a/src/nexusinterface.cpp
+++ b/src/nexusinterface.cpp
@@ -145,30 +145,25 @@ QAtomicInt NexusInterface::NXMRequestInfo::s_NextID(0);
NexusInterface::NexusInterface()
: m_NMMVersion()
{
- atexit(&cleanup);
-
VS_FIXEDFILEINFO version = GetFileVersion(ToWString(QApplication::applicationFilePath()));
m_MOVersion = VersionInfo(version.dwFileVersionMS >> 16,
version.dwFileVersionMS & 0xFFFF,
version.dwFileVersionLS >> 16);
m_AccessManager = new NXMAccessManager(this, m_MOVersion.displayString());
-
m_DiskCache = new QNetworkDiskCache(this);
connect(m_AccessManager, SIGNAL(requestNXMDownload(QString)), this, SLOT(downloadRequestedNXM(QString)));
}
-
-void NexusInterface::cleanup()
-{
-}
-
-
NXMAccessManager *NexusInterface::getAccessManager()
{
return m_AccessManager;
}
+NexusInterface::~NexusInterface()
+{
+ cleanup();
+}
NexusInterface *NexusInterface::instance()
{
@@ -176,14 +171,12 @@ NexusInterface *NexusInterface::instance()
return &s_Instance;
}
-
void NexusInterface::setCacheDirectory(const QString &directory)
{
m_DiskCache->setCacheDirectory(directory);
m_AccessManager->setCache(m_DiskCache);
}
-
void NexusInterface::setNMMVersion(const QString &nmmVersion)
{
m_NMMVersion = nmmVersion;
@@ -378,6 +371,14 @@ bool NexusInterface::requiresLogin(const NXMRequestInfo &info)
|| (info.m_Type == NXMRequestInfo::TYPE_DOWNLOADURL);
}
+void NexusInterface::cleanup()
+{
+// delete m_AccessManager;
+// delete m_DiskCache;
+ m_AccessManager = nullptr;
+ m_DiskCache = nullptr;
+}
+
void NexusInterface::nextRequest()
{
if ((m_ActiveRequest.size() >= MAX_ACTIVE_DOWNLOADS)