QTfrontend/gameuiconfig.h
author nemo
Sat, 30 Jul 2011 17:23:47 -0400
changeset 5482 c047e70c53f4
parent 5390 f41e87de8989
child 6616 f77bb02b669f
permissions -rw-r--r--
add nil check
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: 949
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4958
diff changeset
     3
 * Copyright (c) 2006-2011 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
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
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 GAMECONFIG_H
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#define GAMECONFIG_H
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    22
#include <QSettings>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    23
#include <QStringList>
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
    24
#include <QRect>
5260
f50f620771ee When the password field is filled with null characters and when the user tries to edit the field, clear it.
Zorg <zorgiepoo@gmail.com>
parents: 5229
diff changeset
    25
#include <QEvent>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    26
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    27
class HWForm;
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    28
class QSettings;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    29
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    30
class GameUIConfig : public QSettings
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    31
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    32
    Q_OBJECT
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    33
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    34
public:
4958
84afe376a3b3 Autokick ignored players from game room on join. Needs testing.
nemo
parents: 4004
diff changeset
    35
    HWForm * Form;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    36
    GameUIConfig(HWForm * FormWidgets, const QString & fileName);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    37
    QStringList GetTeamsList();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    38
    QRect vid_Resolution();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    39
    bool vid_Fullscreen();
3694
3e9c0634065c new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents: 3690
diff changeset
    40
    quint32 translateQuality();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    41
    bool isSoundEnabled();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    42
    bool isFrontendSoundEnabled();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    43
    QString language();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    44
    bool isMusicEnabled();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    45
    bool isFrontendMusicEnabled();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    46
    bool isShowFPSEnabled();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    47
    bool isAltDamageEnabled();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    48
    bool appendDateTimeToRecordName();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    49
    quint8 volume();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    50
    quint8 timerInterval();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    51
    quint8 bitDepth();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    52
    QString netNick();
5229
148d581b17ab Attempt to fix issue 125. The password pop-up doesn't appear every time when going into the official server anymore, now it only does it when the password is blank. If a user enters an invalid password, the password is set blank to avoid the user going back to the official server just to be rejected. When entering an invalid password, the unknown error dialog doesn't show up anymore, but the connection lost to server one still does. This fixes the bug where the user would be spammed with error messages. The user can also now change his password in the settings page.
Zorg <zorgiepoo@gmail.com>
parents: 4976
diff changeset
    53
    QByteArray netPasswordHash();
148d581b17ab Attempt to fix issue 125. The password pop-up doesn't appear every time when going into the official server anymore, now it only does it when the password is blank. If a user enters an invalid password, the password is set blank to avoid the user going back to the official server just to be rejected. When entering an invalid password, the unknown error dialog doesn't show up anymore, but the connection lost to server one still does. This fixes the bug where the user would be spammed with error messages. The user can also now change his password in the settings page.
Zorg <zorgiepoo@gmail.com>
parents: 4976
diff changeset
    54
    int netPasswordLength();
148d581b17ab Attempt to fix issue 125. The password pop-up doesn't appear every time when going into the official server anymore, now it only does it when the password is blank. If a user enters an invalid password, the password is set blank to avoid the user going back to the official server just to be rejected. When entering an invalid password, the unknown error dialog doesn't show up anymore, but the connection lost to server one still does. This fixes the bug where the user would be spammed with error messages. The user can also now change his password in the settings page.
Zorg <zorgiepoo@gmail.com>
parents: 4976
diff changeset
    55
    void setNetPasswordLength(int passwordLength);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    56
    bool isReducedQuality() const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    57
    bool isFrontendEffects() const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    58
    bool isFrontendFullscreen() const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    59
    void resizeToConfigValues();
3696
6009d8378422 Engine:
smaxx
parents: 3694
diff changeset
    60
    quint32 stereoMode() const;
2377
f3fab2b09e0c And in frontend
nemo
parents: 2261
diff changeset
    61
2401
2a694ea2a437 fixes & co.
koda
parents: 2395
diff changeset
    62
#ifdef __APPLE__
2a694ea2a437 fixes & co.
koda
parents: 2395
diff changeset
    63
#ifdef SPARKLE_ENABLED
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    64
    bool isAutoUpdateEnabled();
2401
2a694ea2a437 fixes & co.
koda
parents: 2395
diff changeset
    65
#endif
2261
57e99c908e7c a lot of stuff:
koda
parents: 2098
diff changeset
    66
#endif
2377
f3fab2b09e0c And in frontend
nemo
parents: 2261
diff changeset
    67
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
    68
 signals:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    69
    void frontendFullscreen(bool value);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
public slots:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    72
    void SaveOptions();
5390
f41e87de8989 (fix issue 126) moved initial nickname popup to the netconnection page
koda
parents: 5260
diff changeset
    73
    void updNetNick();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    74
private:
5229
148d581b17ab Attempt to fix issue 125. The password pop-up doesn't appear every time when going into the official server anymore, now it only does it when the password is blank. If a user enters an invalid password, the password is set blank to avoid the user going back to the official server just to be rejected. When entering an invalid password, the unknown error dialog doesn't show up anymore, but the connection lost to server one still does. This fixes the bug where the user would be spammed with error messages. The user can also now change his password in the settings page.
Zorg <zorgiepoo@gmail.com>
parents: 4976
diff changeset
    75
    bool netPasswordIsValid();
5260
f50f620771ee When the password field is filled with null characters and when the user tries to edit the field, clear it.
Zorg <zorgiepoo@gmail.com>
parents: 5229
diff changeset
    76
    bool eventFilter(QObject *object, QEvent *event);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2898
diff changeset
    77
    quint8 depth;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    78
};
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    79
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    80
#endif