diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index cac1c329..be8919bf 100644 --- a/src/config/configfile.cpp +++ b/src/config/configfile.cpp @@ -47,6 +47,8 @@ ConfigFile::ConfigFile(char *argv0, bool readonly) : noWriteAccess(readonly) myQtToolsInterface = CreateQtToolsWrapper(); + myConfigState = OK; + // !!!! Revisionsnummer der Configdefaults !!!!! configRev = 83; diff --git a/src/config/configfile.h b/src/config/configfile.h index 50d29993..28164fa6 100644 --- a/src/config/configfile.h +++ b/src/config/configfile.h @@ -25,7 +25,7 @@ #include -enum ConfigState { NONEXISTING, OLD }; +enum ConfigState { NONEXISTING, OLD, OK }; enum ConfigType { CONFIG_TYPE_INT, CONFIG_TYPE_STRING, CONFIG_TYPE_INT_LIST, CONFIG_TYPE_STRING_LIST }; class QtToolsInterface; @@ -40,6 +40,7 @@ public: void writeBuffer() const; void updateConfig(ConfigState); + ConfigState getConfigState() const { return myConfigState; } std::string readConfigString(std::string varName) const; std::list readConfigStringList(std::string varName) const; diff --git a/src/engine/local_engine/replay.cpp b/src/engine/local_engine/replay.cpp index feb02276..d7cf42a7 100644 --- a/src/engine/local_engine/replay.cpp +++ b/src/engine/local_engine/replay.cpp @@ -35,5 +35,7 @@ Replay::Replay() : replaySqliteLogDb(0) Replay::~Replay() { + replaySqliteLogDb->close(); delete replaySqliteLogDb; + } diff --git a/src/gui/qt/gametable/gametableimpl.cpp b/src/gui/qt/gametable/gametableimpl.cpp index 4b8ff8d6..4e3e9326 100755 --- a/src/gui/qt/gametable/gametableimpl.cpp +++ b/src/gui/qt/gametable/gametableimpl.cpp @@ -659,7 +659,7 @@ void gameTableImpl::applySettings(settingsDialogImpl* mySettingsDialog) { } refreshGameTableStyle(); - qDebug() << "table: " << myGameTableStyle->getStyleDescription() << myGameTableStyle->getState(); +// qDebug() << "table: " << myGameTableStyle->getStyleDescription() << myGameTableStyle->getState(); if(this->isVisible() && myGameTableStyle->getState() != GT_STYLE_OK) myGameTableStyle->showErrorMessage(); //blind buttons refresh diff --git a/src/gui/qt/gametable/log/log.cpp b/src/gui/qt/gametable/log/log.cpp index 4baf27cb..fcf8d05f 100755 --- a/src/gui/qt/gametable/log/log.cpp +++ b/src/gui/qt/gametable/log/log.cpp @@ -191,14 +191,16 @@ Log::Log(gameTableImpl* w, ConfigFile *c) : myW(w), myConfig(c), myLogDir(0), my Log::~Log() { +qDebug() << "close log"; - // Datenbank schließen + // Datenbank schließe mySqliteLogDb->close(); delete myConfig; delete myLogDir; delete myHtmlLogFile; delete mySqliteLogDb; + myConfig = 0; } diff --git a/src/gui/qt/guiwrapper.cpp b/src/gui/qt/guiwrapper.cpp index 17d34804..d8c2583c 100644 --- a/src/gui/qt/guiwrapper.cpp +++ b/src/gui/qt/guiwrapper.cpp @@ -43,6 +43,8 @@ GuiWrapper::GuiWrapper(ConfigFile *c, startWindowImpl *s) : myLog(NULL), myW(NUL GuiWrapper::~GuiWrapper() { + delete myLog; + } void GuiWrapper::initGui(int speed) { myW->signalInitGui(speed); } diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp index 244f5c15..f170e301 100644 --- a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp +++ b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp @@ -127,8 +127,8 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent, ConfigFile *c, selectAva } -void settingsDialogImpl::exec() { - +void settingsDialogImpl::prepareDialog() +{ playerNickIsChanged = FALSE; //Player Nicks @@ -442,7 +442,6 @@ void settingsDialogImpl::exec() { refreshLogFileList(); - bool tmpHasIpv6 = socket_has_ipv6(); bool tmpHasSctp = socket_has_sctp(); checkBox_useIpv6->setEnabled(tmpHasIpv6); @@ -468,7 +467,11 @@ void settingsDialogImpl::exec() { //set this AFTER switch combobox like config-settings. This IS a currentIndexChanged() ;-) languageIsChanged = FALSE; +} +void settingsDialogImpl::exec() { + + prepareDialog(); QDialog::exec(); } @@ -983,6 +986,7 @@ void settingsDialogImpl::showCurrentGameTableStylePreview() QString MinimumSize = tr("Minimum Size"); QString MaximumSize = tr("Maximum Size"); QString FixedSize = tr("Fixed Size"); + QString State = tr("State"); QString windowsSubString; if(style.getIfFixedWindowSize().toInt()) { @@ -997,7 +1001,8 @@ void settingsDialogImpl::showCurrentGameTableStylePreview() maintainerEMailString = ""+MaintainerEMail+": "+style.getStyleMaintainerEMail()+"
"; } - label_gameTableStyleInfo->setText(""+MaintainerName+": "+style.getStyleMaintainerName()+"
"+maintainerEMailString+""+CreateDate+": "+style.getStyleCreateDate()+"
"+windowsSubString); + label_gameTableStyleInfo->setWordWrap(TRUE); + label_gameTableStyleInfo->setText(""+MaintainerName+": "+style.getStyleMaintainerName()+"
"+maintainerEMailString+""+CreateDate+": "+style.getStyleCreateDate()+"
"+windowsSubString+"
"+State+": "+style.getMyStateToolTipInfo()); //active the current selected item directly setSelectedGameTableStyleActivated(); diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.h b/src/gui/qt/settingsdialog/settingsdialogimpl.h index c58fe980..5fcacef5 100644 --- a/src/gui/qt/settingsdialog/settingsdialogimpl.h +++ b/src/gui/qt/settingsdialog/settingsdialogimpl.h @@ -40,7 +40,8 @@ class settingsDialogImpl: public QDialog, public Ui::settingsDialog { Q_OBJECT public: settingsDialogImpl(QWidget *parent = 0, ConfigFile *c = 0, selectAvatarDialogImpl *s = 0); - + + void prepareDialog(); void exec(); void setPlayerNickIsChanged(bool theValue){ playerNickIsChanged = theValue;} diff --git a/src/gui/qt/startwindow/startwindowimpl.cpp b/src/gui/qt/startwindow/startwindowimpl.cpp index 9864492b..4ed48807 100644 --- a/src/gui/qt/startwindow/startwindowimpl.cpp +++ b/src/gui/qt/startwindow/startwindowimpl.cpp @@ -166,6 +166,27 @@ startWindowImpl::startWindowImpl(ConfigFile *c) this->show(); + //update HACKS + if(!checkForFirstStartAfterUpdated().isEmpty()) { + qDebug() << checkForFirstStartAfterUpdated(); + } +} + +startWindowImpl::~startWindowImpl() +{ + delete myNewGameDialog; + delete mySelectAvatarDialog; + delete mySettingsDialog; + delete myChangeHumanPlayerNameDialog; + delete myJoinNetworkGameDialog; + delete myConnectToServerDialog; + delete myStartNetworkGameDialog; + delete myCreateNetworkGameDialog; + delete myAboutPokerthDialog; + delete myGameLobbyDialog; + delete myTimeoutDialog; + delete myServerListDialog; + delete myInternetGameLoginDialog; } void startWindowImpl::callNewGameDialog() { @@ -897,3 +918,21 @@ QStringList startWindowImpl::getPlayerNicksList() { return list; } + +QString startWindowImpl::checkForFirstStartAfterUpdated() +{ + if(myConfig->getConfigState() == OLD) { + + if(POKERTH_VERSION_MAJOR == 0 && POKERTH_VERSION_MINOR == 80) { + //version 0.8 HACK + //to avoid old PokerTH distributed styles pathes in settings which leads to error message like "outdated" prepare settings dialog (fallback will correct this issue) and save settings + mySettingsDialog->prepareDialog(); + mySettingsDialog->isAccepted(); + myGuiInterface->getMyW()->applySettings(mySettingsDialog); + } + return QString("Update old config to version %1").arg(QString::number(POKERTH_VERSION_MAJOR)+"."+QString::number(POKERTH_VERSION_MINOR)); + } + + return QString(); + +} diff --git a/src/gui/qt/startwindow/startwindowimpl.h b/src/gui/qt/startwindow/startwindowimpl.h index 62249ed9..fabd8ffb 100644 --- a/src/gui/qt/startwindow/startwindowimpl.h +++ b/src/gui/qt/startwindow/startwindowimpl.h @@ -50,6 +50,7 @@ class startWindowImpl: public QMainWindow, public Ui::startWindow { Q_OBJECT public: startWindowImpl(ConfigFile *c =0); + ~startWindowImpl(); void setSession(boost::shared_ptr session) { mySession = session; } boost::shared_ptr getSession() { assert(mySession.get()); return mySession; } @@ -123,6 +124,8 @@ public slots: void networkStart(boost::shared_ptr game); QStringList getPlayerNicksList(); + QString checkForFirstStartAfterUpdated(); + private: ConfigFile *myConfig; diff --git a/src/gui/qt/styles/gametablestylereader.cpp b/src/gui/qt/styles/gametablestylereader.cpp index aefc4f81..02bb97cd 100644 --- a/src/gui/qt/styles/gametablestylereader.cpp +++ b/src/gui/qt/styles/gametablestylereader.cpp @@ -606,10 +606,10 @@ void GameTableStyleReader::readStyleFile(QString file) { if(ChatLogTextSize == "") { ChatLogTextSize = getFallBackFieldContent("ChatLogTextSize", 0); leftItems << "ChatLogTextSize"; } //set loadedSuccessfull TRUE if everything works - qDebug() << "leftitem is empty: " << leftItems.isEmpty() << "pics left is empty: " << itemPicsLeft.isEmpty() << "stylefileversion is: " << PokerTHStyleFileVersion; +// qDebug() << "leftitem is empty: " << leftItems.isEmpty() << "pics left is empty: " << itemPicsLeft.isEmpty() << "stylefileversion is: " << PokerTHStyleFileVersion; if(leftItems.isEmpty() && itemPicsLeft.isEmpty() && PokerTHStyleFileVersion != "" && PokerTHStyleFileVersion.toInt() == POKERTH_GT_STYLE_FILE_VERSION) { myState = GT_STYLE_OK; - qDebug() << "myState of: " << StyleDescription << "is now: " << myState; +// qDebug() << "myState of: " << StyleDescription << "is now: " << myState; } else { //check for style file version @@ -624,7 +624,7 @@ void GameTableStyleReader::readStyleFile(QString file) { if(!itemPicsLeft.isEmpty() && myW != 0) myState = GT_STYLE_PICTURES_MISSING; } - qDebug() << "myState of: " << StyleDescription << "is now: " << myState; +// qDebug() << "myState of: " << StyleDescription << "is now: " << myState; } loadedSuccessfull = 1; }