summaryrefslogtreecommitdiff
path: root/src/downloadmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/downloadmanager.cpp')
-rw-r--r--src/downloadmanager.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp
index 4defd96b..3e6010db 100644
--- a/src/downloadmanager.cpp
+++ b/src/downloadmanager.cpp
@@ -1091,6 +1091,33 @@ void DownloadManager::openFile(int index)
return;
}
+void DownloadManager::openMetaFile(int index) {
+ if (index < 0 || index >= m_ActiveDownloads.size()) {
+ log::error("OpenMetaFile: invalid download index {}", index);
+ return;
+ }
+
+ const auto path = QDir(m_OutputDirectory);
+ const auto filePath = getFilePath(index);
+ const auto metaPath = filePath + ".meta";
+
+ if (path.exists(metaPath)) {
+ shell::Open(metaPath);
+ return;
+ }
+ else {
+ QSettings metaFile(metaPath, QSettings::IniFormat);
+ metaFile.setValue("removed", false);
+ }
+
+ if (path.exists(metaPath)) {
+ shell::Open(metaPath);
+ return;
+ }
+
+ shell::Explore(filePath);
+}
+
void DownloadManager::openInDownloadsFolder(int index)
{
if ((index < 0) || (index >= m_ActiveDownloads.size())) {