24 #ifndef __MAINWINDOW_H_
25 #define __MAINWINDOW_H_
30 #include <QMainWindow>
31 #include <QSystemTrayIcon>
40 class QQueryMenuAction;
48 MainWindow(QApplication* application,
int argc,
char** argv);
61 void notifyFirstRun();
91 void stopAutoRefreshTimer();
93 void updateMasterAddresses();
96 void runGame(
const ServerPtr&);
101 static const QString HELP_SITE_URL;
103 void changeEvent(QEvent* event);
104 void checkForUpdates(
bool bUserTriggered);
112 void closeEvent(QCloseEvent* event);
131 bool hasCustomServers()
const;
133 QProgressBar* mkStdProgressBarForStatusBar();
135 void initAutoUpdaterWidgets();
136 void initIP2CUpdater();
140 void initServerDetailsDock();
141 void initServerFilterDock();
157 bool isAnyMasterEnabled()
const;
159 QQueryMenuAction* queryMenuActionForMasterClient(
MasterClient* pClient);
161 void refreshCustomServers();
172 void abortAutoUpdater();
173 void autoRefreshTimer_timeout();
174 void blockRefreshButtons();
185 void confirmUpdateInstallation();
186 void discardUpdates();
187 void findMissingWADs(
const ServerPtr&);
190 void masterManagerMessages(
MasterClient* pSender,
const QString& title,
const QString& content,
bool isError);
193 void menuCreateServer();
194 void menuHelpAbout();
196 void menuIRCOptions();
198 void menuManageDemos();
199 void menuOptionsConfigure();
200 void menuRecordDemo();
201 void menuUpdateIP2C();
203 void menuWadSeeker();
205 void onAutoUpdaterDownloadAndInstallConfirmationRequest();
206 void onAutoUpdaterFileProgress(qint64 bytesReceived, qint64 bytesTotal);
207 void onAutoUpdaterFinish();
208 void onAutoUpdaterOverallProgress(
int current,
int total,
const QString& msg);
211 void postInitAppStartup();
212 void refreshThreadBeginsWork();
213 void refreshThreadEndsWork();
214 void restartAndInstallUpdatesNow();
215 void serverAddedToList(
const ServerPtr&);
216 void showServerJoinCommandLine(
const ServerPtr&);
217 void showUpdaterProcessErrorDialog();
218 void showUpdateInstallErrorDialog();
227 void toolBarAction(QAction* pAction);
228 void trayIcon_activated(QSystemTrayIcon::ActivationReason reason);
237 void ip2cDownloadProgress(qint64 current, qint64 max);
238 void ip2cJobsFinished();
239 void ip2cStartUpdate();
240 void showAndLogStatusMessage(
const QString &message);
241 void showServerJoinCommandLineOnBuilderFinished();
242 void showProgramArgsHelp();
void setQueryMasterServerEnabled(MasterClient *pClient, bool bEnabled)
Sets query for selected MasterClient object to enabled or disabled.
Structure describing server filter.
void checkForUpdatesAuto()
Auto triggered updates will display install confirmation only if configured to.
void updateTrayIconTooltipAndLogTotalRefresh()
Message object used to pass messages throughout the Doomseeker's system.
void finishConfiguration(DoomseekerConfigurationDialog &, bool)
void toggleMasterClientEnabled(MasterClient *pClient)
Toggles specified MasterClient object enabled or disabled.
void checkForUpdatesUserTriggered()
User triggered updates will always display install confirmation.
void setDisplayUpdaterProcessFailure(int errorCode)
This should be set if program was started with "--update-failed" argument.
bool isAnythingToRefresh() const
Will check if refresh operation has any sense.
void fillQueryMenu(MasterManager *masterManager)
Manager class for a number of MasterClient instances.
void setDisplayUpdateInstallerError(int errorCode)
If set then MainWindow will display the reason for updater failure.
Abstract base for all MasterClients.
void initAutoRefreshTimer()