35#include <QElapsedTimer>
37#include <QLoggingCategory>
46#include <qtmetamacros.h>
214 explicit MainWindow(QWidget *parent =
nullptr);
217 connectTo = QUrl(QString(
"cockatrice://%1").arg(url));
ClientStatus
Definition abstract_client.h:58
CardUpdateStage
One stage of the card database updater's progress protocol.
Definition card_update_progress.h:13
@ Unknown
a stage the client does not recognize
Definition card_update_progress.h:17
Status bar widget showing what the card database updater (Oracle) is doing.
Definition card_database_update_status_bar.h:24
Definition remote_connection_controller.h:28
RemoteClient * client() const
Definition remote_connection_controller.h:35
Definition dlg_tip_of_the_day.h:28
Definition dlg_view_log.h:20
Parses cockatrice:// links and runs them as serialized intent chains.
Definition url_parser.h:48
Detects main-thread event loop stalls ("UI freezes") from the inside.
Definition lag_monitor.h:37
Definition local_server.h:19
Definition window_main.h:73
QAction * aFullScreen
Definition window_main.h:183
bool skipStartupAutoConnect
Definition window_main.h:198
void actViewLog()
Definition window_main.cpp:330
void closeEvent(QCloseEvent *event) override
Definition window_main.cpp:924
void reloadCardDatabaseAndCheckSets()
Reloads the card database on a worker thread and runs checkUnknownSets() once the finished snapshot h...
Definition window_main.cpp:1339
QAction * aEditTokens
Definition window_main.h:184
bool bClosingDown
guards closeEvent() against re-entrancy
Definition window_main.h:197
QAction * aRegister
Definition window_main.h:183
QUrl connectTo
Definition window_main.h:211
void setConnectTo(QString url)
Definition window_main.h:215
QAction * aStatusBar
Definition window_main.h:186
void exitCardDatabaseUpdate(bool doReload)
Definition window_main.cpp:1323
bool bHasActivated
Definition window_main.h:196
QMenu * cockatriceMenu
Definition window_main.h:180
QList< QMenu * > tabMenus
Definition window_main.h:179
void showWindowIfHidden()
Definition window_main.cpp:993
LatencyStatusWidget * latencyStatus
status bar widget with live round-trip stats and history graph
Definition window_main.h:195
QMenu * trayIconMenu
Definition window_main.h:180
void pixmapCacheSizeChanged(int newSizeInMBs)
Definition window_main.cpp:986
QAction * aOpenCustomsetsFolder
Definition window_main.h:184
CardDatabaseUpdateStatusBar * cardUpdateStatusBar
status bar widget tracking the card database update
Definition window_main.h:207
void actAbout()
Definition window_main.cpp:288
LagMonitor lagMonitor
watches the main thread for event loop stalls
Definition window_main.h:194
void attemptStartupAutoConnect()
Definition window_main.cpp:1005
void retranslateUi()
Definition window_main.cpp:347
ConnectionController * connectionController
Definition window_main.h:192
QAction * aReloadCardDatabase
Definition window_main.h:185
bool closeForUpdate()
Closes the window so an update installer can replace the running binaries. Returns true only if the s...
Definition window_main.cpp:960
void actOpenCustomFolder()
Definition window_main.cpp:1491
void actOpenSettingsFolder()
Definition window_main.cpp:341
QAction * aWatchReplay
Definition window_main.h:183
bool requestCardUpdateRaise()
Tries to bring the open card database updater window to the front.
Definition window_main.cpp:1407
void cardUpdateError(QProcess::ProcessError err)
Definition window_main.cpp:1349
void startupDestinationFailed(const QString &reason)
Definition window_main.cpp:844
void actCheckCardUpdates()
Definition window_main.cpp:1163
void actSettings()
Definition window_main.cpp:275
QMenu * helpMenu
Definition window_main.h:180
void changeEvent(QEvent *event) override
Definition window_main.cpp:972
void actUpdate()
Definition window_main.cpp:324
void actConnect()
Definition window_main.cpp:182
void actCheckServerUpdates()
Definition window_main.cpp:1441
QAction * aShow
Definition window_main.h:181
QAction * aConnect
Definition window_main.h:183
void actFullScreen(bool checked)
Definition window_main.cpp:266
QAction * aExit
Definition window_main.h:181
void cardDatabaseUpdateProgress(const CardUpdateProgress &progress)
Emitted while the card-database update subprocess runs. progress.done/progress.total are byte counts ...
QAction * aOpenCustomFolder
Definition window_main.h:184
bool askedForDbUpdater
Definition window_main.h:196
QString getCardUpdaterBinaryName()
Definition window_main.h:153
QAction * aSettings
Definition window_main.h:181
void startLocalGame(const LocalGameOptions &options)
Definition window_main.cpp:202
QByteArray cardUpdateOutputBuffer
Definition window_main.h:202
QAction * aUpdate
Definition window_main.h:186
void updateTabMenu(const QList< QMenu * > &newMenuList)
Definition window_main.cpp:142
void createActions()
Definition window_main.cpp:397
static const QStringList fileNameFilters
Definition window_main.h:143
DlgViewLog * logviewDialog
Definition window_main.h:208
GameReplay * replay
Definition window_main.h:209
void onUrlChainFinished(bool connected)
Definition window_main.cpp:1026
DlgTipOfTheDay * tip
Definition window_main.h:210
QElapsedTimer cardUpdateProgressLogTimer
throttles progress logging to the running stage
Definition window_main.h:206
void createCardUpdateProcess(bool background=false)
Definition window_main.cpp:1173
QAction * aSinglePlayer
Definition window_main.h:183
void actSinglePlayer()
Definition window_main.cpp:192
void localGameEnded()
Definition window_main.cpp:255
void alertForcedOracleRun(const QString &version, bool isUpdate)
Definition window_main.cpp:855
LocalServer * localServer
Definition window_main.h:193
void cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknownSetsNames)
Definition window_main.cpp:1086
QAction * aDisconnect
Definition window_main.h:183
QAction * aCheckCardUpdates
Definition window_main.h:186
QAction * aManageSets
Definition window_main.h:184
bool startupAutoConnectAttempted
Definition window_main.h:199
void cardDatabaseLoadingFailed()
Definition window_main.cpp:1059
QProcess * cardUpdateProcess
Definition window_main.h:201
void runFirstRunWizard(bool firstRun=false)
Definition window_main.cpp:743
void notifyCardUpdateFinishedFromTray(bool success)
Posts a tray notification when the status bar cannot show progress.
Definition window_main.cpp:1431
IntentUrlParser * urlParser
Definition window_main.h:190
MainWindow(QWidget *parent=nullptr)
Definition window_main.cpp:536
void actCheckCardUpdatesBackground()
Definition window_main.cpp:1168
void setSkipStartupAutoConnect(bool skip)
Definition window_main.h:225
void actShow()
Definition window_main.cpp:910
void createMenus()
Definition window_main.cpp:492
int getNextCustomSetPrefix(QDir dataDir)
Definition window_main.cpp:1557
RemoteClient * getRemoteClient() const
Definition window_main.h:231
QAction * aViewLog
Definition window_main.h:187
void refreshShortcuts()
Definition window_main.cpp:1473
void cardDatabaseAllNewSetsEnabled()
Definition window_main.cpp:1129
void createTrayIcon()
Definition window_main.cpp:893
void checkClientUpdatesFinished(bool needToUpdate, bool isCompatible, Release *release)
Definition window_main.cpp:1455
QMenu * dbMenu
Definition window_main.h:180
CardUpdateStage cardUpdateLoggedStage
stage of the last logged progress update
Definition window_main.h:205
QAction * aTips
Definition window_main.h:186
void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus)
Definition window_main.cpp:1387
void announceCardUpdateRunning()
Tells the user an update is running without blocking, honoring a hidden status bar.
Definition window_main.cpp:1421
QAction * aCheckCardUpdatesBackground
Definition window_main.h:186
void startupConfigCheck()
Definition window_main.cpp:627
void applyStartupDestination()
Definition window_main.cpp:777
QMenu * tabsMenu
Definition window_main.h:180
void handleCockatriceLink(const QString &url)
Definition window_main.cpp:1000
QAction * aAddCustomSet
Definition window_main.h:184
QAction * aOpenSettingsFolder
Definition window_main.h:187
void cardUpdateStandardError()
Definition window_main.cpp:1302
bool startupDestinationConnectsToServer() const
Definition window_main.cpp:849
void actOpenCustomsetsFolder()
Definition window_main.cpp:1497
void actDisconnect()
Definition window_main.cpp:187
QAction * aForgotPassword
Definition window_main.h:183
void actEditTokens()
Definition window_main.cpp:1587
void actReloadCardDatabase()
Definition window_main.cpp:1573
void statusChanged(ClientStatus _status)
Definition window_main.cpp:153
void actTips()
Definition window_main.cpp:312
static const QString appName
Definition window_main.h:142
QToolButton * settingsButton
Definition window_main.h:182
void cardDatabaseUpdateFinished(bool success)
Emitted after the card-database update subprocess exits.
QByteArray cardUpdateErrorPartial
incomplete trailing stderr line, kept for line-based logging
Definition window_main.h:204
void actCheckClientUpdates()
Definition window_main.cpp:1448
bool firstRunWizardActive
Definition window_main.h:200
TabSupervisor * tabSupervisor
Definition window_main.h:189
QByteArray cardUpdateErrorOutput
diagnostic output collected from the updater's stderr
Definition window_main.h:203
WndSets * wndSets
Definition window_main.h:191
void cardUpdateProgressOutput()
Definition window_main.cpp:1272
void actAddCustomSet()
Definition window_main.cpp:1503
void actWatchReplay()
Definition window_main.cpp:230
QAction * aAbout
Definition window_main.h:181
void onStartupDestinationConnected(int destination, const ContextConnectToServer &serverContext)
Definition window_main.cpp:819
TabSupervisor * getTabSupervisor() const
Definition window_main.h:236
void actManageSets()
Definition window_main.cpp:1581
QAction * aFirstRunWizard
Definition window_main.h:186
void actCheckCommanderBracketDefinitionUpdates()
Definition window_main.cpp:1463
void actExit()
Definition window_main.cpp:283
Definition remote_connection_controller.h:20
Definition release_channel.h:25
Definition remote_client.h:34
Definition tab_supervisor.h:92
Definition dlg_manage_sets.h:32
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")
One progress line read from the card database updater's stdout.
Definition card_update_progress.h:24
Definition context_connect_to_server.h:7
Definition game_replay.proto:4
Definition dlg_local_game_options.h:19