diff --git a/cockatrice/src/client/ui/window_main.cpp b/cockatrice/src/client/ui/window_main.cpp index 6d6d4aa49..eb8ff33c4 100644 --- a/cockatrice/src/client/ui/window_main.cpp +++ b/cockatrice/src/client/ui/window_main.cpp @@ -223,6 +223,11 @@ void MainWindow::actSinglePlayer() if (!ok) return; + startLocalGame(numberPlayers); +} + +void MainWindow::startLocalGame(int numberPlayers) +{ aConnect->setEnabled(false); aRegister->setEnabled(false); aForgotPassword->setEnabled(false); @@ -881,6 +886,10 @@ MainWindow::MainWindow(QWidget *parent) void MainWindow::startupConfigCheck() { + if (SettingsCache::instance().debug().getLocalGameOnStartup()) { + startLocalGame(SettingsCache::instance().debug().getLocalGamePlayerCount()); + } + if (SettingsCache::instance().getCheckUpdatesOnStartup()) { actCheckClientUpdates(); } @@ -1021,7 +1030,8 @@ void MainWindow::changeEvent(QEvent *event) if (!connectTo.isEmpty()) { qDebug() << "Command line connect to " << connectTo; client->connectToServer(connectTo.host(), connectTo.port(), connectTo.userName(), connectTo.password()); - } else if (SettingsCache::instance().servers().getAutoConnect()) { + } else if (SettingsCache::instance().servers().getAutoConnect() && + !SettingsCache::instance().debug().getLocalGameOnStartup()) { qDebug() << "Attempting auto-connect..."; DlgConnect dlg(this); client->connectToServer(dlg.getHost(), static_cast(dlg.getPort()), dlg.getPlayerName(), diff --git a/cockatrice/src/client/ui/window_main.h b/cockatrice/src/client/ui/window_main.h index 0c52200ce..be2cf1577 100644 --- a/cockatrice/src/client/ui/window_main.h +++ b/cockatrice/src/client/ui/window_main.h @@ -126,6 +126,8 @@ private: }; void exitCardDatabaseUpdate(); + void startLocalGame(int numberPlayers); + QList tabMenus; QMenu *cockatriceMenu, *dbMenu, *helpMenu, *trayIconMenu; QAction *aConnect, *aDisconnect, *aSinglePlayer, *aWatchReplay, *aDeckEditor, *aFullScreen, *aSettings, *aExit, diff --git a/cockatrice/src/settings/debug_settings.cpp b/cockatrice/src/settings/debug_settings.cpp index 1a2b61905..a329e58a9 100644 --- a/cockatrice/src/settings/debug_settings.cpp +++ b/cockatrice/src/settings/debug_settings.cpp @@ -15,3 +15,13 @@ bool DebugSettings::getShowCardId() { return getValue("showCardId", "debug").toBool(); } + +bool DebugSettings::getLocalGameOnStartup() +{ + return getValue("onStartup", "localgame").toBool(); +} + +int DebugSettings::getLocalGamePlayerCount() +{ + return getValue("playerCount", "localgame").toInt(); +} \ No newline at end of file diff --git a/cockatrice/src/settings/debug_settings.h b/cockatrice/src/settings/debug_settings.h index 431b381fa..4918a9a79 100644 --- a/cockatrice/src/settings/debug_settings.h +++ b/cockatrice/src/settings/debug_settings.h @@ -12,6 +12,9 @@ class DebugSettings : public SettingsManager public: bool getShowCardId(); + + bool getLocalGameOnStartup(); + int getLocalGamePlayerCount(); }; #endif // DEBUG_SETTINGS_H