QTfrontend/gameuiconfig.cpp
author nemo
Sun, 24 Jan 2010 16:46:06 +0000
changeset 2712 8f4527c9137c
parent 2631 163b0128bd21
child 2747 7889a3a9724f
permissions -rw-r--r--
Minor tweak, try to make long flavour text last longer, move the hurt self messages to unused messages group, so they don't get wiped by crate an instant later.
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
883
07a568ba44e0 Update copyright info in source files headers
unc0rr
parents: 674
diff changeset
     3
 * Copyright (c) 2006-2008 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
#include <QMessageBox>
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 321
diff changeset
    20
#include <QCheckBox>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 321
diff changeset
    21
#include <QLineEdit>
603
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
    22
#include <QDesktopWidget>
674
a15c8e3c69b3 Save and restore window size
unc0rr
parents: 657
diff changeset
    23
#include <QApplication>
2334
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    24
#include <QInputDialog>
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 321
diff changeset
    25
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    26
#include "gameuiconfig.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    27
#include "hwform.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    28
#include "pages.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    29
#include "hwconsts.h"
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
    30
#include "fpsedit.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    31
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    32
GameUIConfig::GameUIConfig(HWForm * FormWidgets, const QString & fileName)
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    33
	: QSettings(fileName, QSettings::IniFormat)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    34
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    35
	Form = FormWidgets;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    36
1235
070629f3902d - Set frontend's music volume level to 50%
unc0rr
parents: 1223
diff changeset
    37
	connect(Form->ui.pageOptions->CBEnableMusic, SIGNAL(toggled(bool)), Form, SLOT(Music(bool)));
070629f3902d - Set frontend's music volume level to 50%
unc0rr
parents: 1223
diff changeset
    38
1165
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
    39
	//Form->resize(value("window/width", 640).toUInt(), value("window/height", 450).toUInt());
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
    40
	resizeToConfigValues();
674
a15c8e3c69b3 Save and restore window size
unc0rr
parents: 657
diff changeset
    41
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
    42
	int t = Form->ui.pageOptions->CBResolution->findText(value("video/resolution").toString());
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
    43
	Form->ui.pageOptions->CBResolution->setCurrentIndex((t < 0) ? 0 : t);
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    44
	Form->ui.pageOptions->CBFullscreen->setChecked(value("video/fullscreen", false).toBool());
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
    45
	bool ffscr=value("video/frontendfullscreen", false).toBool();
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
    46
	Form->ui.pageOptions->CBFrontendFullscreen->setChecked(ffscr);
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    47
1812
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
    48
	Form->ui.pageOptions->CBReduceQuality->setChecked(value("video/reducequality", false).toBool());
2099
e70e7ce4fb0f make lookup consistent
nemo
parents: 2098
diff changeset
    49
	Form->ui.pageOptions->CBFrontendEffects->setChecked(frontendEffects);
2276
d4d9e490d534 Remove this check since I got confused as to why my sound still wasn't working even after I had fixed the lock caused by bad flash plugin and restarted hedgewars
nemo
parents: 2261
diff changeset
    50
	Form->ui.pageOptions->CBEnableSound->setChecked(value("audio/sound", true).toBool());
2443
fececcbc2189 Smaxx patch for fixing all sound related issues on any system
koda
parents: 2395
diff changeset
    51
#ifdef _WIN32
2531
c7f841eb91fb Remove option windows for hardware sound, unneeded w/o openal, update german locale, remove a restriction on modelist
nemo
parents: 2443
diff changeset
    52
//	Form->ui.pageOptions->CBHardwareSound->setChecked(value("audio/hardware", false).toBool());
2443
fececcbc2189 Smaxx patch for fixing all sound related issues on any system
koda
parents: 2395
diff changeset
    53
#endif
2276
d4d9e490d534 Remove this check since I got confused as to why my sound still wasn't working even after I had fixed the lock caused by bad flash plugin and restarted hedgewars
nemo
parents: 2261
diff changeset
    54
	Form->ui.pageOptions->CBEnableMusic->setChecked(value("audio/music", true).toBool());
1777
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
    55
	Form->ui.pageOptions->volumeBox->setValue(value("audio/volume", 100).toUInt());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    56
2334
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    57
	QString netNick = value("net/nick", "").toString();
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    58
	if (netNick.isEmpty())
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    59
		netNick = QInputDialog::getText(Form,
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    60
				QObject::tr("Nickname"),
2631
163b0128bd21 A rather tedious rename of "Please," to "Please" triggered by bruce89 in interests of proper grammar. Also updated lrelease-qt4 which should pick up artart78's prior hedgewars_fr.ts fixes. Also a couple of typos in en.txt / fi.txt / pl.txt
nemo
parents: 2531
diff changeset
    61
				QObject::tr("Please enter your nickname"),
2334
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    62
				QLineEdit::Normal,
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    63
				QDir::home().dirName());
2377
f3fab2b09e0c And in frontend
nemo
parents: 2334
diff changeset
    64
2334
3cf9290a518e Ask user for a nickname on first run, suggest login name
unc0rr
parents: 2276
diff changeset
    65
	Form->ui.pageOptions->editNetNick->setText(netNick);
654
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 647
diff changeset
    66
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 647
diff changeset
    67
	delete netHost;
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 647
diff changeset
    68
	netHost = new QString(value("net/ip", "").toString());
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 647
diff changeset
    69
	netPort = value("net/port", 46631).toUInt();
529
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
    70
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 654
diff changeset
    71
	Form->ui.pageNetServer->leServerDescr->setText(value("net/servername", "hedgewars server").toString());
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 654
diff changeset
    72
	Form->ui.pageNetServer->sbPort->setValue(value("net/serverport", 46631).toUInt());
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 654
diff changeset
    73
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    74
	Form->ui.pageOptions->CBShowFPS->setChecked(value("fps/show", false).toBool());
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
    75
	Form->ui.pageOptions->fpsedit->setValue(value("fps/interval", 27).toUInt());
529
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
    76
578
6b0af3860192 By default, turn 'alt damage show' option off
unc0rr
parents: 555
diff changeset
    77
	Form->ui.pageOptions->CBAltDamage->setChecked(value("misc/altdamage", false).toBool());
1487
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
    78
	Form->ui.pageOptions->CBNameWithDate->setChecked(value("misc/appendTimeToRecords", false).toBool());
2377
f3fab2b09e0c And in frontend
nemo
parents: 2334
diff changeset
    79
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
    80
#ifdef SPARKLE_ENABLED
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
    81
        Form->ui.pageOptions->CBAutoUpdate->setChecked(value("misc/autoUpdate", true).toBool());
2261
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
    82
#endif
2377
f3fab2b09e0c And in frontend
nemo
parents: 2334
diff changeset
    83
674
a15c8e3c69b3 Save and restore window size
unc0rr
parents: 657
diff changeset
    84
	depth = QApplication::desktop()->depth();
603
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
    85
	if (depth < 16) depth = 16;
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
    86
	else if (depth > 16) depth = 32;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    87
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    88
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    89
QStringList GameUIConfig::GetTeamsList()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    90
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    91
	QStringList teamslist = cfgdir->entryList(QStringList("*.cfg"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    92
	QStringList cleanedList;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    93
	for (QStringList::Iterator it = teamslist.begin(); it != teamslist.end(); ++it ) {
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
    94
            QString tmpTeamStr=(*it).replace(QRegExp("^(.*)\\.cfg$"), "\\1");
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
    95
            cleanedList.push_back(tmpTeamStr);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    96
	}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    97
	return cleanedList;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    98
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    99
1165
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   100
void GameUIConfig::resizeToConfigValues()
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   101
{
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
   102
        Form->resize(value("window/width", 720).toUInt(), value("window/height", 450).toUInt());
1165
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   103
}
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   104
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   105
void GameUIConfig::SaveOptions()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   106
{
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   107
	setValue("video/resolution", Form->ui.pageOptions->CBResolution->currentText());
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   108
	setValue("video/fullscreen", vid_Fullscreen());
1812
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   109
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   110
	setValue("video/reducequality", isReducedQuality());
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   111
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 1812
diff changeset
   112
	setValue("video/frontendeffects", isFrontendEffects());
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 1812
diff changeset
   113
2101
3d2eaaf3b4bf Fix fullscreen bug
unc0rr
parents: 2099
diff changeset
   114
	bool ffscr = isFrontendFullscreen();
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   115
	setValue("video/frontendfullscreen", ffscr);
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   116
	emit frontendFullscreen(ffscr);
1165
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   117
	if (!ffscr) {
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   118
	  setValue("window/width", Form->width());
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   119
	  setValue("window/height", Form->height());
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   120
	} else {
2101
3d2eaaf3b4bf Fix fullscreen bug
unc0rr
parents: 2099
diff changeset
   121
	  //resizeToConfigValues(); // TODO: why this has been made?
1165
40eeae82e70b correct restoring window size after fullscreen mode
displacer
parents: 1162
diff changeset
   122
	}
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   123
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   124
	setValue("audio/sound", isSoundEnabled());
2443
fececcbc2189 Smaxx patch for fixing all sound related issues on any system
koda
parents: 2395
diff changeset
   125
#ifdef _WIN32
2531
c7f841eb91fb Remove option windows for hardware sound, unneeded w/o openal, update german locale, remove a restriction on modelist
nemo
parents: 2443
diff changeset
   126
//	setValue("audio/hardware", isSoundHardware());
2443
fececcbc2189 Smaxx patch for fixing all sound related issues on any system
koda
parents: 2395
diff changeset
   127
#endif
1129
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   128
	setValue("audio/music", isMusicEnabled());
1777
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
   129
	setValue("audio/volume", Form->ui.pageOptions->volumeBox->value());
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   130
949
866729775535 Use nick from frontend to prepend chat messages
unc0rr
parents: 883
diff changeset
   131
	setValue("net/nick", netNick());
654
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 647
diff changeset
   132
	setValue("net/ip", *netHost);
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 647
diff changeset
   133
	setValue("net/port", netPort);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 654
diff changeset
   134
	setValue("net/servername", Form->ui.pageNetServer->leServerDescr->text());
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 654
diff changeset
   135
	setValue("net/serverport", Form->ui.pageNetServer->sbPort->value());
301
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   136
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   137
	setValue("fps/show", isShowFPSEnabled());
29bf9c1a3ad3 Use QSettings to storing config
unc0rr
parents: 297
diff changeset
   138
	setValue("fps/interval", Form->ui.pageOptions->fpsedit->value());
529
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
   139
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
   140
	setValue("misc/altdamage", isAltDamageEnabled());
1487
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   141
	setValue("misc/appendTimeToRecords", appendDateTimeToRecordName());
2377
f3fab2b09e0c And in frontend
nemo
parents: 2334
diff changeset
   142
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
   143
#ifdef SPARKLE_ENABLED
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
   144
        setValue("misc/autoUpdate", isAutoUpdateEnabled());
2377
f3fab2b09e0c And in frontend
nemo
parents: 2334
diff changeset
   145
#endif
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   146
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   147
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   148
QRect GameUIConfig::vid_Resolution()
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   149
{
555
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   150
	QRect result(0, 0, 640, 480);
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   151
	QStringList wh = Form->ui.pageOptions->CBResolution->currentText().split('x');
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   152
	if (wh.size() == 2)
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   153
	{
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   154
		result.setWidth(wh[0].toInt());
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   155
		result.setHeight(wh[1].toInt());
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   156
	}
0376fdcc6322 Get possible screen resolutions from SDL library
unc0rr
parents: 529
diff changeset
   157
	return result;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   158
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   159
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   160
bool GameUIConfig::vid_Fullscreen()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   161
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   162
	return Form->ui.pageOptions->CBFullscreen->isChecked();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   163
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   164
1812
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   165
bool GameUIConfig::isReducedQuality() const
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   166
{
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   167
  return Form->ui.pageOptions->CBReduceQuality->isChecked();
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   168
}
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 1812
diff changeset
   169
bool GameUIConfig::isFrontendEffects() const
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 1812
diff changeset
   170
{
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 1812
diff changeset
   171
  return Form->ui.pageOptions->CBFrontendEffects->isChecked();
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 1812
diff changeset
   172
}
1812
3d4692e825e7 'Reduce quality' patch by nemo
unc0rr
parents: 1777
diff changeset
   173
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   174
bool GameUIConfig::isFrontendFullscreen() const
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   175
{
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   176
  return Form->ui.pageOptions->CBFrontendFullscreen->isChecked();
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   177
}
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1129
diff changeset
   178
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   179
bool GameUIConfig::isSoundEnabled()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   180
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   181
	return Form->ui.pageOptions->CBEnableSound->isChecked();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   182
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   183
2443
fececcbc2189 Smaxx patch for fixing all sound related issues on any system
koda
parents: 2395
diff changeset
   184
#ifdef _WIN32
2392
a55dbef5cf31 Smaxx's patch fixing openal sound issues with poor card drivers
koda
parents: 2377
diff changeset
   185
bool GameUIConfig::isSoundHardware()
a55dbef5cf31 Smaxx's patch fixing openal sound issues with poor card drivers
koda
parents: 2377
diff changeset
   186
{
2531
c7f841eb91fb Remove option windows for hardware sound, unneeded w/o openal, update german locale, remove a restriction on modelist
nemo
parents: 2443
diff changeset
   187
//	return Form->ui.pageOptions->CBHardwareSound->isChecked();
c7f841eb91fb Remove option windows for hardware sound, unneeded w/o openal, update german locale, remove a restriction on modelist
nemo
parents: 2443
diff changeset
   188
return false;
2392
a55dbef5cf31 Smaxx's patch fixing openal sound issues with poor card drivers
koda
parents: 2377
diff changeset
   189
}
2443
fececcbc2189 Smaxx patch for fixing all sound related issues on any system
koda
parents: 2395
diff changeset
   190
#endif
2392
a55dbef5cf31 Smaxx's patch fixing openal sound issues with poor card drivers
koda
parents: 2377
diff changeset
   191
1129
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   192
bool GameUIConfig::isMusicEnabled()
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   193
{
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   194
	return Form->ui.pageOptions->CBEnableMusic->isChecked();
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   195
}
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   196
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   197
bool GameUIConfig::isShowFPSEnabled()
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   198
{
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   199
	return Form->ui.pageOptions->CBShowFPS->isChecked();
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   200
}
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   201
529
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
   202
bool GameUIConfig::isAltDamageEnabled()
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
   203
{
1487
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   204
	return Form->ui.pageOptions->CBAltDamage->isChecked();
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   205
}
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   206
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   207
bool GameUIConfig::appendDateTimeToRecordName()
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   208
{
b4cc59a6d50a Add an option to name records with current date and time
unc0rr
parents: 1235
diff changeset
   209
	return Form->ui.pageOptions->CBNameWithDate->isChecked();
529
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
   210
}
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 486
diff changeset
   211
2395
d01d3bf3e1de makes the updater optional at compile time
koda
parents: 2392
diff changeset
   212
#ifdef SPARKLE_ENABLED
2261
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
   213
bool GameUIConfig::isAutoUpdateEnabled()
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
   214
{
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
   215
    return Form->ui.pageOptions->CBAutoUpdate->isChecked();
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
   216
}
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
   217
#endif
57e99c908e7c a lot of stuff:
koda
parents: 2216
diff changeset
   218
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   219
quint8 GameUIConfig::timerInterval()
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   220
{
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   221
	return 35 - Form->ui.pageOptions->fpsedit->value();
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 184
diff changeset
   222
}
603
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
   223
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
   224
quint8 GameUIConfig::bitDepth()
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
   225
{
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
   226
	return depth;
d7877468653b - Use current screen color depth in engine
unc0rr
parents: 578
diff changeset
   227
}
949
866729775535 Use nick from frontend to prepend chat messages
unc0rr
parents: 883
diff changeset
   228
866729775535 Use nick from frontend to prepend chat messages
unc0rr
parents: 883
diff changeset
   229
QString GameUIConfig::netNick()
866729775535 Use nick from frontend to prepend chat messages
unc0rr
parents: 883
diff changeset
   230
{
866729775535 Use nick from frontend to prepend chat messages
unc0rr
parents: 883
diff changeset
   231
	return Form->ui.pageOptions->editNetNick->text();
866729775535 Use nick from frontend to prepend chat messages
unc0rr
parents: 883
diff changeset
   232
}
1777
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
   233
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
   234
quint8 GameUIConfig::volume()
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
   235
{
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
   236
	return Form->ui.pageOptions->volumeBox->value() * 128 / 100;
88674c291331 Implement initial sound volume option
unc0rr
parents: 1487
diff changeset
   237
}