summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2018-04-23 22:12:46 -0700
committerSilarn <jrim@rimpo.org>2018-04-23 22:12:46 -0700
commit31bf15f3b43e52a9e9090b8e71191c81be084ba6 (patch)
treed7dbe418c49b9cdd496a19577437aba6faaa389d /src
parent141ac311d29f2fae6bf6ef0172708bd841e624fe (diff)
Need to check if the file is in the download directory for creating meta
Diffstat (limited to 'src')
-rw-r--r--src/downloadmanager.cpp9
-rw-r--r--src/downloadmanager.h2
2 files changed, 6 insertions, 5 deletions
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp
index 3d88e803..aec2ad85 100644
--- a/src/downloadmanager.cpp
+++ b/src/downloadmanager.cpp
@@ -74,12 +74,13 @@ DownloadManager::DownloadInfo *DownloadManager::DownloadInfo::createNew(const Mo
return info;
}
-DownloadManager::DownloadInfo *DownloadManager::DownloadInfo::createFromMeta(const QString &filePath, bool showHidden)
+DownloadManager::DownloadInfo *DownloadManager::DownloadInfo::createFromMeta(const QString &filePath, bool showHidden, const QString outputDirectory)
{
DownloadInfo *info = new DownloadInfo;
QString metaFileName = filePath + ".meta";
- if (!QFile(metaFileName).exists()) return nullptr;
+ QFileInfo metaFileInfo(metaFileName);
+ if (QDir::fromNativeSeparators(metaFileInfo.path()).compare(QDir::fromNativeSeparators(outputDirectory), Qt::CaseInsensitive) != 0) return nullptr;
QSettings metaFile(metaFileName, QSettings::IniFormat);
if (!showHidden && metaFile.value("removed", false).toBool()) {
return nullptr;
@@ -322,7 +323,7 @@ void DownloadManager::refreshList()
QString fileName = QDir::fromNativeSeparators(m_OutputDirectory) + "/" + file;
- DownloadInfo *info = DownloadInfo::createFromMeta(fileName, m_ShowHidden);
+ DownloadInfo *info = DownloadInfo::createFromMeta(fileName, m_ShowHidden, m_OutputDirectory);
if (info != nullptr) {
m_ActiveDownloads.push_front(info);
}
@@ -945,7 +946,7 @@ void DownloadManager::markInstalled(QString fileName)
DownloadManager::DownloadInfo* DownloadManager::getDownloadInfo(QString fileName)
{
- return DownloadInfo::createFromMeta(fileName, true);
+ return DownloadInfo::createFromMeta(fileName, true, m_OutputDirectory);
}
void DownloadManager::markUninstalled(int index)
diff --git a/src/downloadmanager.h b/src/downloadmanager.h
index 780aeb5c..308d365b 100644
--- a/src/downloadmanager.h
+++ b/src/downloadmanager.h
@@ -93,7 +93,7 @@ private:
bool m_Hidden;
static DownloadInfo *createNew(const MOBase::ModRepositoryFileInfo *fileInfo, const QStringList &URLs);
- static DownloadInfo *createFromMeta(const QString &filePath, bool showHidden);
+ static DownloadInfo *createFromMeta(const QString &filePath, bool showHidden, const QString outputDirectory);
/**
* @brief rename the file