QTfrontend/ui/page/pageoptions.h
author unc0rr
Sun, 02 Dec 2012 01:25:11 +0400
changeset 8178 8bd087478b48
parent 7703 78d2ac987f41
child 8151 25b95d6224fc
permissions -rw-r--r--
Fix QSettings problems: - Reopen file in ReadOnly mode if it was open in ReadWrite mode and is being read. This is needed for stupid QSettings which opens file in ReadWrite mode just to call readAll() on it. - Implement setSize(0)
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