24 #ifndef __MAINWINDOW_H_ 25 #define __MAINWINDOW_H_ 30 #include <QMainWindow> 31 #include <QSystemTrayIcon> 41 class QueryMenuAction;
50 MainWindow(QApplication* application,
int argc,
char** argv);
63 void notifyFirstRun();
93 void stopAutoRefreshTimer();
95 void updateMasterAddresses();
98 void runGame(
const ServerPtr&);
99 void showInstallFreedoomDialog();
104 static const QString HELP_SITE_URL;
106 void changeEvent(QEvent* event);
107 void checkForUpdates(
bool bUserTriggered);
115 void closeEvent(QCloseEvent* event);
134 bool hasCustomServers()
const;
136 QProgressBar* mkStdProgressBarForStatusBar();
138 void initAutoUpdaterWidgets();
139 void initIP2CUpdater();
143 void initServerDetailsDock();
144 void initServerFilterDock();
160 bool isAnyMasterEnabled()
const;
162 QueryMenuAction* queryMenuActionForPlugin(
const EnginePlugin *plugin);
164 void refreshCustomServers();
165 void refreshLanServers();
166 void showEvent(QShowEvent *event);
172 void updateTrayIconTooltipAndLogTotalRefresh();
175 void abortAutoUpdater();
176 void autoRefreshTimer_timeout();
177 void blockRefreshButtons();
188 void confirmUpdateInstallation();
189 void discardUpdates();
190 void findMissingWADs(
const ServerPtr&);
193 void masterManagerMessages(
MasterClient* pSender,
const QString& title,
const QString& content,
bool isError);
196 void menuCreateServer();
197 void menuHelpAbout();
199 void menuIRCOptions();
201 void menuManageDemos();
202 void menuOptionsConfigure();
203 void menuRecordDemo();
204 void menuUpdateIP2C();
206 void menuWadSeeker();
208 void onAutoUpdaterDownloadAndInstallConfirmationRequest();
209 void onAutoUpdaterFileProgress(qint64 bytesReceived, qint64 bytesTotal);
210 void onAutoUpdaterFinish();
211 void onAutoUpdaterOverallProgress(
int current,
int total,
const QString& msg);
214 void postInitAppStartup();
215 void refreshThreadBeginsWork();
216 void refreshThreadEndsWork();
217 void restartAndInstallUpdatesNow();
218 void serverAddedToList(
const ServerPtr&);
219 void showServerJoinCommandLine(
const ServerPtr&);
220 void showUpdaterProcessErrorDialog();
221 void showUpdateInstallErrorDialog();
228 void toolBarAction(QAction* pAction);
229 void trayIcon_activated(QSystemTrayIcon::ActivationReason reason);
231 void updateRefreshProgress();
240 void ip2cDownloadProgress(qint64 current, qint64 max);
241 void ip2cJobsFinished();
242 void ip2cStartUpdate();
243 void showAndLogStatusMessage(
const QString &message);
244 void showServerJoinCommandLineOnBuilderFinished();
245 void showProgramArgsHelp();
Structure describing server filter.
void checkForUpdatesAuto()
Auto triggered updates will display install confirmation only if configured to.
void togglePluginQueryEnabled(const EnginePlugin *plugin)
Message object used to pass messages throughout the Doomseeker's system.
void finishConfiguration(DoomseekerConfigurationDialog &, bool)
void setQueryPluginEnabled(const EnginePlugin *pClient, bool bEnabled)
Sets query for selected MasterClient object to 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()