diff options
| author | Tannin <devnull@localhost> | 2013-05-17 20:44:40 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-05-17 20:44:40 +0200 |
| commit | 45f6cd21a2c730b9dea322b0dba30120cdc40521 (patch) | |
| tree | b7e25a9265dc825107e846d8dd098113e0350f2f /src | |
| parent | fc3753dcc5b7d55bf99674e7d17962f477053921 (diff) | |
- extended plugin interface to allow plugins access to download manager
- extended plugin interface to allow installation of mods from files
- improved detection of online state
- download tab now also displays files supported through plugins
- batch installer now has basic functionality (downloads and installes files)
Diffstat (limited to 'src')
| -rw-r--r-- | src/downloadmanager.cpp | 49 | ||||
| -rw-r--r-- | src/downloadmanager.h | 33 | ||||
| -rw-r--r-- | src/installationmanager.cpp | 1 | ||||
| -rw-r--r-- | src/mainwindow.cpp | 18 | ||||
| -rw-r--r-- | src/mainwindow.h | 3 | ||||
| -rw-r--r-- | src/modinfo.cpp | 10 | ||||
| -rw-r--r-- | src/modinfo.h | 14 | ||||
| -rw-r--r-- | src/modinfodialog.cpp | 16 | ||||
| -rw-r--r-- | src/nexusinterface.cpp | 49 | ||||
| -rw-r--r-- | src/nexusinterface.h | 6 |
10 files changed, 138 insertions, 61 deletions
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 69edc625..aa6ba12b 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -137,7 +137,7 @@ QString DownloadManager::DownloadInfo::currentURL() DownloadManager::DownloadManager(NexusInterface *nexusInterface, QObject *parent) - : QObject(parent), m_NexusInterface(nexusInterface), m_DirWatcher() + : IDownloadManager(parent), m_NexusInterface(nexusInterface), m_DirWatcher() { connect(&m_DirWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(directoryChanged(QString))); } @@ -173,6 +173,12 @@ void DownloadManager::setOutputDirectory(const QString &outputDirectory) refreshList(); } +void DownloadManager::setSupportedExtensions(const QStringList &extensions) +{ + m_SupportedExtensions = extensions; + refreshList(); +} + void DownloadManager::refreshList() { // remove finished downloads @@ -185,11 +191,11 @@ void DownloadManager::refreshList() } } - QStringList nameFilters; - nameFilters.append("*.rar"); - nameFilters.append("*.zip"); - nameFilters.append("*.7z"); - nameFilters.append("*.fomod"); + QStringList nameFilters(m_SupportedExtensions); + foreach (const QString &extension, m_SupportedExtensions) { + nameFilters.append("*." + extension); + } + nameFilters.append(QString("*").append(UNFINISHED)); QDir dir(QDir::fromNativeSeparators(m_OutputDirectory)); @@ -328,7 +334,7 @@ void DownloadManager::removeFile(int index, bool deleteFile) } if (deleteFile) { - if (!QFile(filePath).remove()) { + if (!shellDelete(QStringList(filePath), NULL)) { reportError(tr("failed to delete %1").arg(filePath)); return; } @@ -419,7 +425,6 @@ void DownloadManager::cancelDownload(int index) if (m_ActiveDownloads.at(index)->m_State == STATE_DOWNLOADING) { setState(m_ActiveDownloads.at(index), STATE_CANCELING); - qDebug("canceled %d - %s", index, m_ActiveDownloads[index]->m_FileName.toUtf8().constData()); } } @@ -622,7 +627,6 @@ QString DownloadManager::getFileNameFromNetworkReply(QNetworkReply *reply) void DownloadManager::setState(DownloadManager::DownloadInfo *info, DownloadManager::DownloadState state) { - qDebug("change state of %s %d -> %d", qPrintable(info->m_FileName), info->m_State, state); info->m_State = state; switch (state) { case STATE_PAUSED: @@ -640,6 +644,12 @@ void DownloadManager::setState(DownloadManager::DownloadInfo *info, DownloadMana } break; case STATE_READY: { createMetaFile(info); + for (int i = 0; i < m_ActiveDownloads.size(); ++i) { + if (m_ActiveDownloads[i] == info) { + emit downloadComplete(i); + return; + } + } } break; default: /* NOP */ break; } @@ -861,6 +871,23 @@ bool DownloadManager::ServerByPreference(const QVariant &LHS, const QVariant &RH return LHSUsers < RHSUsers; } +int DownloadManager::startDownloadURLs(const QStringList &urls) +{ + addDownload(urls, -1); + return m_ActiveDownloads.size() - 1; +} + +int DownloadManager::startDownloadNexusFile(int modID, int fileID) +{ + int newID = m_ActiveDownloads.size(); + addNXMDownload(QString("nxm://%1/mods/%2/files/%3").arg(ToQString(MOShared::GameInfo::instance().getGameName())).arg(modID).arg(fileID)); + return newID; +} + +QString DownloadManager::downloadPath(int id) +{ + return getFilePath(id); +} void DownloadManager::nxmDownloadURLsAvailable(int modID, int fileID, QVariant userData, QVariant resultData, int requestID) { @@ -935,7 +962,7 @@ void DownloadManager::downloadFinished() if ((info->m_State != STATE_CANCELING) && (info->m_State != STATE_PAUSING)) { if ((info->m_Output.size() == 0) || - (reply->error() != QNetworkReply::NoError) || + ((reply->error() != QNetworkReply::NoError) && (reply->error() != QNetworkReply::OperationCanceledError)) || reply->header(QNetworkRequest::ContentTypeHeader).toString().startsWith("text", Qt::CaseInsensitive)) { if (info->m_Tries == 0) { emit showMessage(tr("Download failed: %1 (%2)").arg(reply->errorString()).arg(reply->error())); @@ -983,7 +1010,7 @@ void DownloadManager::downloadFinished() reply->close(); reply->deleteLater(); - if (info->m_Tries > 0) { + if ((info->m_Tries > 0) && error) { --info->m_Tries; resumeDownload(index); } diff --git a/src/downloadmanager.h b/src/downloadmanager.h index 407acd3c..46e852aa 100644 --- a/src/downloadmanager.h +++ b/src/downloadmanager.h @@ -21,6 +21,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #define DOWNLOADMANAGER_H #include "nexusinterface.h" +#include <idownloadmanager.h> #include <set> #include <QObject> #include <QUrl> @@ -52,7 +53,7 @@ Q_DECLARE_METATYPE(NexusInfo) /*! * \brief manages downloading of files and provides progress information for gui elements **/ -class DownloadManager : public QObject +class DownloadManager : public MOBase::IDownloadManager { Q_OBJECT @@ -145,15 +146,10 @@ public: QString getOutputDirectory() const { return m_OutputDirectory; } /** - * @brief start a download from a url - * - * @param url the url to download from - * @param modID the nexus mod id this download belongs to - * @param fileID the nexus file id this download belongs to, if known. Defaults to 0. - * @param nexusInfo information previously retrieved from the nexus network - * @return true if the download was started, false if it wasn't. The latter currently only happens if there is a duplicate and the user decides not to download again - **/ - bool addDownload(const QStringList &URLs, int modID, int fileID = 0, const NexusInfo &nexusInfo = NexusInfo()); + * @brief set the list of supported extensions + * @param extensions list of supported extensions + */ + void setSupportedExtensions(const QStringList &extensions); /** * @brief download from an already open network connection @@ -263,6 +259,11 @@ public: */ static bool ServerByPreference(const QVariant &LHS, const QVariant &RHS); + + virtual int startDownloadURLs(const QStringList &urls); + virtual int startDownloadNexusFile(int modID, int fileID); + virtual QString downloadPath(int id); + signals: void aboutToUpdate(); @@ -330,6 +331,17 @@ private: void startDownload(QNetworkReply *reply, DownloadInfo *newDownload, bool resume); + /** + * @brief start a download from a url + * + * @param url the url to download from + * @param modID the nexus mod id this download belongs to + * @param fileID the nexus file id this download belongs to, if known. Defaults to 0. + * @param nexusInfo information previously retrieved from the nexus network + * @return true if the download was started, false if it wasn't. The latter currently only happens if there is a duplicate and the user decides not to download again + **/ + bool addDownload(const QStringList &URLs, int modID, int fileID = 0, const NexusInfo &nexusInfo = NexusInfo()); + // important: the caller has to lock the list-mutex, otherwise the DownloadInfo-pointer might get invalidated at any time DownloadInfo *findDownload(QObject *reply, int *index = NULL) const; @@ -353,6 +365,7 @@ private: QVector<DownloadInfo*> m_ActiveDownloads; QString m_OutputDirectory; + QStringList m_SupportedExtensions; std::set<int> m_RequestIDs; QVector<int> m_AlphabeticalTranslation; diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index 52ef01c1..5db8877d 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -706,7 +706,6 @@ bool InstallationManager::install(const QString &fileName, const QString &modsDi QString version = ""; QString newestVersion = ""; int categoryID = 0; -// bool nameGuessed = false; QString metaName = fileName.mid(0).append(".meta"); if (QFile(metaName).exists()) { diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e7e9f856..89dc9904 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -106,10 +106,17 @@ static bool isOnline() QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces(); bool connected = false; - for (auto iter = interfaces.begin(); iter != interfaces.end(); ++iter) { + for (auto iter = interfaces.begin(); iter != interfaces.end() && !connected; ++iter) { if ( (iter->flags() & QNetworkInterface::IsUp) && (iter->flags() & QNetworkInterface::IsRunning) && !(iter->flags() & QNetworkInterface::IsLoopBack)) { + auto addresses = iter->addressEntries(); + if (addresses.count() == 0) { + continue; + } + qDebug("interface %s seems to be up (address: %s)", + qPrintable(iter->humanReadableName()), + qPrintable(addresses[0].ip().toString())); connected = true; } } @@ -996,6 +1003,8 @@ void MainWindow::loadPlugins() } } } + + m_DownloadManager.setSupportedExtensions(m_InstallationManager.getSupportedExtensions()); } IGameInfo &MainWindow::gameInfo() const @@ -1818,6 +1827,7 @@ void MainWindow::on_tabWidget_currentChanged(int index) void MainWindow::installMod(const QString &fileName) { +qDebug("install %s", qPrintable(fileName)); bool hasIniTweaks = false; GuessedValue<QString> modName; m_CurrentProfile->writeModlistNow(); @@ -1847,6 +1857,11 @@ void MainWindow::installMod(const QString &fileName) } } +IDownloadManager *MainWindow::downloadManager() +{ + return &m_DownloadManager; +} + void MainWindow::installMod() { @@ -3020,6 +3035,7 @@ void MainWindow::exportModListCSV() fields.push_back(std::make_pair(QString("mod_installed_name"), CSVBuilder::TYPE_STRING)); fields.push_back(std::make_pair(QString("mod_version"), CSVBuilder::TYPE_STRING)); fields.push_back(std::make_pair(QString("file_installed_name"), CSVBuilder::TYPE_STRING)); +// fields.push_back(std::make_pair(QString("file_category"), CSVBuilder::TYPE_INTEGER)); builder.setFields(fields); builder.writeHeader(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 3f2b92a6..24cdb91e 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -105,6 +105,8 @@ public: virtual void modDataChanged(MOBase::IModInterface *mod); virtual QVariant pluginSetting(const QString &pluginName, const QString &key) const; virtual QString pluginDataPath() const; + virtual void installMod(const QString &fileName); + virtual MOBase::IDownloadManager *downloadManager(); void addPrimaryCategoryCandidates(QMenu *primaryCategoryMenu, ModInfo::Ptr info); @@ -177,7 +179,6 @@ private: void refreshDirectoryStructure(); bool refreshProfiles(bool selectProfile = true); void refreshExecutablesList(); - void installMod(const QString &fileName); void installMod(); bool modifyExecutablesDialog(); void displayModInformation(ModInfo::Ptr modInfo, unsigned int index, int tab); diff --git a/src/modinfo.cpp b/src/modinfo.cpp index 2ac7182b..bc475b92 100644 --- a/src/modinfo.cpp +++ b/src/modinfo.cpp @@ -327,7 +327,7 @@ ModInfoRegular::ModInfoRegular(const QDir &path, DirectoryEntry **directoryStruc for (int i = 0; i < numNexusFiles; ++i) { metaFile.setArrayIndex(i); QString infoString = metaFile.value("info", "").toString(); - ModRepositoryFileInfo *info = new ModRepositoryFileInfo(infoString, this); + ModRepositoryFileInfo info(infoString); m_NexusFileInfos.push_back(info); } metaFile.endArray(); @@ -351,7 +351,7 @@ ModInfoRegular::ModInfoRegular(const QDir &path, DirectoryEntry **directoryStruc } connect(&m_NexusBridge, SIGNAL(descriptionAvailable(int,QVariant,QVariant)), this, SLOT(nxmDescriptionAvailable(int,QVariant,QVariant))); - connect(&m_NexusBridge, SIGNAL(filesAvailable(int,QVariant,const QList<ModRepositoryFileInfo*>&)), this, SLOT(nxmFilesAvailable(int,QVariant,QList<ModRepositoryFileInfo*>))); + connect(&m_NexusBridge, SIGNAL(filesAvailable(int,QVariant,const QList<ModRepositoryFileInfo>&)), this, SLOT(nxmFilesAvailable(int,QVariant,QList<ModRepositoryFileInfo>))); connect(&m_NexusBridge, SIGNAL(endorsementToggled(int,QVariant,QVariant)), this, SLOT(nxmEndorsementToggled(int,QVariant,QVariant))); connect(&m_NexusBridge, SIGNAL(requestFailed(int,QVariant,QString)), this, SLOT(nxmRequestFailed(int,QVariant,QString))); } @@ -393,7 +393,7 @@ void ModInfoRegular::saveMeta() metaFile.beginWriteArray("nexusFiles"); for (int i = 0; i < m_NexusFileInfos.size(); ++i) { metaFile.setArrayIndex(i); - metaFile.setValue("info", m_NexusFileInfos.at(i)->toString()); + metaFile.setValue("info", m_NexusFileInfos.at(i).toString()); } metaFile.endArray(); } else { @@ -425,7 +425,7 @@ void ModInfoRegular::nxmDescriptionAvailable(int, QVariant, QVariant resultData) } -void ModInfoRegular::nxmFilesAvailable(int, QVariant, const QList<ModRepositoryFileInfo*> &resultData) +void ModInfoRegular::nxmFilesAvailable(int, QVariant, const QList<ModRepositoryFileInfo> &resultData) { m_NexusFileInfos = resultData; m_LastNexusQuery = QDateTime::currentDateTime(); @@ -653,7 +653,7 @@ QString ModInfoRegular::notes() const return m_Notes; } -void ModInfoRegular::getNexusFiles(QList<ModRepositoryFileInfo*>::const_iterator &begin, QList<ModRepositoryFileInfo*>::const_iterator &end) +void ModInfoRegular::getNexusFiles(QList<ModRepositoryFileInfo>::const_iterator &begin, QList<ModRepositoryFileInfo>::const_iterator &end) { begin = m_NexusFileInfos.begin(); end = m_NexusFileInfos.end(); diff --git a/src/modinfo.h b/src/modinfo.h index 92752e4b..e08ef8b6 100644 --- a/src/modinfo.h +++ b/src/modinfo.h @@ -374,8 +374,8 @@ public: * @param begin iterator to the first file * @param end iterator to one past the last file */ - virtual void getNexusFiles(QList<MOBase::ModRepositoryFileInfo*>::const_iterator &begin, - QList<MOBase::ModRepositoryFileInfo*>::const_iterator &end) = 0; + virtual void getNexusFiles(QList<MOBase::ModRepositoryFileInfo>::const_iterator &begin, + QList<MOBase::ModRepositoryFileInfo>::const_iterator &end) = 0; /** * @return nexus description of the mod (html) @@ -686,7 +686,7 @@ public: * @param begin iterator to the first file * @param end iterator to one past the last file */ - virtual void getNexusFiles(QList<MOBase::ModRepositoryFileInfo*>::const_iterator &begin, QList<MOBase::ModRepositoryFileInfo*>::const_iterator &end); + virtual void getNexusFiles(QList<MOBase::ModRepositoryFileInfo>::const_iterator &begin, QList<MOBase::ModRepositoryFileInfo>::const_iterator &end); /** * @return nexus description of the mod (html) @@ -721,7 +721,7 @@ private: private slots: void nxmDescriptionAvailable(int modID, QVariant userData, QVariant resultData); - void nxmFilesAvailable(int, QVariant, const QList<ModRepositoryFileInfo*> &resultData); + void nxmFilesAvailable(int, QVariant, const QList<ModRepositoryFileInfo> &resultData); void nxmEndorsementToggled(int, QVariant userData, QVariant resultData); void nxmRequestFailed(int modID, QVariant userData, const QString &errorMessage); @@ -748,7 +748,7 @@ private: QString m_InstallationFile; QString m_Notes; QString m_NexusDescription; - QList<MOBase::ModRepositoryFileInfo*> m_NexusFileInfos; + QList<MOBase::ModRepositoryFileInfo> m_NexusFileInfos; QDateTime m_LastNexusQuery; @@ -828,8 +828,8 @@ public: virtual int getHighlight() const; virtual QString getDescription() const; virtual QDateTime getLastNexusQuery() const { return QDateTime(); } - virtual void getNexusFiles(QList<MOBase::ModRepositoryFileInfo*>::const_iterator&, - QList<MOBase::ModRepositoryFileInfo*>::const_iterator&) {} + virtual void getNexusFiles(QList<MOBase::ModRepositoryFileInfo>::const_iterator&, + QList<MOBase::ModRepositoryFileInfo>::const_iterator&) {} virtual QString getNexusDescription() const { return QString(); } private: diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index d1c37263..be3052af 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -781,21 +781,21 @@ void ModInfoDialog::modDetailsUpdated(bool success) // prevent sorting while we change the table filesWidget->setSortingEnabled(false); int row = 0; - QList<ModRepositoryFileInfo*>::const_iterator current, end; + QList<ModRepositoryFileInfo>::const_iterator current, end; m_ModInfo->getNexusFiles(current, end); for (; current != end; ++current) { - ModRepositoryFileInfo *fileInfo = *current; + const ModRepositoryFileInfo &fileInfo = *current; filesWidget->insertRow(row); - int type = fileInfo->categoryID; + int type = fileInfo.categoryID; filesWidget->setItem(row, 4, new QTableWidgetItem(QString("%1").arg(type))); filesWidget->setItem(row, 0, new QTableWidgetItem(getFileCategory(type))); - QTableWidgetItem *nameItem = new QTableWidgetItem(fileInfo->name); - nameItem->setToolTip(fileInfo->description); - nameItem->setData(Qt::UserRole, fileInfo->fileID); + QTableWidgetItem *nameItem = new QTableWidgetItem(fileInfo.name); + nameItem->setToolTip(fileInfo.description); + nameItem->setData(Qt::UserRole, fileInfo.fileID); filesWidget->setItem(row, 1, nameItem); - filesWidget->setItem(row, 2, new QTableWidgetItem(fileInfo->version.canonicalString())); + filesWidget->setItem(row, 2, new QTableWidgetItem(fileInfo.version.canonicalString())); QTableWidgetItem *sizeItem = new QTableWidgetItem(); - sizeItem->setData(Qt::DisplayRole, fileInfo->fileSize); + sizeItem->setData(Qt::DisplayRole, fileInfo.fileSize); filesWidget->setItem(row, 3, sizeItem); ++row; } diff --git a/src/nexusinterface.cpp b/src/nexusinterface.cpp index 56752ca5..f9deb569 100644 --- a/src/nexusinterface.cpp +++ b/src/nexusinterface.cpp @@ -45,6 +45,7 @@ void NexusBridge::requestDescription(int modID, QVariant userData) void NexusBridge::requestFiles(int modID, QVariant userData) { +qDebug("request file %d", modID); m_RequestIDs.insert(m_Interface->requestFiles(modID, this, userData, m_Url)); } @@ -78,24 +79,23 @@ void NexusBridge::nxmFilesAvailable(int modID, QVariant userData, QVariant resul if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); - QList<ModRepositoryFileInfo*> fileInfoList; + QList<ModRepositoryFileInfo> fileInfoList; QVariantList resultList = resultData.toList(); foreach(QVariant file, resultList) { - ModRepositoryFileInfo *temp = new ModRepositoryFileInfo(NULL); + ModRepositoryFileInfo temp; QVariantMap fileInfo = file.toMap(); - temp->uri = fileInfo["uri"].toString(); - temp->name = fileInfo["name"].toString(); - temp->description = fileInfo["description"].toString(); - temp->version = VersionInfo(fileInfo["version"].toString()); - temp->categoryID = fileInfo["category_id"].toInt(); - temp->fileID = fileInfo["id"].toInt(); - temp->fileSize = fileInfo["size"].toInt(); + temp.uri = fileInfo["uri"].toString(); + temp.name = fileInfo["name"].toString(); + temp.description = fileInfo["description"].toString(); + temp.version = VersionInfo(fileInfo["version"].toString()); + temp.categoryID = fileInfo["category_id"].toInt(); + temp.fileID = fileInfo["id"].toInt(); + temp.fileSize = fileInfo["size"].toInt(); fileInfoList.append(temp); } - emit bla(userData.toString()); emit filesAvailable(modID, userData, fileInfoList); } } @@ -114,7 +114,7 @@ void NexusBridge::nxmDownloadURLsAvailable(int modID, int fileID, QVariant userD std::set<int>::iterator iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); - //emit downloadURLsAvailable(modID, fileID, userData, resultData); + emit downloadURLsAvailable(modID, fileID, userData, resultData); } } @@ -123,7 +123,7 @@ void NexusBridge::nxmEndorsementToggled(int modID, QVariant userData, QVariant r std::set<int>::iterator iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); - //emit endorsementToggled(modID, userData, resultData); + emit endorsementToggled(modID, userData, resultData); } } @@ -132,7 +132,7 @@ void NexusBridge::nxmRequestFailed(int modID, QVariant userData, int requestID, std::set<int>::iterator iter = m_RequestIDs.find(requestID); if (iter != m_RequestIDs.end()) { m_RequestIDs.erase(iter); - //emit requestFailed(modID, userData, errorMessage); + emit requestFailed(modID, userData, errorMessage); } } @@ -265,6 +265,25 @@ int NexusInterface::requestUpdates(const std::vector<int> &modIDs, QObject *rece } +void NexusInterface::fakeFiles() +{ + static int id = 42; + + QVariantList result; + QVariantMap fileMap; + fileMap["uri"] = "fakeURI"; + fileMap["name"] = "fakeName"; + fileMap["description"] = "fakeDescription"; + fileMap["version"] = "1.0.0"; + fileMap["category_id"] = "1"; + fileMap["id"] = "1"; + fileMap["size"] = "512"; + result.append(fileMap); + + emit nxmFilesAvailable(1234, "fake", result, id++); +} + + int NexusInterface::requestFiles(int modID, QObject *receiver, QVariant userData, const QString &url) { NXMRequestInfo requestInfo(modID, NXMRequestInfo::TYPE_FILES, userData, url); @@ -275,6 +294,10 @@ int NexusInterface::requestFiles(int modID, QObject *receiver, QVariant userData connect(this, SIGNAL(nxmRequestFailed(int,QVariant,int,QString)), receiver, SLOT(nxmRequestFailed(int,QVariant,int,QString)), Qt::UniqueConnection); +// QTimer::singleShot(1000, this, SLOT(fakeFiles())); +// static int fID = 42; +// return fID++; + nextRequest(); return requestInfo.m_ID; } diff --git a/src/nexusinterface.h b/src/nexusinterface.h index cb455e93..d69275e1 100644 --- a/src/nexusinterface.h +++ b/src/nexusinterface.h @@ -107,10 +107,6 @@ signals: void endorsementToggled(int modID, QVariant userData, QVariant resultData); void requestFailed(int modID, QVariant userData, const QString &errorMessage);*/ -signals: - - void bla(QString userData); - public slots: void nxmDescriptionAvailable(int modID, QVariant userData, QVariant resultData, int requestID); @@ -263,6 +259,8 @@ private slots: void downloadRequestedNXM(const QString &url); + void fakeFiles(); + private: struct NXMRequestInfo { |
