From 9e7792fd8e8d0262f8d3d6b96a53ffbc3d0a700b Mon Sep 17 00:00:00 2001 From: doitux Date: Sun, 8 Nov 2009 21:18:25 +0000 Subject: [PATCH] extra callback for showing internet game login dialog --- src/config/configfile.cpp | 8 +++-- src/gui/guiinterface.h | 2 +- src/gui/qt/guiwrapper.cpp | 1 + src/gui/qt/guiwrapper.h | 1 + src/gui/qt/startwindow/startwindowimpl.cpp | 34 +++++++++++++++------- src/gui/qt/startwindow/startwindowimpl.h | 2 ++ src/session.cpp | 6 ++-- src/session.h | 2 +- 8 files changed, 38 insertions(+), 18 deletions(-) diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index ff4d246e..427ae706 100644 --- a/src/config/configfile.cpp +++ b/src/config/configfile.cpp @@ -296,9 +296,13 @@ ConfigFile::ConfigFile(char *argv0, bool readonly) : noWriteAccess(readonly) if ( confAppDataPath ) { const char *tmpStr = confAppDataPath->Attribute("value"); if (tmpStr) tempAppDataPath = tmpStr; + //if appdatapath changes directly update it here not in UpdateConfig() + if(tempAppDataPath != myQtToolsInterface->getDataPathStdString(myArgv0)) { + confAppDataPath->SetAttribute("value", myQtToolsInterface->stringToUtf8(myQtToolsInterface->getDataPathStdString(myArgv0))); + doc.SaveFile( configFileName ); + } } - - if (tempRevision < configRev || tempAppDataPath != myQtToolsInterface->getDataPathStdString(myArgv0) ) { /*löschen()*/ + if (tempRevision < configRev) { myConfigState = OLD; updateConfig(myConfigState) ; } diff --git a/src/gui/guiinterface.h b/src/gui/guiinterface.h index dab5aec2..c5d2ea7a 100644 --- a/src/gui/guiinterface.h +++ b/src/gui/guiinterface.h @@ -81,7 +81,7 @@ public: virtual void riverAnimation2()=0; virtual void postRiverAnimation1()=0; - virtual void postRiverRunAnimation1()=0; + virtual void postRiverRunAnimation1()=0; virtual void flipHolecardsAllIn()=0; virtual void nextRoundCleanGui()=0; diff --git a/src/gui/qt/guiwrapper.cpp b/src/gui/qt/guiwrapper.cpp index f28dd963..569aa506 100644 --- a/src/gui/qt/guiwrapper.cpp +++ b/src/gui/qt/guiwrapper.cpp @@ -126,6 +126,7 @@ void GuiWrapper::flushLogAtHand() { myLog->signalFlushLogAtHand(); } void GuiWrapper::SignalNetClientConnect(int actionID) { myStartWindow->signalNetClientConnect(actionID); } void GuiWrapper::SignalNetClientServerListAdd(unsigned serverId) { myStartWindow->signalNetClientServerListAdd(serverId); } void GuiWrapper::SignalNetClientServerListShow() { myStartWindow->signalNetClientServerListShow(); } +void GuiWrapper::SignalNetClientLoginShow() { myStartWindow->signalNetClientLoginShow(); } void GuiWrapper::SignalNetClientServerListClear() { myStartWindow->signalNetClientServerListClear(); } void GuiWrapper::SignalNetClientGameInfo(int actionID) { myStartWindow->signalNetClientGameInfo(actionID); } void GuiWrapper::SignalNetClientError(int errorID, int osErrorID) { myStartWindow->signalNetClientError(errorID, osErrorID); } diff --git a/src/gui/qt/guiwrapper.h b/src/gui/qt/guiwrapper.h index 0c1629b3..e1d07fce 100644 --- a/src/gui/qt/guiwrapper.h +++ b/src/gui/qt/guiwrapper.h @@ -115,6 +115,7 @@ public: void SignalNetClientServerListAdd(unsigned serverId); void SignalNetClientServerListShow(); void SignalNetClientServerListClear(); + void SignalNetClientLoginShow(); void SignalNetClientGameInfo(int actionID); void SignalNetClientError(int errorID, int osErrorID); void SignalNetClientNotification(int notificationId); diff --git a/src/gui/qt/startwindow/startwindowimpl.cpp b/src/gui/qt/startwindow/startwindowimpl.cpp index 5f977755..7fc052f0 100644 --- a/src/gui/qt/startwindow/startwindowimpl.cpp +++ b/src/gui/qt/startwindow/startwindowimpl.cpp @@ -62,7 +62,6 @@ startWindowImpl::startWindowImpl(ConfigFile *c) // myGuiInterface->setSession(session); } - // #ifdef __APPLE__ // setWindowModality(Qt::ApplicationModal); // setWindowFlags(Qt::WindowSystemMenuHint | Qt::CustomizeWindowHint | Qt::Dialog); @@ -120,6 +119,8 @@ startWindowImpl::startWindowImpl(ConfigFile *c) connect(this, SIGNAL(signalNetClientServerListClear()), myServerListDialog, SLOT(clearList())); connect(this, SIGNAL(signalNetClientServerListAdd(unsigned)), myServerListDialog, SLOT(addServerItem(unsigned))); + connect(this, SIGNAL(signalNetClientLoginShow()), this, SLOT(callInternetGameLoginDialog())); + connect(this, SIGNAL(signalNetClientSelfJoined(unsigned, QString, int)), myStartNetworkGameDialog, SLOT(joinedNetworkGame(unsigned, QString, int))); connect(this, SIGNAL(signalNetClientPlayerJoined(unsigned, QString, int)), myStartNetworkGameDialog, SLOT(addConnectedPlayer(unsigned, QString, int))); connect(this, SIGNAL(signalNetClientPlayerChanged(unsigned, QString)), myStartNetworkGameDialog, SLOT(updatePlayer(unsigned, QString))); @@ -312,21 +313,32 @@ void startWindowImpl::joinGameLobby() { // Clear Lobby dialog. myGameLobbyDialog->clearDialog(); + //start internet client with config values for user and pw TODO + mySession->startInternetClient(); + + //Dialog mit Statusbalken + myConnectToServerDialog->exec(); + if (myConnectToServerDialog->result() == QDialog::Accepted ) { + showLobbyDialog(); + } + else { + mySession->terminateNetworkClient(); + } +} + + +void startWindowImpl::callInternetGameLoginDialog() { + //login myInternetGameLoginDialog->exec(); if(myInternetGameLoginDialog->result() == QDialog::Accepted) { //send login infos - mySession->startInternetClient(std::string(myInternetGameLoginDialog->lineEdit_username->text().toUtf8().constData()), std::string(myInternetGameLoginDialog->lineEdit_password->text().toUtf8().constData())); - - //Dialog mit Statusbalken - myConnectToServerDialog->exec(); - if (myConnectToServerDialog->result() == QDialog::Accepted ) { - showLobbyDialog(); - } - else { - mySession->terminateNetworkClient(); - } +// mySession-> } + else { + myConnectToServerDialog->reject(); + mySession->terminateNetworkClient(); + } } void startWindowImpl::callCreateNetworkGameDialog() { diff --git a/src/gui/qt/startwindow/startwindowimpl.h b/src/gui/qt/startwindow/startwindowimpl.h index e5fc43a5..e763fe36 100644 --- a/src/gui/qt/startwindow/startwindowimpl.h +++ b/src/gui/qt/startwindow/startwindowimpl.h @@ -65,6 +65,7 @@ signals: void signalNetClientServerListShow(); void signalNetClientServerListClear(); void signalNetClientServerListAdd(unsigned serverId); + void signalNetClientLoginShow(); void signalNetClientGameInfo(int actionID); void signalNetClientError(int errorID, int osErrorID); void signalNetClientNotification(int notificationId); @@ -110,6 +111,7 @@ public slots: void callCreateNetworkGameDialog(); void callJoinNetworkGameDialog(); void showLobbyDialog(); + void callInternetGameLoginDialog(); void joinGameLobby(); void showClientDialog(); void showNetworkStartDialog(); diff --git a/src/session.cpp b/src/session.cpp index 2e3588cc..8d3f2d22 100755 --- a/src/session.cpp +++ b/src/session.cpp @@ -154,7 +154,7 @@ boost::shared_ptr Session::getAvatarManager() return myAvatarManager; } -void Session::startInternetClient(const std::string &username, const std::string &password) +void Session::startInternetClient() { if (myNetClient || !myGui) { @@ -178,8 +178,8 @@ void Session::startInternetClient(const std::string &username, const std::string myConfig->readConfigInt("InternetServerUseIpv6") == 1, myConfig->readConfigInt("InternetServerUseSctp") == 1, useAvatarServer ? myConfig->readConfigString("AvatarServerAddress") : "", - username, - password, + myConfig->readConfigString("MyName"), + "testpw", myConfig->readConfigString("MyAvatar"), myQtToolsInterface->stringFromUtf8(myConfig->readConfigString("CacheDir"))); myNetClient->Run(); diff --git a/src/session.h b/src/session.h index 69478ec5..3de165b6 100755 --- a/src/session.h +++ b/src/session.h @@ -62,7 +62,7 @@ public: boost::shared_ptr getAvatarManager(); - void startInternetClient(const std::string &username, const std::string &password); + void startInternetClient(); void startNetworkClient(const std::string &serverAddress, unsigned serverPort, bool ipv6, bool sctp, const std::string &pwd); void startNetworkClientForLocalServer(const GameData &gameData); void terminateNetworkClient();