diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index fd499aee..2ae7331c 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 = 74; + configRev = 76; //standard defaults logOnOffDefault = "1"; @@ -264,8 +264,10 @@ 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("InternetLoginMode", CONFIG_TYPE_INT, "0")); configList.push_back(ConfigInfo("InternetLoginUserName", CONFIG_TYPE_STRING, "")); - configList.push_back(ConfigInfo("InternetLoginPasswordMd5", CONFIG_TYPE_STRING, "")); + configList.push_back(ConfigInfo("InternetLoginPassword", CONFIG_TYPE_STRING, "")); + configList.push_back(ConfigInfo("InternetSavePassword", CONFIG_TYPE_INT, "0")); //fill tempList firstTime diff --git a/src/gui/qt/internetgamelogindialog.ui b/src/gui/qt/internetgamelogindialog.ui index bd1c0160..3ec7f68f 100644 --- a/src/gui/qt/internetgamelogindialog.ui +++ b/src/gui/qt/internetgamelogindialog.ui @@ -43,12 +43,12 @@ - QLineEdit::Password + QLineEdit::Normal - + Remember Password (not recommended) diff --git a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp index de4e3110..0378aa4c 100644 --- a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp +++ b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.cpp @@ -5,26 +5,64 @@ internetGameLoginDialogImpl::internetGameLoginDialogImpl(QWidget *parent, ConfigFile *c) : QDialog(parent), myConfig(c){ setupUi(this); + + connect(groupBox_reguser, SIGNAL(toggled(bool)), this, SLOT(regUserToggled(bool))); + connect(checkBox_guest, SIGNAL(toggled(bool)), this, SLOT(guestUserToggled(bool))); } +void internetGameLoginDialogImpl::regUserToggled(bool b) { + + checkBox_guest->setChecked(!b); +} + +void internetGameLoginDialogImpl::guestUserToggled(bool b) { + + groupBox_reguser->setChecked(!b); +} + + + + + void internetGameLoginDialogImpl::exec() { - lineEdit_username->setText(QString::fromUtf8(myConfig->readConfigString("InternetLoginUserName").c_str())); -// lineEdit_password-> - qDebug() << QString::fromUtf8(myConfig->readConfigString("InternetLoginPasswordMd5").c_str()); + if(myConfig->readConfigInt("InternetLoginMode") == 0) { + groupBox_reguser->setChecked(true); + lineEdit_username->setText(QString::fromUtf8(myConfig->readConfigString("InternetLoginUserName").c_str())); + if(myConfig->readConfigInt("InternetSavePassword")) { + checkBox_rememberPassword->setChecked(true); + lineEdit_password->setText(QString::fromUtf8(QByteArray::fromBase64(myConfig->readConfigString("InternetLoginPassword").c_str()))); + } + } + else { + checkBox_guest->setChecked(true); + } + 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); + if(groupBox_reguser->isChecked()) { + myConfig->writeConfigInt("InternetLoginMode", 0); + myConfig->writeConfigString("InternetLoginUserName", lineEdit_username->text().toUtf8().constData()); + if(checkBox_rememberPassword->isChecked()) { + myConfig->writeConfigInt("InternetSavePassword", 1); + myConfig->writeConfigString("InternetLoginPassword", lineEdit_password->text().toUtf8().toBase64().constData()); + } + else { + myConfig->writeConfigInt("InternetSavePassword", 0); + } + } + else { + myConfig->writeConfigInt("InternetLoginMode", 1); + } myConfig->writeBuffer(); + //TODO send login data to server + QDialog::accept(); } + diff --git a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h index caa5d8c4..5c510a36 100644 --- a/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h +++ b/src/gui/qt/internetgamelogindialog/internetgamelogindialogimpl.h @@ -13,6 +13,10 @@ public: void exec(); void accept(); + +public slots: + void regUserToggled(bool); + void guestUserToggled(bool); private: diff --git a/src/gui/qt/startwindow/startwindowimpl.cpp b/src/gui/qt/startwindow/startwindowimpl.cpp index 3d9d351b..6d06f952 100644 --- a/src/gui/qt/startwindow/startwindowimpl.cpp +++ b/src/gui/qt/startwindow/startwindowimpl.cpp @@ -99,8 +99,8 @@ startWindowImpl::startWindowImpl(ConfigFile *c) connect( actionStart_Local_Game, SIGNAL( triggered() ), this, SLOT( callNewGameDialog() ) ); connect( pushButtonStart_Local_Game, SIGNAL( clicked() ), this, SLOT( callNewGameDialog() ) ); - connect( actionInternet_Game, SIGNAL( triggered() ), this, SLOT( callGameLobbyDialog() ) ); - connect( pushButtonInternet_Game, SIGNAL( clicked() ), this, SLOT( callGameLobbyDialog() ) ); + connect( actionInternet_Game, SIGNAL( triggered() ), this, SLOT( showInternetGameLoginDialog() ) ); + connect( pushButtonInternet_Game, SIGNAL( clicked() ), this, SLOT( showInternetGameLoginDialog() ) ); connect( actionCreate_Network_Game, SIGNAL( triggered() ), this, SLOT( callCreateNetworkGameDialog() ) ); connect( pushButton_Create_Network_Game, SIGNAL( clicked() ), this, SLOT( callCreateNetworkGameDialog() ) ); connect( actionJoin_Network_Game, SIGNAL( triggered() ), this, SLOT( callJoinNetworkGameDialog() ) ); @@ -877,8 +877,8 @@ void startWindowImpl::showInternetGameLoginDialog() { myInternetGameLoginDialog->exec(); } -void startWindowImpl::keyPressEvent ( QKeyEvent * event ) { - - if (event->key() == Qt::Key_F6) { showInternetGameLoginDialog(); } - -} +//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 21a2d76c..2abeaee1 100644 --- a/src/gui/qt/startwindow/startwindowimpl.h +++ b/src/gui/qt/startwindow/startwindowimpl.h @@ -55,7 +55,7 @@ public: boost::shared_ptr< GuiInterface > getMyServerGuiInterface() const { return myServerGuiInterface; } connectToServerDialogImpl* getMyConnectToServerDialog() const { return myConnectToServerDialog; } - void keyPressEvent( QKeyEvent *); +// void keyPressEvent( QKeyEvent *); signals: void signalShowClientDialog();