From a26f89d269db0e37b2afd89e6d99fbd45a70c7c6 Mon Sep 17 00:00:00 2001 From: konrad Date: Sun, 9 Mar 2008 13:32:14 +0000 Subject: [PATCH] added code to detect data directory git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@106 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33 --- src/main.cpp | 25 +++++++++++++++++++++++++ src/main.h | 6 ++++++ 2 files changed, 31 insertions(+), 0 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 3cb590e..3ecbb54 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -53,6 +53,28 @@ QString choseLanguage(bool warn) return lang; } +QString dataDir; + +#include + +void initDataDir() +{ + QSettings set; + if(set.contains("datadir")) + dataDir=set.value("datadir").toString(); + else{ +#ifdef Q_OS_WIN32 + dataDir=getenv("APPDATA"); +#else + dataDir=getenv("HOME"); +#endif + if(dataDir=="") + qFatal("Cannot determine application data directory."); + dataDir+="/.magicSmoke"; + set.setValue("datadir",dataDir); + } +} + int main(int argc,char**argv) { //create global app @@ -82,6 +104,9 @@ int main(int argc,char**argv) mstrans.load("smoke_"+lang); app.installTranslator(&mstrans); + //try to find data dir + initDataDir(); + //check/generate host settings if(!QSettings().contains("hostkey")){ MKeyGen mkg; diff --git a/src/main.h b/src/main.h index 2bdb629..de76588 100644 --- a/src/main.h +++ b/src/main.h @@ -10,5 +10,11 @@ // // +#ifndef MAGICSMOKE_MAIN_H +#define MAGICSMOKE_MAIN_H + QString choseLanguage(bool warn=true); +extern QString dataDir; + +#endif -- 1.7.2.5