QTfrontend/hwform.h
author S.D.
Tue, 27 Sep 2022 14:59:03 +0300
changeset 15878 fc3cb23fd26f
parent 15278 16f389fcd462
permissions -rw-r--r--
Allow to see rooms of incompatible versions in the lobby For the new clients the room version is shown in a separate column. There is also a hack for previous versions clients: the room vesion specifier is prepended to the room names for rooms of incompatible versions, and the server shows 'incompatible version' error if the client tries to join them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 788
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10307
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     4
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 10017
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    17
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    19
#ifndef HWFORM_H
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#define HWFORM_H
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 461
diff changeset
    22
#include <QMainWindow>
289
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 245
diff changeset
    23
#include <QStack>
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 496
diff changeset
    24
#include <QTime>
6223
cc3eb9b7230f It doesn't make much sense to make checks like 'if(game)' if you never set game to 0. Using smart pointers instead. Does it fix segfaults? Probably.
unc0rr
parents: 6205
diff changeset
    25
#include <QPointer>
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6225
diff changeset
    26
#include <QPropertyAnimation>
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    27
#include <QUrl>
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    28
#include <QNetworkReply>
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    29
#include <QNetworkRequest>
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6477
diff changeset
    30
#include <QNetworkAccessManager>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    31
314
83773ccf4f09 client/server net pre-alpha
displacer
parents: 311
diff changeset
    32
#include "netserver.h"
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 289
diff changeset
    33
#include "game.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    34
#include "ui_hwform.h"
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6048
diff changeset
    35
#include "SDLInteraction.h"
2012
76fff564246b TheXception's patch:
unc0rr
parents: 2009
diff changeset
    36
#include "bgwidget.h"
9290
478aa681e702 this seems to work ok, but I have to clean up the code
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9284
diff changeset
    37
#include "campaign.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    38
2401
2a694ea2a437 fixes & co.
koda
parents: 2400
diff changeset
    39
#ifdef __APPLE__
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
    40
#include "InstallController.h"
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
    41
#endif
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
    42
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    43
class HWGame;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    44
class HWTeam;
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents: 1905
diff changeset
    45
class HWNamegen;
314
83773ccf4f09 client/server net pre-alpha
displacer
parents: 311
diff changeset
    46
class HWNewNet;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    47
class GameUIConfig;
634
b9db5ff5cfdb Fix some bugs
unc0rr
parents: 600
diff changeset
    48
class HWNetRegisterServer;
674
a15c8e3c69b3 Save and restore window size
unc0rr
parents: 666
diff changeset
    49
class QCloseEvent;
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
    50
class GameSchemeModel;
2773
e94f240a8a41 Have game beep when someone joins lobby/room. Controlled by Sound option
nemo
parents: 2515
diff changeset
    51
class QSettings;
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4500
diff changeset
    52
class QSignalMapper;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    53
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2012
diff changeset
    54
extern bool frontendEffects;
15278
16f389fcd462 Prevent saving of demo after /lua command was used
Wuzzy <Wuzzy2@mail.ru>
parents: 15090
diff changeset
    55
extern bool demoIsPresent;
2874
3c7c2bf1ba38 A simple hat reservation mechanism. Can be worked around with a little effort, but to make it useful, you'd have to get everyone you played with to work around it too. Quite a bit of effort for a small reward feature.
nemo
parents: 2821
diff changeset
    56
extern QString playerHash;
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2012
diff changeset
    57
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    58
class HWForm : public QMainWindow
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    59
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    60
        Q_OBJECT
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    61
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    62
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    63
        HWForm(QWidget *parent = 0, QString styleSheet = "");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    64
        Ui_HWForm ui;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    65
        static GameUIConfig * config;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    66
        void exit();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    67
        void setButtonDescription(QString desc);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    68
        void backDescription();
7353
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7235
diff changeset
    69
        void GoToVideos();
13086
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12665
diff changeset
    70
        void GoToTraining();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
8716
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    72
        void NetConnectQuick(const QString & host, quint16 port);
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    73
        void PlayDemoQuick(const QString & demofilename);
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    74
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    75
    private slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    76
        void GoToSaves();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    77
        void GoToDemos();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    78
        void GoToNet();
13818
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13197
diff changeset
    79
        void GoToHelp();
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
    80
        void GoToEditWeapons();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
    81
        void GoToNewWeapons();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
    82
        void GoToWeapons(int index);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    83
        void GoToScheme(int index);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    84
        void GoToEditScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    85
        void GoToNewScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    86
        void GoToPage(int id);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    87
        void GoBack();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    88
        void OpenSnapshotFolder();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    89
        QString getDemoArguments();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    90
        void AssociateFiles();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    91
        void btnExitPressed();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    92
        void IntermediateSetup();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    93
        void NewTeam();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    94
        void EditTeam(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    95
        void AfterTeamEdit();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    96
        void DeleteTeam(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    97
        void DeleteScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    98
        void DeleteWeaponSet();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    99
        void SimpleGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   100
        void PlayDemo();
11968
1de4d6b35748 Mission recategorization into trainings, challenges and scenarios.
Wuzzy <almikes@aol.com>
parents: 11950
diff changeset
   101
        void startTraining(const QString&, const QString&);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   102
        void StartCampaign();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   103
        void NetConnect();
14865
90cf07c60feb add argument flag for tls connections
alfadur
parents: 14838
diff changeset
   104
        void NetConnectServer(const QString & host, quint16 port, bool useTls);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   105
        void NetConnectOfficialServer();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   106
        void NetStartServer();
14838
bdb47255d7e4 accept redirect messages
alfadur
parents: 14603
diff changeset
   107
        void NetRedirected(quint16 port);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   108
        void NetDisconnect();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   109
        void NetConnected();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   110
        void NetError(const QString & errmsg);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   111
        void NetWarning(const QString & wrnmsg);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   112
        void NetGameEnter();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   113
        void NetPassword(const QString & nick);
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8268
diff changeset
   114
        void NetNickRegistered(const QString & nick);
8299
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8294
diff changeset
   115
        void NetNickNotRegistered(const QString & nick);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   116
        void NetNickTaken(const QString & nick);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   117
        void NetAuthFailed();
9549
ac5c1f691ce2 Allow user to enter password for the room he joins
unc0rr
parents: 9184
diff changeset
   118
        void askRoomPassword();
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8416
diff changeset
   119
        bool RetryDialog(const QString & title, const QString & label);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   120
        void NetTeamAccepted(const QString& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   121
        void AddNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   122
        void RemoveNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   123
        void StartMPGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   124
        void GameStateChanged(GameState gameState);
15278
16f389fcd462 Prevent saving of demo after /lua command was used
Wuzzy <Wuzzy2@mail.ru>
parents: 15090
diff changeset
   125
        void DemoPresenceChanged(bool hasDemo);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   126
        void ForcedDisconnect(const QString & reason);
10307
e13d3147f15b do not get stuck on "in game..." page just because of game crash. output a message instead. could still need some tweaking, but a man gotta sleep. and sheep too...
sheepluva
parents: 10108
diff changeset
   127
        void ShowFatalErrorMessage(const QString &);
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7004
diff changeset
   128
        void GetRecord(RecordType type, const QByteArray & record);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   129
        void CreateNetGame();
14903
5119203470f3 Teach frontend how to deal with official server replays (/watch)
Wuzzy <Wuzzy2@mail.ru>
parents: 14865
diff changeset
   130
        void PlayOfficialServerDemo();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   131
        void UpdateWeapons();
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   132
        void DeleteWeapons(QString weaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   133
        void AddWeapons(QString weaponsName, QString ammo);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   134
        void EditWeapons(QString oldWeaponsName, QString newWeaponsName, QString ammo);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   135
        void onFrontendFullscreen(bool value);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   136
        void onFrontendEffects(bool value);
15090
33eca3f0a9aa PageEditTeam: Disable sound test button when frontend sounds are disabled
Wuzzy <Wuzzy2@mail.ru>
parents: 14903
diff changeset
   137
        void onFrontendSoundsToggled(bool value);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   138
        void Music(bool checked);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   139
        void UpdateCampaignPage(int index);
11950
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11851
diff changeset
   140
        void UpdateCampaignPageTeam(int index);
7490
c422845b8d1f Fixed a typo, frontend is now working properly
belphegorr <szabibibi@gmail.com>
parents: 7245
diff changeset
   141
        void UpdateCampaignPageProgress(int index);
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9100
diff changeset
   142
        void UpdateCampaignPageMission(int index);
14462
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13818
diff changeset
   143
        void UpdateTrainingPageTeam(int index);
7201
dc17ffdf0702 The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents: 7004
diff changeset
   144
        void InitCampaignPage();
14470
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14462
diff changeset
   145
        void RestoreSingleplayerTeamSelection();
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8364
diff changeset
   146
        void showFeedbackDialog();
8878
b03dc99f2f2e check for network for feedback dialog too
koda
parents: 8720
diff changeset
   147
        void showFeedbackDialogNetChecked();
2345
daf1785f2337 - Frontend: reorganize code controlling widgets state, fix problems getting room admin status
unc0rr
parents: 2098
diff changeset
   148
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   149
        void NetGameChangeStatus(bool isMaster);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   150
        void NetGameMaster();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   151
        void NetGameSlave();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   152
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   153
        void AsyncNetServerStart();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   154
        void NetLeftRoom(const QString & reason);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   155
        void selectFirstNetScheme();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2345
diff changeset
   156
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   157
        void saveDemoWithCustomName();
8364
fbc9bcc6c39d Added "New account" button when connectiong to the official server
vitiv <nikita.utiu@gmail.com>
parents: 8353
diff changeset
   158
        void openRegistrationPage();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   159
8416
e691acd778f5 It is now possible to start a game even if not all players are "ready"; a confirmation prompt is shown. This commit updates the server.
dag10
parents: 8385
diff changeset
   160
        void startGame();
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8878
diff changeset
   161
        void restartGame();
8416
e691acd778f5 It is now possible to start a game even if not all players are "ready"; a confirmation prompt is shown. This commit updates the server.
dag10
parents: 8385
diff changeset
   162
9100
3f5e0280db4d Fix issue 652 and fix issue 645
unc0rr
parents: 9080
diff changeset
   163
        void FromNetProxySlot(const QByteArray &);
3f5e0280db4d Fix issue 652 and fix issue 645
unc0rr
parents: 9080
diff changeset
   164
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   165
    private:
14865
90cf07c60feb add argument flag for tls connections
alfadur
parents: 14838
diff changeset
   166
        void _NetConnect(const QString & hostName, quint16 port, bool useTls, QString nick);
8720
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
   167
        int  AskForNickAndPwd(void);
8140
a098374b847b A bit of refactoring
unc0rr
parents: 7628
diff changeset
   168
        void UpdateTeamsLists();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   169
        void CreateGame(GameCFGWidget * gamecfg, TeamSelWidget* pTeamSelWidget, QString ammo);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   170
        void closeEvent(QCloseEvent *event);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   171
        void CustomizePalettes();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   172
        void resizeEvent(QResizeEvent * event);
8353
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8328
diff changeset
   173
        QString stringifyPageId(quint32 id);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   174
        //void keyReleaseEvent(QKeyEvent *event);
660
7c155e849602 - Simplify net game objects relationship
unc0rr
parents: 646
diff changeset
   175
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   176
        enum PageIDs
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   177
        {
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   178
            ID_PAGE_SETUP_TEAM     ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   179
            ID_PAGE_SETUP          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   180
            ID_PAGE_MULTIPLAYER    ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   181
            ID_PAGE_DEMOS          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   182
            ID_PAGE_NET            ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   183
            ID_PAGE_NETGAME        ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   184
            ID_PAGE_INFO           ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   185
            ID_PAGE_MAIN           ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   186
            ID_PAGE_GAMESTATS      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   187
            ID_PAGE_SINGLEPLAYER   ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   188
            ID_PAGE_TRAINING       ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   189
            ID_PAGE_SELECTWEAPON   ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   190
            ID_PAGE_NETSERVER      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   191
            ID_PAGE_INGAME         ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   192
            ID_PAGE_ROOMSLIST      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   193
            ID_PAGE_CONNECTING     ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   194
            ID_PAGE_SCHEME         ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   195
            ID_PAGE_ADMIN          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   196
            ID_PAGE_CAMPAIGN       ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   197
            ID_PAGE_DRAWMAP        ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   198
            ID_PAGE_DATADOWNLOAD   ,
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8416
diff changeset
   199
            ID_PAGE_VIDEOS         ,
8205
921e63507bea GCI2012: Navigation Output
Ondrej
parents: 8179
diff changeset
   200
            MAX_PAGE
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   201
        };
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   202
        QPointer<HWGame> game;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   203
        QPointer<HWNetServer> pnetserver;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   204
        QPointer<HWNetRegisterServer> pRegisterServer;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   205
        QPointer<HWTeam> editedTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   206
        QPointer<HWNewNet> hwnet;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   207
        HWNamegen * namegen;
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   208
        GameSchemeModel * gameSchemeModel;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   209
        QStack<int> PagesStack;
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9100
diff changeset
   210
        QString previousCampaignName;
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
   211
        QString previousTeamName;
9290
478aa681e702 this seems to work ok, but I have to clean up the code
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9284
diff changeset
   212
        QList<MissionInfo> campaignMissionInfo;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   213
        QTime eggTimer;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   214
        BGWidget * wBackground;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   215
        QSignalMapper * pageSwitchMapper;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   216
        QByteArray m_lastDemo;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3236
diff changeset
   217
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   218
        QPropertyAnimation *animationNewSlide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   219
        QPropertyAnimation *animationOldSlide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   220
        QPropertyAnimation *animationNewOpacity;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   221
        QPropertyAnimation *animationOldOpacity;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6225
diff changeset
   222
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   223
#ifdef __APPLE__
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   224
        InstallController * panel;
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   225
#endif
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3236
diff changeset
   226
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   227
        void OnPageShown(quint8 id, quint8 lastid=0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   228
};
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   229
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   230
#endif