mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-28 16:13:53 +03:00
respect XDG_CONFIG_HOME for getting user config dir.
Under linux the XDG Base Directory Specification define different enviroment variables where to store what.
This commit is contained in:
parent
8b9a8ebeaf
commit
4e0496f74d
1 changed files with 16 additions and 3 deletions
|
@ -26,17 +26,30 @@ static void setupFavLink_private(const QString &folder) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// returns the autostart directory the linux way
|
||||||
|
// and respects the XDG_CONFIG_HOME env variable
|
||||||
|
// can be replaces for qt5 with QStandardPaths
|
||||||
|
QString getUserAutostartDir_private()
|
||||||
|
{
|
||||||
|
QString config = QLatin1String(qgetenv("XDG_CONFIG_HOME"));
|
||||||
|
|
||||||
|
if (config.isEmpty()) {
|
||||||
|
config = QDir::homePath()+QLatin1String("/.config");
|
||||||
|
}
|
||||||
|
config += QLatin1String("/autostart/");
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
bool hasLaunchOnStartup_private(const QString &appName)
|
bool hasLaunchOnStartup_private(const QString &appName)
|
||||||
{
|
{
|
||||||
QString userAutoStartPath = QDir::homePath()+QLatin1String("/.config/autostart/");
|
QString desktopFileLocation = getUserAutostartDir_private()+appName+QLatin1String(".desktop");
|
||||||
QString desktopFileLocation = userAutoStartPath+appName+QLatin1String(".desktop");
|
|
||||||
return QFile::exists(desktopFileLocation);
|
return QFile::exists(desktopFileLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void setLaunchOnStartup_private(const QString &appName, const QString& guiName, bool enable)
|
void setLaunchOnStartup_private(const QString &appName, const QString& guiName, bool enable)
|
||||||
{
|
{
|
||||||
QString userAutoStartPath = QDir::homePath()+QLatin1String("/.config/autostart/");
|
QString userAutoStartPath = getUserAutostartDir_private();
|
||||||
QString desktopFileLocation = userAutoStartPath+appName+QLatin1String(".desktop");
|
QString desktopFileLocation = userAutoStartPath+appName+QLatin1String(".desktop");
|
||||||
if (enable) {
|
if (enable) {
|
||||||
if (!QDir().exists(userAutoStartPath) && !QDir().mkdir(userAutoStartPath)) {
|
if (!QDir().exists(userAutoStartPath) && !QDir().mkdir(userAutoStartPath)) {
|
||||||
|
|
Loading…
Reference in a new issue