mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-19 12:59:56 -07:00
Merge commit 'refs/merge-requests/11' of git://gitorious.org/qbittorrent/qbittorrent
This commit is contained in:
commit
6c52dbd477
2 changed files with 1293 additions and 1253 deletions
|
@ -49,6 +49,10 @@
|
|||
#include <QDesktopServices>
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
#include <cstdlib>
|
||||
#endif
|
||||
|
||||
#include "misc.h"
|
||||
#include "qinisettings.h"
|
||||
|
||||
|
@ -181,10 +185,46 @@ public:
|
|||
}
|
||||
|
||||
// Downloads
|
||||
QString getSavePath() const {
|
||||
QString getSavePath() {
|
||||
#ifdef Q_WS_WIN
|
||||
return value(QString::fromUtf8("Preferences/Downloads/SavePath"),
|
||||
QDir(QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation)).absoluteFilePath("Downloads")).toString();
|
||||
#else defined(Q_OS_LINUX)
|
||||
QString save_path = value(QString::fromUtf8("Preferences/Downloads/SavePath")).toString();
|
||||
if (!save_path.isEmpty())
|
||||
return save_path;
|
||||
|
||||
// Default save path on Linux
|
||||
QString config_path = QString::fromLocal8Bit(getenv("XDG_CONFIG_HOME"));
|
||||
if (config_path.isEmpty())
|
||||
config_path = QDir::home().absoluteFilePath(".config");
|
||||
|
||||
if (QFile::exists(conf + "/user-dirs.dirs")) {
|
||||
QSettings settings(conf + "/user-dirs.dirs", QSettings::IniFormat);
|
||||
QString xdg_download_dir = settings.value("XDG_DOWNLOAD_DIR").toString();
|
||||
if (!xdg_download_dir.isEmpty()) {
|
||||
// Resolve environment variables
|
||||
QRegExp envar("$([a-ZA-Z_]+)");
|
||||
int pos = 0;
|
||||
while ((pos = envar.indexIn(xdg_download_dir, pos)) != -1) {
|
||||
QString variable = envar.cap(1);
|
||||
QString replacement = QString::fromLocal8Bit(getenv(variable.toLocal8Bit()));
|
||||
if (!replacement.isEmpty())
|
||||
xdg_download_dir.replace("$"+variable, replacement);
|
||||
}
|
||||
save_path = xdg_download_dir;
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback
|
||||
if (save_path.isEmpty() || !QFile::exists(save_path))
|
||||
save_path = QDir::home().absoluteFilePath("/Downloads");
|
||||
|
||||
// Save it
|
||||
setSavePath(save_path);
|
||||
|
||||
return save_path;
|
||||
|
||||
#else
|
||||
return value(QString::fromUtf8("Preferences/Downloads/SavePath"), QDir::home().absoluteFilePath("qBT_dir")).toString();
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PROJECT_NAME = qbittorrent
|
||||
PROJECT_VERSION = 2.9.0rc1
|
||||
PROJECT_VERSION = 2.9.0rc2
|
||||
|
||||
os2 {
|
||||
DEFINES += VERSION=\'\"v$${PROJECT_VERSION}\"\'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue