create app-directories only on startup

This commit is contained in:
doitux
2007-05-05 19:02:11 +00:00
parent fead5805e9
commit e72c25203b
5 changed files with 41 additions and 28 deletions
+32 -25
View File
@@ -36,7 +36,7 @@ class QtToolsWrapper;
using namespace std; using namespace std;
ConfigFile::ConfigFile() ConfigFile::ConfigFile(bool configFirstStart)
{ {
// !!!! Revisionsnummer der Configdefaults !!!!! // !!!! Revisionsnummer der Configdefaults !!!!!
configRev = 17; configRev = 17;
@@ -72,49 +72,56 @@ ConfigFile::ConfigFile()
configFileName = curDir; configFileName = curDir;
} }
} }
//Programmordner erstellen //define app-dir
configFileName += "\\pokerth\\"; configFileName += "\\pokerth\\";
mkdir(configFileName.c_str()); ////define log-dir
//Log-File Ordner auch erstellen
logDir = configFileName; logDir = configFileName;
logDir += "log-files\\"; logDir += "log-files\\";
mkdir(logDir.c_str()); ////define data-dir
//data Ordner auch erstellen
dataDir = configFileName; dataDir = configFileName;
dataDir += "data\\"; dataDir += "data\\";
mkdir(dataDir.c_str()); //create directories on first start of app
if (configFirstStart) {
mkdir(configFileName.c_str());
mkdir(logDir.c_str());
mkdir(dataDir.c_str());
}
#else #else
//Programmordner erstellen //define app-dir
const char *homePath = getenv("HOME"); const char *homePath = getenv("HOME");
if(homePath) { if(homePath) {
configFileName = homePath; configFileName = homePath;
configFileName += "/.pokerth/"; configFileName += "/.pokerth/";
mkdir(configFileName.c_str(), MODUS) ; ////define log-dir
//Log-File Ordner auch erstellen
logDir = configFileName; logDir = configFileName;
logDir += "log-files/"; logDir += "log-files/";
mkdir(logDir.c_str(), MODUS); ////define data-dir
//data Ordner auch erstellen
dataDir = configFileName; dataDir = configFileName;
dataDir += "data/"; dataDir += "data/";
mkdir(dataDir.c_str(), MODUS); //create directories on first start of app
if (configFirstStart) {
mkdir(configFileName.c_str(), MODUS) ;
mkdir(logDir.c_str(), MODUS);
mkdir(dataDir.c_str(), MODUS);
}
} }
#endif #endif
configFileName += "config.xml"; configFileName += "config.xml";
//Prüfen ob Configfile existiert --> sonst anlegen if (configFirstStart) {
TiXmlDocument doc(configFileName); //Prüfen ob Configfile existiert --> sonst anlegen
if(!doc.LoadFile()){ createDefaultConfig(); } TiXmlDocument doc(configFileName);
else { if(!doc.LoadFile()){ createDefaultConfig(); }
//Prüfen ob die Revision stimmt ansonsten löschen und neue anlegen else {
int temp = 0; //Prüfen ob die Revision stimmt ansonsten löschen und neue anlegen
TiXmlHandle docHandle( &doc ); int temp = 0;
TiXmlElement* conf = docHandle.FirstChild( "PokerTH" ).FirstChild( "Configuration" ).FirstChild( "ConfigRevision" ).ToElement(); TiXmlHandle docHandle( &doc );
if ( conf ) { conf->QueryIntAttribute("value", &temp ); } TiXmlElement* conf = docHandle.FirstChild( "PokerTH" ).FirstChild( "Configuration" ).FirstChild( "ConfigRevision" ).ToElement();
if (temp < configRev) { /*löschen()*/ createDefaultConfig() ;} if ( conf ) { conf->QueryIntAttribute("value", &temp ); }
if (temp < configRev) { /*löschen()*/ createDefaultConfig() ;}
}
} }
} }
+1 -1
View File
@@ -27,7 +27,7 @@
class ConfigFile{ class ConfigFile{
public: public:
ConfigFile(); ConfigFile(bool configFirstStart =0);
~ConfigFile(); ~ConfigFile();
@@ -28,8 +28,8 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent)
setupUi(this); setupUi(this);
stackedWidget->removeWidget(page_4); // stackedWidget->removeWidget(page_4);
listWidget->takeItem(2); // listWidget->takeItem(2);
// page_4->hide(); // page_4->hide();
playerNickIsChanged = FALSE; playerNickIsChanged = FALSE;
+5
View File
@@ -30,6 +30,7 @@
#include "session.h" #include "session.h"
#include "guiwrapper.h" #include "guiwrapper.h"
#include "configfile.h"
#include <net/socket_startup.h> #include <net/socket_startup.h>
#include <cstdlib> #include <cstdlib>
@@ -59,6 +60,10 @@ class GuiWrapper;
int main( int argc, char **argv ) int main( int argc, char **argv )
{ {
//create defaultconfig
bool configFirstStart = 1;
ConfigFile myConfig(configFirstStart);
//ENABLE_LEAK_CHECK(); //ENABLE_LEAK_CHECK();
//_CrtSetBreakAlloc(49937); //_CrtSetBreakAlloc(49937);
+1
View File
@@ -32,6 +32,7 @@ using namespace std;
Session::Session(GuiInterface *g) Session::Session(GuiInterface *g)
: currentGameID(0), myNetClient(0), myNetServer(0), actualGame(0), myGui(g) : currentGameID(0), myNetClient(0), myNetServer(0), actualGame(0), myGui(g)
{ {
myConfig = new ConfigFile; myConfig = new ConfigFile;
} }