diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp
index 1f7e83b2..fd499aee 100644
--- a/src/config/configfile.cpp
+++ b/src/config/configfile.cpp
@@ -48,7 +48,7 @@ ConfigFile::ConfigFile(char *argv0, bool readonly) : noWriteAccess(readonly)
myQtToolsInterface = CreateQtToolsWrapper();
// !!!! Revisionsnummer der Configdefaults !!!!!
- configRev = 72;
+ configRev = 74;
//standard defaults
logOnOffDefault = "1";
@@ -264,6 +264,9 @@ ConfigFile::ConfigFile(char *argv0, bool readonly) : noWriteAccess(readonly)
configList.push_back(ConfigInfo("GameTableFullScreenSave", CONFIG_TYPE_INT, "0"));
configList.push_back(ConfigInfo("GameTableHeightSave", CONFIG_TYPE_INT, "600"));
configList.push_back(ConfigInfo("GameTableWidthSave", CONFIG_TYPE_INT, "1024"));
+ configList.push_back(ConfigInfo("InternetLoginUserName", CONFIG_TYPE_STRING, ""));
+ configList.push_back(ConfigInfo("InternetLoginPasswordMd5", CONFIG_TYPE_STRING, ""));
+
//fill tempList firstTime
configBufferList = configList;
diff --git a/src/gui/qt/internetgamelogindialog.ui b/src/gui/qt/internetgamelogindialog.ui
index e5fa2265..bd1c0160 100644
--- a/src/gui/qt/internetgamelogindialog.ui
+++ b/src/gui/qt/internetgamelogindialog.ui
@@ -6,7 +6,7 @@
0
0
- 288
+ 292
230
@@ -41,7 +41,11 @@
-
-
+
+
+ QLineEdit::Password
+
+
-
diff --git a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp
index 15947c1f..de4e3110 100644
--- a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp
+++ b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp
@@ -1,6 +1,30 @@
#include "internetgamelogindialogimpl.h"
+#include "configfile.h"
+#include
-internetGameLoginDialog::internetGameLoginDialog(QWidget *parent) :
- QDialog(parent){
+internetGameLoginDialogImpl::internetGameLoginDialogImpl(QWidget *parent, ConfigFile *c) :
+ QDialog(parent), myConfig(c){
setupUi(this);
}
+
+void internetGameLoginDialogImpl::exec() {
+
+ lineEdit_username->setText(QString::fromUtf8(myConfig->readConfigString("InternetLoginUserName").c_str()));
+// lineEdit_password->
+ qDebug() << QString::fromUtf8(myConfig->readConfigString("InternetLoginPasswordMd5").c_str());
+
+ QDialog::exec();
+}
+
+void internetGameLoginDialogImpl::accept() {
+
+ myConfig->writeConfigString("InternetLoginUserName", lineEdit_username->text().toUtf8().constData());
+
+ QByteArray myBytes = QCryptographicHash::hash(lineEdit_password->text().toUtf8(), QCryptographicHash::Md5).toHex();
+ std::string myPwMd5String (myBytes.constData(), myBytes.size());
+ myConfig->writeConfigString("InternetLoginPasswordMd5", myPwMd5String);
+
+ myConfig->writeBuffer();
+
+ QDialog::accept();
+}
diff --git a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h
index ab4ee16a..caa5d8c4 100644
--- a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h
+++ b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h
@@ -3,10 +3,20 @@
#include "ui_internetgamelogindialog.h"
-class internetGameLoginDialog : public QDialog, private Ui::internetGameLoginDialog {
+class ConfigFile;
+
+class internetGameLoginDialogImpl : public QDialog, private Ui::internetGameLoginDialog {
Q_OBJECT
+
public:
- internetGameLoginDialog(QWidget *parent = 0);
+ internetGameLoginDialogImpl(QWidget *parent = 0, ConfigFile *c =0);
+
+ void exec();
+ void accept();
+
+private:
+
+ ConfigFile *myConfig;
};
#endif // INTERNETGAMELOGINDIALOGIMPL_H
diff --git a/src/gui/qt/startwindow/startwindowimpl.cpp b/src/gui/qt/startwindow/startwindowimpl.cpp
index d868351b..3d9d351b 100644
--- a/src/gui/qt/startwindow/startwindowimpl.cpp
+++ b/src/gui/qt/startwindow/startwindowimpl.cpp
@@ -47,6 +47,7 @@
#include "timeoutmsgboximpl.h"
#include "chattools.h"
#include "serverlistdialogimpl.h"
+#include "internetgamelogindialogimpl.h"
using namespace std;
@@ -94,6 +95,7 @@ startWindowImpl::startWindowImpl(ConfigFile *c)
myTimeoutDialog = new timeoutMsgBoxImpl(this);
myServerListDialog = new serverListDialogImpl(this, this, myConfig);
+ myInternetGameLoginDialog = new internetGameLoginDialogImpl(this, myConfig);
connect( actionStart_Local_Game, SIGNAL( triggered() ), this, SLOT( callNewGameDialog() ) );
connect( pushButtonStart_Local_Game, SIGNAL( clicked() ), this, SLOT( callNewGameDialog() ) );
@@ -869,3 +871,14 @@ QStringList startWindowImpl::getPlayerNicksList() {
return list;
}
+
+void startWindowImpl::showInternetGameLoginDialog() {
+
+ myInternetGameLoginDialog->exec();
+}
+
+void startWindowImpl::keyPressEvent ( QKeyEvent * event ) {
+
+ if (event->key() == Qt::Key_F6) { showInternetGameLoginDialog(); }
+
+}
diff --git a/src/gui/qt/startwindow/startwindowimpl.h b/src/gui/qt/startwindow/startwindowimpl.h
index eed9cc1a..21a2d76c 100644
--- a/src/gui/qt/startwindow/startwindowimpl.h
+++ b/src/gui/qt/startwindow/startwindowimpl.h
@@ -43,6 +43,7 @@ class changeHumanPlayerNameDialogImpl;
class gameLobbyDialogImpl;
class timeoutMsgBoxImpl;
class serverListDialogImpl;
+class internetGameLoginDialogImpl;
class startWindowImpl: public QMainWindow, public Ui::startWindow {
Q_OBJECT
@@ -54,6 +55,8 @@ public:
boost::shared_ptr< GuiInterface > getMyServerGuiInterface() const { return myServerGuiInterface; }
connectToServerDialogImpl* getMyConnectToServerDialog() const { return myConnectToServerDialog; }
+ void keyPressEvent( QKeyEvent *);
+
signals:
void signalShowClientDialog();
@@ -109,6 +112,7 @@ public slots:
void joinGameLobby();
void showClientDialog();
void showNetworkStartDialog();
+ void showInternetGameLoginDialog();
void startNewLocalGame(newGameDialogImpl* =0);
@@ -143,7 +147,7 @@ private:
timeoutMsgBoxImpl *myTimeoutDialog;
startWindowImpl *myStartWindow;
serverListDialogImpl *myServerListDialog;
-
+ internetGameLoginDialogImpl *myInternetGameLoginDialog;
friend class GuiWrapper;
};