QTfrontend/ui/page/pageoptions.h
author unc0rr
Sun, 02 Dec 2012 01:26:00 +0400
changeset 8179 a1ffcb559f99
parent 7703 78d2ac987f41
child 8151 25b95d6224fc
permissions -rw-r--r--
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
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
6952
7f70f37bbf08 license header year range adjustments
sheepluva
parents: 6911
diff changeset
     3
 * Copyright (c) 2004-2012 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
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
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_OPTIONS_H
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    20
#define PAGE_OPTIONS_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"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    23
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    24
class FPSEdit;
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    25
class IconedGroupBox;
7541
e51b11349637 Allow customization of colors in ui, store custom colors in config
unc0rr
parents: 7153
diff changeset
    26
class QSignalMapper;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    27
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    28
class PageOptions : public AbstractPage
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    29
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    30
        Q_OBJECT
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    31
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    32
    public:
7703
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    33
        enum ProxyTypes {
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    34
            NoProxy      = 0,
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    35
            SystemProxy  = 1,
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    36
            Socks5Proxy  = 2,
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    37
            HTTPProxy    = 3
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    38
        };
78d2ac987f41 Make sheepluva happy
unc0rr
parents: 7700
diff changeset
    39
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    40
        PageOptions(QWidget* parent = 0);
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    41
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    42
        QCheckBox *WeaponTooltip;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    43
        QPushButton *WeaponNew;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    44
        QPushButton *WeaponEdit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    45
        QPushButton *WeaponDelete;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    46
        QComboBox *WeaponsName;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    47
        QPushButton *SchemeNew;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    48
        QPushButton *SchemeEdit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    49
        QPushButton *SchemeDelete;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    50
        QComboBox *SchemesName;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    51
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    52
        QComboBox *CBLanguage;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    53
7700
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
    54
        IconedGroupBox *teamsBox;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    55
        QPushButton *BtnAssociateFiles;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    56
        QComboBox *CBTeamName;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    57
        IconedGroupBox *AGGroupBox;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    58
        QComboBox *CBResolution;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    59
        QComboBox *CBStereoMode;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    60
        QCheckBox *CBEnableSound;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    61
        QCheckBox *CBEnableFrontendSound;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    62
        QCheckBox *CBEnableMusic;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    63
        QCheckBox *CBEnableFrontendMusic;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    64
        QCheckBox *CBFullscreen;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    65
        QCheckBox *CBFrontendFullscreen;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    66
        QCheckBox *CBShowFPS;
6911
1cda333286e0 added savepassword checkbox to options page, which now reloads values at every acces
koda
parents: 6700
diff changeset
    67
        QCheckBox *CBSavePassword;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    68
        QCheckBox *CBAltDamage;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    69
        QCheckBox *CBNameWithDate;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    70
#ifdef __APPLE__
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    71
        QCheckBox *CBAutoUpdate;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    72
#endif
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    73
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    74
        FPSEdit *fpsedit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    75
        QLabel *labelNN;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    76
        QSpinBox * volumeBox;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    77
        QLineEdit *editNetNick;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    78
        QLineEdit *editNetPassword;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    79
        QSlider *SLQuality;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    80
        QCheckBox *CBFrontendEffects;
7700
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
    81
        QComboBox * cbProxyType;
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
    82
        QSpinBox * sbProxyPort;
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
    83
        QLineEdit * leProxy;
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
    84
        QLineEdit * leProxyLogin;
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
    85
        QLineEdit * leProxyPassword;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    86
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    87
        void setTeamOptionsEnabled(bool enabled);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6009
diff changeset
    88
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    89
    signals:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    90
        void newTeamRequested();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    91
        void editTeamRequested(const QString & teamName);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    92
        void deleteTeamRequested(const QString & teamName);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6009
diff changeset
    93
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6009
diff changeset
    94
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    95
    private:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    96
        QLayout * bodyLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    97
        QLayout * footerLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    98
        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
    99
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   100
        bool previousFullscreenValue;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   101
        int previousResolutionIndex;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   102
        int previousQuality;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   103
        QLabel *LblNoEditTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   104
        QPushButton *BtnNewTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   105
        QPushButton *BtnEditTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   106
        QPushButton *BtnDeleteTeam;
7541
e51b11349637 Allow customization of colors in ui, store custom colors in config
unc0rr
parents: 7153
diff changeset
   107
        QList<QPushButton *> m_colorButtons;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   108
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   109
    private slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   110
        void forceFullscreen(int index);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   111
        void setFullscreen(int state);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   112
        void setResolution(int state);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   113
        void setQuality(int value);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   114
        void trimNetNick();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   115
        void requestEditSelectedTeam();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   116
        void requestDeleteSelectedTeam();
6911
1cda333286e0 added savepassword checkbox to options page, which now reloads values at every acces
koda
parents: 6700
diff changeset
   117
        void savePwdChanged(int state);
7541
e51b11349637 Allow customization of colors in ui, store custom colors in config
unc0rr
parents: 7153
diff changeset
   118
        void colorButtonClicked(int i);
e51b11349637 Allow customization of colors in ui, store custom colors in config
unc0rr
parents: 7153
diff changeset
   119
        void onColorModelDataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight);
7700
fc44e4e33d1c Support for proxies (not tested)
unc0rr
parents: 7541
diff changeset
   120
        void onProxyTypeChanged();
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   121
};
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   122
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   123
#endif
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   124