diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index aba71327..f6ab33e0 100644 --- a/src/config/configfile.cpp +++ b/src/config/configfile.cpp @@ -51,7 +51,7 @@ ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0) if(strcmp(argv[i], "--nowriteaccess") == 0) { noWriteAccess = 1; } } // !!!! Revisionsnummer der Configdefaults !!!!! - configRev = 30; + configRev = 32; //standard defaults logOnOffDefault = "1"; @@ -98,10 +98,14 @@ ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0) ////define data-dir dataDir = configFileName; dataDir += "data\\"; + ////define cache-dir + cacheDir = configFileName; + cacheDir += "cache\\"; //create directories on first start of app mkdir(configFileName.c_str()); mkdir(logDir.c_str()); mkdir(dataDir.c_str()); + mkdir(cacheDir.c_str()); #else @@ -116,11 +120,14 @@ ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0) ////define data-dir dataDir = configFileName; dataDir += "data/"; + ////define cache-dir + cacheDir = configFileName; + cacheDir += "cache\\"; //create directories on first start of app mkdir(configFileName.c_str(), MODUS) ; mkdir(logDir.c_str(), MODUS); mkdir(dataDir.c_str(), MODUS); - + mkdir(cacheDir.c_str(), MODUS); } #endif @@ -199,7 +206,9 @@ ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0) configList.push_back(ConfigInfo("LogDir", CONFIG_TYPE_STRING, logDir)); configList.push_back(ConfigInfo("LogStoreDuration", CONFIG_TYPE_INT, "2")); configList.push_back(ConfigInfo("LogInterval", CONFIG_TYPE_INT, "0")); - configList.push_back(ConfigInfo("DataDir", CONFIG_TYPE_STRING, dataDir)); + configList.push_back(ConfigInfo("UserDataDir", CONFIG_TYPE_STRING, dataDir)); + configList.push_back(ConfigInfo("AppDataDir", CONFIG_TYPE_STRING, myQtToolsInterface->getDataPathStdString())); + configList.push_back(ConfigInfo("CacheDir", CONFIG_TYPE_STRING, cacheDir)); configList.push_back(ConfigInfo("CLA_NoWriteAccess", CONFIG_TYPE_INT, claNoWriteAccess)); //fill tempList firstTime diff --git a/src/config/configfile.h b/src/config/configfile.h index 8cf13519..1e37c349 100644 --- a/src/config/configfile.h +++ b/src/config/configfile.h @@ -67,6 +67,7 @@ private: std::string configFileName; std::string logDir; std::string dataDir; + std::string cacheDir; int configRev; bool noWriteAccess; diff --git a/src/core/common/avatarmanager.cpp b/src/core/common/avatarmanager.cpp index f07b013a..82805491 100644 --- a/src/core/common/avatarmanager.cpp +++ b/src/core/common/avatarmanager.cpp @@ -19,7 +19,13 @@ #include "avatarmanager.h" -#include +#ifdef _WIN32 + #include +#else + #include // includes path.hpp + #include +#endif + #include using namespace std; diff --git a/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp b/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp index 3382dedd..f4bf4a0d 100644 --- a/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp +++ b/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp @@ -69,7 +69,7 @@ void joinNetworkGameDialogImpl::exec() { if (myConfig->readConfigInt("CLA_NoWriteAccess") == 0 ) { //if discwrite-access - myServerProfilesFile = myConfig->readConfigString("DataDir")+"serverprofiles.xml"; + myServerProfilesFile = myConfig->readConfigString("UserDataDir")+"serverprofiles.xml"; //Anlegen wenn noch nicht existiert! QFile serverProfilesfile(QString::fromUtf8(myServerProfilesFile.c_str())); diff --git a/src/gui/qt/qttools/qthelper/qthelper.cpp b/src/gui/qt/qttools/qthelper/qthelper.cpp index dc6a33cc..3246eae1 100644 --- a/src/gui/qt/qttools/qthelper/qthelper.cpp +++ b/src/gui/qt/qttools/qthelper/qthelper.cpp @@ -57,3 +57,7 @@ QString QtHelper::getDataPath() return QDir::cleanPath(path) + "/"; } +std::string QtHelper::getDataPathStdString() +{ + return getDataPath().toUtf8().constData(); +} \ No newline at end of file diff --git a/src/gui/qt/qttools/qthelper/qthelper.h b/src/gui/qt/qttools/qthelper/qthelper.h index 838b49bb..7aa19f39 100644 --- a/src/gui/qt/qttools/qthelper/qthelper.h +++ b/src/gui/qt/qttools/qthelper/qthelper.h @@ -27,6 +27,7 @@ public: std::string getDefaultLanguage(); QString getDataPath(); + std::string getDataPathStdString(); }; diff --git a/src/gui/qt/qttools/qttoolswrapper.cpp b/src/gui/qt/qttools/qttoolswrapper.cpp index e33f9fd0..2165e1e1 100644 --- a/src/gui/qt/qttools/qttoolswrapper.cpp +++ b/src/gui/qt/qttools/qttoolswrapper.cpp @@ -38,3 +38,5 @@ QtToolsWrapper::~QtToolsWrapper() std::string QtToolsWrapper::stringToUtf8(const std::string &myString) { return myQtHelper->stringToUtf8(myString); } std::string QtToolsWrapper::getDefaultLanguage() { return myQtHelper->getDefaultLanguage(); } +std::string QtToolsWrapper::getDataPathStdString() { return myQtHelper->getDataPathStdString(); } + diff --git a/src/gui/qt/qttools/qttoolswrapper.h b/src/gui/qt/qttools/qttoolswrapper.h index 55cc143c..daef1d30 100644 --- a/src/gui/qt/qttools/qttoolswrapper.h +++ b/src/gui/qt/qttools/qttoolswrapper.h @@ -36,6 +36,7 @@ public: std::string stringToUtf8(const std::string &myString); std::string getDefaultLanguage(); + std::string getDataPathStdString(); private: diff --git a/src/gui/qttoolsinterface.h b/src/gui/qttoolsinterface.h index c98101bd..601aeaf6 100644 --- a/src/gui/qttoolsinterface.h +++ b/src/gui/qttoolsinterface.h @@ -29,6 +29,7 @@ public: //qthelper.cpp virtual std::string stringToUtf8(const std::string &) =0; virtual std::string getDefaultLanguage() =0; + virtual std::string getDataPathStdString() =0; };