diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp
index d89a9b9b..a50490ee 100644
--- a/src/config/configfile.cpp
+++ b/src/config/configfile.cpp
@@ -34,23 +34,34 @@ using namespace std;
ConfigFile::ConfigFile()
{
// !!!! Revisionsnummer der Configdefaults !!!!!
- configRev = 3;
+ configRev = 4;
// Pfad und Dateinamen setzen
#ifdef _WIN32
const char *appDataPath = getenv("AppData");
if (appDataPath)
- {
+ { //Programmordner erstellen
configFileName = appDataPath;
configFileName += "\\pokerth\\";
mkdir(configFileName.c_str());
+ //Log-File Ordner auch erstellen
+ logDir = configFileName;
+ logDir += "\\log-files\\";
+ mkdir(logDir.c_str());
+
}
#else
- // hier Linux/Mac Code zur Basispfadbestimmung, z.B.
- string homePath = getenv("HOME");
- configFileName = homePath+"/.pokerth/";
- mkdir(configFileName.c_str(), MODUS) ;
- // wenn nicht existiert, erzeugen!
+ //Programmordner erstellen
+ const char *homePath = getenv("HOME");
+ if(homePath) {
+ configFileName = homePath;
+ configFileName += "/.pokerth/";
+ mkdir(configFileName.c_str(), MODUS) ;
+ //Log-File Ordner auch erstellen
+ logDir = configFileName;
+ logDir += "/log-files/";
+ mkdir(logDir.c_str(), MODUS);
+ }
#endif
configFileName += "config.xml";
@@ -147,7 +158,13 @@ void ConfigFile::createDefaultConfig() {
TiXmlElement * confElement18 = new TiXmlElement( "FlipsideOwnFile" );
config->LinkEndChild( confElement18 );
confElement18->SetAttribute("value", "");
-
+ TiXmlElement * confElement20 = new TiXmlElement( "LogDir" );
+ config->LinkEndChild( confElement20 );
+ confElement20->SetAttribute("value", logDir);
+ TiXmlElement * confElement21 = new TiXmlElement( "LogStoreDuration" );
+ config->LinkEndChild( confElement21 );
+ confElement21->SetAttribute("value", 2);
+
doc.SaveFile( configFileName );
}
diff --git a/src/config/configfile.h b/src/config/configfile.h
index 966e135b..196c3a26 100644
--- a/src/config/configfile.h
+++ b/src/config/configfile.h
@@ -40,6 +40,7 @@ public:
private:
std::string configFileName;
+ std::string logDir;
int configRev;
};
diff --git a/src/gui/qt/settingsdialog.ui b/src/gui/qt/settingsdialog.ui
index 8a3d420b..e051f66e 100644
--- a/src/gui/qt/settingsdialog.ui
+++ b/src/gui/qt/settingsdialog.ui
@@ -6,7 +6,7 @@
0
0
580
- 342
+ 349
@@ -435,7 +435,56 @@ p, li { white-space: pre-wrap; }
6
- -
+
-
+
+
+ 0
+
+
+ 6
+
+
-
+
+
+
+ 99
+ 16777215
+
+
+
+ Store Log Files for
+
+
+
+ -
+
+
+
+ 50
+ 16777215
+
+
+
+ 7
+
+
+ 1
+
+
+ 2
+
+
+
+ -
+
+
+ Day(s)
+
+
+
+
+
+ -
Qt::Vertical
@@ -448,13 +497,6 @@ p, li { white-space: pre-wrap; }
- -
-
-
- Qt::Horizontal
-
-
-
-
@@ -468,6 +510,52 @@ p, li { white-space: pre-wrap; }
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Log File Directory:
+
+
+
+ -
+
+
+ -
+
+
+
+ 27
+ 23
+
+
+
+
+ 27
+ 23
+
+
+
+ :/graphics/graphics/fileopen16.png
+
+
+
+
+
diff --git a/src/gui/qt/settingsdialogimpl.cpp b/src/gui/qt/settingsdialogimpl.cpp
index f4513735..002583dc 100644
--- a/src/gui/qt/settingsdialogimpl.cpp
+++ b/src/gui/qt/settingsdialogimpl.cpp
@@ -61,6 +61,10 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent)
pushButton_openFlipsidePicture->setEnabled(TRUE);
}
lineEdit_OwnFlipsideFilename->setText(QString::fromStdString(myConfig.readConfigString("FlipsideOwnFile", "")));
+
+ //Log
+ lineEdit_logDir->setText(QString::fromStdString(myConfig.readConfigString("LogDir", "")));
+ spinBox_logStoreDuration->setValue(myConfig.readConfigInt("LogStoreDuration", 2));
connect( buttonBox, SIGNAL( accepted() ), this, SLOT( isAccepted() ) );
connect( lineEdit_humanPlayerName, SIGNAL( textChanged( const QString &) ), this, SLOT( playerNickChanged() ) );
@@ -69,6 +73,7 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent)
connect( lineEdit_Opponent3Name, SIGNAL( textChanged(const QString &) ), this, SLOT( playerNickChanged() ) );
connect( lineEdit_Opponent4Name, SIGNAL( textChanged(const QString &) ), this, SLOT( playerNickChanged() ) );
connect( pushButton_openFlipsidePicture, SIGNAL( clicked() ), this, SLOT( setFlipsidePicFileName()) );
+ connect( pushButton_openLogDir, SIGNAL( clicked() ), this, SLOT( setLogDir()) );
}
@@ -104,6 +109,10 @@ void settingsDialogImpl::isAccepted() {
myConfig.writeConfigInt("FlipsideOwn", radioButton_flipsideOwn->isChecked());
myConfig.writeConfigString("FlipsideOwnFile", lineEdit_OwnFlipsideFilename->text().toStdString());
+// Log
+ myConfig.writeConfigString("LogDir", lineEdit_logDir->text().toStdString());
+ myConfig.writeConfigInt("LogStoreDuration", spinBox_logStoreDuration->value());
+
}
void settingsDialogImpl::setFlipsidePicFileName()
@@ -115,3 +124,13 @@ void settingsDialogImpl::setFlipsidePicFileName()
if (!fileName.isEmpty())
lineEdit_OwnFlipsideFilename->setText(fileName);
}
+
+void settingsDialogImpl::setLogDir()
+ {
+ QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
+ QDir::homePath(),
+ QFileDialog::ShowDirsOnly
+ | QFileDialog::DontResolveSymlinks);
+
+ if (!dir.isEmpty()) lineEdit_logDir->setText(dir);
+ }
diff --git a/src/gui/qt/settingsdialogimpl.h b/src/gui/qt/settingsdialogimpl.h
index bcadec17..0102ca6c 100644
--- a/src/gui/qt/settingsdialogimpl.h
+++ b/src/gui/qt/settingsdialogimpl.h
@@ -39,6 +39,7 @@ public slots:
void isAccepted();
void playerNickChanged() { setPlayerNickIsChanged(TRUE); };
void setFlipsidePicFileName();
+ void setLogDir();
private: