24 #ifndef __MAINWINDOW_H_ 
   25 #define __MAINWINDOW_H_ 
   30 #include <QMainWindow> 
   31 #include <QSystemTrayIcon> 
   41 class QueryMenuAction;
 
   63         bool isEffectivelyActiveWindow() 
const;
 
   65         void notifyFirstRun();
 
   95         void stopAutoRefreshTimer();
 
   97         void updateMasterAddresses();
 
  100         void runGame(
const ServerPtr &);
 
  101         void showInstallFreedoomDialog();
 
  102         void updateDynamicAppearance();
 
  107         static const QString HELP_SITE_URL;
 
  109         void changeEvent(QEvent *event) 
override;
 
  110         void checkForUpdates(
bool bUserTriggered);
 
  118         void closeEvent(QCloseEvent *event) 
override;
 
  137         bool hasCustomServers() 
const;
 
  139         QProgressBar *mkStdProgressBarForStatusBar();
 
  141         void initAutoUpdaterWidgets();
 
  142         void initIP2CUpdater();
 
  146         void initServerDetailsDock();
 
  147         void initServerFilterDock();
 
  163         bool isAnyMasterEnabled() 
const;
 
  165         QueryMenuAction *queryMenuActionForPlugin(
const EnginePlugin *plugin);
 
  167         void refreshCustomServers();
 
  168         void refreshServersOnList();
 
  169         void showEvent(QShowEvent *event) 
override;
 
  175         void updateTrayIconTooltipAndLogTotalRefresh();
 
  178         void abortAutoUpdater();
 
  179         void autoRefreshTimer_timeout();
 
  180         void blockRefreshButtons();
 
  191         void confirmUpdateInstallation();
 
  192         void discardUpdates();
 
  193         void findMissingWADs(
const ServerPtr &);
 
  196         void masterManagerMessages(
MasterClient *pSender, 
const QString &title, 
const QString &content, 
bool isError);
 
  199         void menuCreateServer();
 
  200         void menuHelpAbout();
 
  202         void menuIRCOptions();
 
  204         void menuManageDemos();
 
  205         void menuOptionsConfigure();
 
  206         void menuRecordDemo();
 
  207         void menuUpdateIP2C();
 
  209         void menuWadSeeker();
 
  211         void onAutoUpdaterDownloadAndInstallConfirmationRequest();
 
  212         void onAutoUpdaterFileProgress(qint64 bytesReceived, qint64 bytesTotal);
 
  213         void onAutoUpdaterFinish();
 
  214         void onAutoUpdaterOverallProgress(
int current, 
int total, 
const QString &msg);
 
  217         void postInitAppStartup();
 
  218         void refreshThreadBeginsWork();
 
  219         void refreshThreadEndsWork();
 
  220         void restartAndInstallUpdatesNow();
 
  221         void serverAddedToList(
const ServerPtr &);
 
  222         void showServerJoinCommandLine(
const ServerPtr &);
 
  223         void showUpdaterProcessErrorDialog();
 
  224         void showUpdateInstallErrorDialog();
 
  231         void toolBarAction(QAction *pAction);
 
  232         void trayIcon_activated(QSystemTrayIcon::ActivationReason reason);
 
  234         void updateRefreshProgress();
 
  239         void connectIP2CLoader();
 
  243         void ip2cDownloadProgress(qint64 current, qint64 max);
 
  244         void ip2cJobsFinished();
 
  245         void ip2cStartUpdate();
 
  246         void showAndLogStatusMessage(
const QString &message);
 
  247         void showServerJoinCommandLineOnBuilderFinished();
 
  248         void showProgramArgsHelp();