QTfrontend/ui/page/pageeditteam.h
author Wuzzy <Wuzzy2@mail.ru>
Wed, 25 Oct 2017 23:09:41 +0200
changeset 12768 ad67a3804981
parent 12689 5f68b259305c
child 15095 33eca3f0a9aa
permissions -rw-r--r--
Fix sometimes ammo schemes not being saved after changing before an ammo scheme got deleted in session This was because the bool isDeleting is not initialized, so its initial value is unpredictable. Which means there's chance it starts with true, confusing the frontend.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     1
/*
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10108
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     4
 *
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     8
 *
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    12
 * GNU General Public License for more details.
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    13
 *
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
e1a5f4d5d86a split pages.h into several header files
koda
parents:
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: 9998
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    17
 */
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    18
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    19
#ifndef PAGE_EDITTEAM_H
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    20
#define PAGE_EDITTEAM_H
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    21
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    22
#include "AbstractPage.h"
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    23
#include "binds.h"
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    24
#include "hwconsts.h"
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    25
#include "namegen.h"
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6060
diff changeset
    26
#include "SDLInteraction.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    27
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    28
#include "team.h"
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    29
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    30
class SquareLabel;
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
    31
class KeyBinder;
8374
3a1708759c4f Hat selection reworked
dag10
parents: 8346
diff changeset
    32
class HatButton;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    33
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    34
class PageEditTeam : public AbstractPage
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    35
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    36
        Q_OBJECT
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    37
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    38
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    39
        PageEditTeam(QWidget* parent);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    40
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    41
        void createTeam(const QString & name, const QString & playerHash);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    42
        void editTeam(const QString & name, const QString & playerHash);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    43
        void deleteTeam(const QString & name);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    44
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    45
    public slots:
12255
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12253
diff changeset
    46
        void CBTeamLvl_activated(const int index);
12689
5f68b259305c Mark custom forts with asterisk in team editor
Wuzzy <almikes@aol.com>
parents: 12674
diff changeset
    47
        void CBFort_activated(const int index);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    48
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    49
    private:
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
    50
        QTabWidget * tbw;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    51
        QSignalMapper* signalMapper1;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    52
        QSignalMapper* signalMapper2;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    53
        QGroupBox *GBoxHedgehogs;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    54
        QGroupBox *GBoxTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    55
        QGroupBox *GBoxFort;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    56
        QComboBox *CBFort;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    57
        SquareLabel *FortPreview;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    58
        QComboBox *CBGrave;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    59
        QComboBox *CBFlag;
12255
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12253
diff changeset
    60
        QLabel *CPUFlag;
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12253
diff changeset
    61
        QLabel *CPUFlagLabel;
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12253
diff changeset
    62
        QWidget *hboxCPUWidget;
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12253
diff changeset
    63
        QPixmap pixCPU[5];
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    64
        QComboBox *CBTeamLvl;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    65
        QComboBox *CBVoicepack;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    66
        QGroupBox *GBoxBinds;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    67
        QToolBox *BindsBox;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    68
        QLineEdit * TeamNameEdit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    69
        QLineEdit * HHNameEdit[HEDGEHOGS_PER_TEAM];
8374
3a1708759c4f Hat selection reworked
dag10
parents: 8346
diff changeset
    70
        HatButton * HHHats[HEDGEHOGS_PER_TEAM];
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    71
        HWTeam data();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    72
        QString m_playerHash;
12674
bc34fc75670e Fix old team name not being removed after renaming team in frontend
Wuzzy <almikes@aol.com>
parents: 12255
diff changeset
    73
        QString OldTeamName;
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
    74
        KeyBinder * binder;
9511
1be565d7b4b7 Fill PageEditTeam containers only when it is actually required:
unc0rr
parents: 9080
diff changeset
    75
        bool m_loaded;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    76
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    77
        QLayout * bodyLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    78
        QLayout * footerLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    79
        void connectSignals();
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6024
diff changeset
    80
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    81
        void loadTeam(const HWTeam & team);
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    82
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    83
        // page 1
12253
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
    84
        QPushButton * btnRandomTeam;
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
    85
        QPushButton * btnRandomNames;
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
    86
        QPushButton * btnRandomHats;
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
    87
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    88
        QPushButton * btnRandomHogName[HEDGEHOGS_PER_TEAM];
12250
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
    89
        QPushButton * btnRandomTeamName;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
    90
        QPushButton * btnRandomGrave;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
    91
        QPushButton * btnRandomFlag;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
    92
        QPushButton * btnRandomVoice;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
    93
        QPushButton * btnRandomFort;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    94
        QPushButton * btnTestSound;
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6024
diff changeset
    95
9511
1be565d7b4b7 Fill PageEditTeam containers only when it is actually required:
unc0rr
parents: 9080
diff changeset
    96
        void lazyLoad();
1be565d7b4b7 Fill PageEditTeam containers only when it is actually required:
unc0rr
parents: 9080
diff changeset
    97
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    98
    private slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    99
        void saveTeam();
12249
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   100
        void setRandomTeam();
12253
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
   101
        void setRandomHogNames();
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
   102
        void setRandomHats();
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
   103
12250
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
   104
        void setRandomTeamName();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
   105
        void setRandomGrave();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
   106
        void setRandomFlag();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
   107
        void setRandomVoice();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12249
diff changeset
   108
        void setRandomFort();
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6060
diff changeset
   109
12249
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   110
        void setRandomHogName(int hh_index);
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6060
diff changeset
   111
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   112
        /// Plays a random voice sound of the currently edited team.
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   113
        void testSound();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   114
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   115
        void fixHHname(int idx);
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
   116
        void resetAllBinds();
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   117
};
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   118
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   119
#endif
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   120