Don't create 'data' subdirectory on Linux

This commit is contained in:
lbilli 2019-12-12 09:56:16 -05:00
parent 5be7b256e9
commit 1c7bfcac46
No known key found for this signature in database
GPG key ID: BDC4552D2003CB80
2 changed files with 15 additions and 3 deletions

View file

@ -138,7 +138,7 @@ These are unstable/unsupported platforms, and in all likelihood, whatever the is
* **For performance-related issues**, include as much profiling data as you can (resource usage graphs, etc).
* Paste the **qBittorrent log** (or put the contents of the log in a gist and provide a link to the gist). The log can be viewed in the GUI (View -> Log -> tick all boxes). If you can't do that, the file is at:
- Linux: `~/.local/share/data/qBittorrent/logs/qBittorrent.log`
- Linux: `~/.local/share/qBittorrent/logs/qBittorrent.log`
- Windows: `%LocalAppData%\qBittorrent\logs`
- macOS: `~/Library/Application Support/qBittorrent/qBittorrent.log`

View file

@ -76,9 +76,21 @@ QString Private::DefaultProfile::dataLocation() const
#if defined(Q_OS_WIN) || defined (Q_OS_MACOS)
return locationWithConfigurationName(QStandardPaths::AppLocalDataLocation);
#else
// on Linux gods know why qBittorrent creates 'data' subdirectory in ~/.local/share/
return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
// On Linux keep using the legacy directory ~/.local/share/data/ if it exists
const QString legacyDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
+ QLatin1String("/data/") + profileName() + QLatin1Char('/');
const QString dataDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)
+ QLatin1Char('/') + profileName() + QLatin1Char('/');
if (QDir(legacyDir).exists()) {
qWarning("The legacy data directory '%s' is used. It is recommended to move its content to '%s'",
qUtf8Printable(legacyDir), qUtf8Printable(dataDir));
return legacyDir;
}
return dataDir;
#endif
}