From 26482ab02544efb2b77530f5a9f5deb8cfad6911 Mon Sep 17 00:00:00 2001 From: DOOMer Date: Wed, 11 Apr 2012 22:52:02 +0400 Subject: [PATCH] [X11 only] add moving config files from old-style location ($HOME/.screengrab/) to XDG_CONFIG_HOME ($XDG_CONFIG_HOME/screengrab/) --- src/core/config.cpp | 26 +++++++++++++++++++++++-- src/modules/uploader/uploaderconfig.cpp | 15 ++++++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/core/config.cpp b/src/core/config.cpp index d6ed386..1d71cec 100644 --- a/src/core/config.cpp +++ b/src/core/config.cpp @@ -26,6 +26,8 @@ #include #include +#include + const QString KEY_SAVEDIR = "defDir"; const QString KEY_SAVENAME = "defFilename"; const QString KEY_SAVEFORMAT = "defImgFormat"; @@ -125,6 +127,13 @@ QString Config::getConfigFile() #ifdef Q_WS_X11 configFile = Config::getConfigDir() + "screengrab.conf"; + + // moving old stile storange setting to XDG_CONFIG_HOME storage + QString oldConfigFile = QDir::homePath()+ QDir::separator()+".screengrab"+ QDir::separator() + "screengrab.conf"; + if (QFile::exists(oldConfigFile) == true && QFile::exists(configFile) == false) + { + QFile::rename(oldConfigFile, configFile); + } #endif #ifdef Q_WS_WIN @@ -138,8 +147,21 @@ QString Config::getConfigDir() { QString configDir; #ifdef Q_WS_X11 - configDir.append(QDir::homePath()+ QDir::separator()+".screengrab"+ - QDir::separator()); + // old style config path + QString oldConfigDir = QDir::homePath()+ QDir::separator()+".screengrab"+ QDir::separator(); + configDir = qgetenv("XDG_CONFIG_HOME"); + + // Ubuntu hack -- if XDG_CONFIG_HOME is missing + if (configDir.isEmpty() == true) + { + configDir = QDir::homePath(); + configDir += QDir::separator(); + configDir += ".config"; + } + + configDir.append(QDir::separator()); + configDir.append("screengrab"); + configDir.append(QDir::separator()); #endif // if win32 diff --git a/src/modules/uploader/uploaderconfig.cpp b/src/modules/uploader/uploaderconfig.cpp index b1b4ab2..d3656d3 100644 --- a/src/modules/uploader/uploaderconfig.cpp +++ b/src/modules/uploader/uploaderconfig.cpp @@ -20,6 +20,8 @@ #include "uploaderconfig.h" #include +#include +#include #include "core/config.h" @@ -28,10 +30,19 @@ const QString groupName = "imageshack.us"; UploaderConfig::UploaderConfig() -{ +{ QString configFile = Config::getConfigDir(); -#ifdef Q_WS_X11 +#ifdef Q_WS_X11 + // old style config settings storage + QString oldConfigFile = QDir::homePath()+ QDir::separator()+".screengrab"+ QDir::separator() + "uploader.conf"; + configFile += "uploader.conf"; + + // move config file to new location + if (QFile::exists(oldConfigFile) == true && QFile::exists(configFile) == false) + { + QFile::rename(oldConfigFile, configFile); + } #endif #ifdef Q_WS_WIN