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; };