QTfrontend/hwform.h
author Wuzzy <Wuzzy2@mail.ru>
Sun, 13 Jan 2019 17:28:33 +0100
changeset 14566 85921db6f7c3
parent 14470 6ab8335fe0a6
child 14601 1d3f8cf48831
permissions -rw-r--r--
Disallow placement of piano beyond bounce world edge
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;
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
    55
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
    56
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    57
class HWForm : public QMainWindow
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    58
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    59
        Q_OBJECT
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    60
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    61
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    62
        HWForm(QWidget *parent = 0, QString styleSheet = "");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    63
        Ui_HWForm ui;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    64
        static GameUIConfig * config;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    65
        void exit();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    66
        void setButtonDescription(QString desc);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    67
        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
    68
        void GoToVideos();
13086
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12665
diff changeset
    69
        void GoToTraining();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
8716
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8434
diff changeset
    71
        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
    72
        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
    73
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    74
    private slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    75
        void GoToSaves();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    76
        void GoToDemos();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    77
        void GoToNet();
13818
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13197
diff changeset
    78
        void GoToHelp();
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
    79
        void GoToEditWeapons();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
    80
        void GoToNewWeapons();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
    81
        void GoToWeapons(int index);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    82
        void GoToScheme(int index);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    83
        void GoToEditScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    84
        void GoToNewScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    85
        void GoToPage(int id);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    86
        void GoBack();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    87
        void OpenSnapshotFolder();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    88
        QString getDemoArguments();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    89
        void AssociateFiles();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    90
        void btnExitPressed();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    91
        void IntermediateSetup();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    92
        void NewTeam();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    93
        void EditTeam(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    94
        void AfterTeamEdit();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    95
        void DeleteTeam(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    96
        void DeleteScheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    97
        void DeleteWeaponSet();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    98
        void SimpleGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
    99
        void PlayDemo();
11968
1de4d6b35748 Mission recategorization into trainings, challenges and scenarios.
Wuzzy <almikes@aol.com>
parents: 11950
diff changeset
   100
        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
   101
        void StartCampaign();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   102
        void NetConnect();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   103
        void NetConnectServer(const QString & host, quint16 port);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   104
        void NetConnectOfficialServer();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   105
        void NetStartServer();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   106
        void NetDisconnect();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   107
        void NetConnected();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   108
        void NetError(const QString & errmsg);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   109
        void NetWarning(const QString & wrnmsg);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   110
        void NetGameEnter();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   111
        void NetPassword(const QString & nick);
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8268
diff changeset
   112
        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
   113
        void NetNickNotRegistered(const QString & nick);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   114
        void NetNickTaken(const QString & nick);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   115
        void NetAuthFailed();
9549
ac5c1f691ce2 Allow user to enter password for the room he joins
unc0rr
parents: 9184
diff changeset
   116
        void askRoomPassword();
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8416
diff changeset
   117
        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
   118
        void NetTeamAccepted(const QString& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   119
        void AddNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   120
        void RemoveNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   121
        void StartMPGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   122
        void GameStateChanged(GameState gameState);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   123
        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
   124
        void ShowFatalErrorMessage(const QString &);
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7004
diff changeset
   125
        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
   126
        void CreateNetGame();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   127
        void UpdateWeapons();
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   128
        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
   129
        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
   130
        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
   131
        void onFrontendFullscreen(bool value);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   132
        void onFrontendEffects(bool value);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   133
        void Music(bool checked);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   134
        void UpdateCampaignPage(int index);
11950
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11851
diff changeset
   135
        void UpdateCampaignPageTeam(int index);
7490
c422845b8d1f Fixed a typo, frontend is now working properly
belphegorr <szabibibi@gmail.com>
parents: 7245
diff changeset
   136
        void UpdateCampaignPageProgress(int index);
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9100
diff changeset
   137
        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
   138
        void UpdateTrainingPageTeam(int index);
7201
dc17ffdf0702 The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents: 7004
diff changeset
   139
        void InitCampaignPage();
14470
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14462
diff changeset
   140
        void RestoreSingleplayerTeamSelection();
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8364
diff changeset
   141
        void showFeedbackDialog();
8878
b03dc99f2f2e check for network for feedback dialog too
koda
parents: 8720
diff changeset
   142
        void showFeedbackDialogNetChecked();
2345
daf1785f2337 - Frontend: reorganize code controlling widgets state, fix problems getting room admin status
unc0rr
parents: 2098
diff changeset
   143
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   144
        void NetGameChangeStatus(bool isMaster);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   145
        void NetGameMaster();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   146
        void NetGameSlave();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   147
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   148
        void AsyncNetServerStart();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   149
        void NetLeftRoom(const QString & reason);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   150
        void selectFirstNetScheme();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2345
diff changeset
   151
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   152
        void saveDemoWithCustomName();
8364
fbc9bcc6c39d Added "New account" button when connectiong to the official server
vitiv <nikita.utiu@gmail.com>
parents: 8353
diff changeset
   153
        void openRegistrationPage();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   154
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
   155
        void startGame();
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8878
diff changeset
   156
        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
   157
9100
3f5e0280db4d Fix issue 652 and fix issue 645
unc0rr
parents: 9080
diff changeset
   158
        void FromNetProxySlot(const QByteArray &);
3f5e0280db4d Fix issue 652 and fix issue 645
unc0rr
parents: 9080
diff changeset
   159
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   160
    private:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   161
        void _NetConnect(const QString & hostName, quint16 port, QString nick);
8720
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
   162
        int  AskForNickAndPwd(void);
8140
a098374b847b A bit of refactoring
unc0rr
parents: 7628
diff changeset
   163
        void UpdateTeamsLists();
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   164
        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
   165
        void closeEvent(QCloseEvent *event);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   166
        void CustomizePalettes();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   167
        void resizeEvent(QResizeEvent * event);
8353
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8328
diff changeset
   168
        QString stringifyPageId(quint32 id);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   169
        //void keyReleaseEvent(QKeyEvent *event);
660
7c155e849602 - Simplify net game objects relationship
unc0rr
parents: 646
diff changeset
   170
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   171
        enum PageIDs
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   172
        {
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   173
            ID_PAGE_SETUP_TEAM     ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   174
            ID_PAGE_SETUP          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   175
            ID_PAGE_MULTIPLAYER    ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   176
            ID_PAGE_DEMOS          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   177
            ID_PAGE_NET            ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   178
            ID_PAGE_NETGAME        ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   179
            ID_PAGE_INFO           ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   180
            ID_PAGE_MAIN           ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   181
            ID_PAGE_GAMESTATS      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   182
            ID_PAGE_SINGLEPLAYER   ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   183
            ID_PAGE_TRAINING       ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   184
            ID_PAGE_SELECTWEAPON   ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   185
            ID_PAGE_NETSERVER      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   186
            ID_PAGE_INGAME         ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   187
            ID_PAGE_ROOMSLIST      ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   188
            ID_PAGE_CONNECTING     ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   189
            ID_PAGE_SCHEME         ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   190
            ID_PAGE_ADMIN          ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   191
            ID_PAGE_CAMPAIGN       ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   192
            ID_PAGE_DRAWMAP        ,
45d43f372107 Workaround for stuck pages.
nemo
parents: 6952
diff changeset
   193
            ID_PAGE_DATADOWNLOAD   ,
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8416
diff changeset
   194
            ID_PAGE_VIDEOS         ,
8205
921e63507bea GCI2012: Navigation Output
Ondrej
parents: 8179
diff changeset
   195
            MAX_PAGE
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   196
        };
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   197
        QPointer<HWGame> game;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   198
        QPointer<HWNetServer> pnetserver;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   199
        QPointer<HWNetRegisterServer> pRegisterServer;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   200
        QPointer<HWTeam> editedTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   201
        QPointer<HWNewNet> hwnet;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   202
        HWNamegen * namegen;
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   203
        GameSchemeModel * gameSchemeModel;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   204
        QStack<int> PagesStack;
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9100
diff changeset
   205
        QString previousCampaignName;
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
   206
        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
   207
        QList<MissionInfo> campaignMissionInfo;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   208
        QTime eggTimer;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   209
        BGWidget * wBackground;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   210
        QSignalMapper * pageSwitchMapper;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   211
        QByteArray m_lastDemo;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3236
diff changeset
   212
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   213
        QPropertyAnimation *animationNewSlide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   214
        QPropertyAnimation *animationOldSlide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   215
        QPropertyAnimation *animationNewOpacity;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   216
        QPropertyAnimation *animationOldOpacity;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6225
diff changeset
   217
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   218
#ifdef __APPLE__
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   219
        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
   220
#endif
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3236
diff changeset
   221
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6574
diff changeset
   222
        void OnPageShown(quint8 id, quint8 lastid=0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   223
};
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   224
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   225
#endif