diff options
Diffstat (limited to 'src/downloadmanager.cpp')
| -rw-r--r-- | src/downloadmanager.cpp | 27 |
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())) { |
