author | nemo |
Thu, 30 Oct 2014 15:09:49 -0400 | |
changeset 10455 | e167cfdf6e80 |
parent 10108 | c68cf030eded |
child 11046 | 47a8c19ecb60 |
permissions | -rw-r--r-- |
184 | 1 |
/* |
1066 | 2 |
* Hedgewars, a free turn based strategy game |
9998 | 3 |
* Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com> |
184 | 4 |
* |
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
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:
10015
diff
changeset
|
16 |
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
184 | 17 |
*/ |
18 |
||
471 | 19 |
#include <QCheckBox> |
20 |
#include <QLineEdit> |
|
603 | 21 |
#include <QDesktopWidget> |
2334
3cf9290a518e
Ask user for a nickname on first run, suggest login name
unc0rr
parents:
2276
diff
changeset
|
22 |
#include <QInputDialog> |
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:
5204
diff
changeset
|
23 |
#include <QCryptographicHash> |
7541
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
24 |
#include <QStandardItemModel> |
7700 | 25 |
#include <QNetworkProxy> |
7702 | 26 |
#include <QNetworkProxyFactory> |
8354
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
27 |
#include <utility> |
8920 | 28 |
#include <QVariant> |
471 | 29 |
|
184 | 30 |
#include "gameuiconfig.h" |
31 |
#include "hwform.h" |
|
5204 | 32 |
#include "pageoptions.h" |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
33 |
#include "pagevideos.h" |
5204 | 34 |
#include "pagenetserver.h" |
184 | 35 |
#include "hwconsts.h" |
297 | 36 |
#include "fpsedit.h" |
5252 | 37 |
#include "HWApplication.h" |
7541
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
38 |
#include "DataManager.h" |
8343
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
39 |
#include "SDL.h" |
184 | 40 |
|
7703 | 41 |
|
42 |
const QNetworkProxy::ProxyType proxyTypesMap[] = { |
|
43 |
QNetworkProxy::NoProxy |
|
44 |
, QNetworkProxy::NoProxy // dummy value |
|
45 |
, QNetworkProxy::Socks5Proxy |
|
46 |
, QNetworkProxy::HttpProxy}; |
|
47 |
||
48 |
||
301 | 49 |
GameUIConfig::GameUIConfig(HWForm * FormWidgets, const QString & fileName) |
8098 | 50 |
: QSettings(fileName, QSettings::IniFormat, FormWidgets) |
184 | 51 |
{ |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
52 |
Form = FormWidgets; |
184 | 53 |
|
8098 | 54 |
setIniCodec("UTF-8"); |
55 |
||
8226
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
56 |
connect(Form->ui.pageOptions->CBFrontendMusic, SIGNAL(toggled(bool)), Form, SLOT(Music(bool))); |
1235 | 57 |
|
8346 | 58 |
for(int i = 0; i < BINDS_NUMBER; i++) |
59 |
{ |
|
60 |
m_binds.append(BindAction()); |
|
61 |
m_binds[i].action = cbinds[i].action; |
|
62 |
m_binds[i].strbind = cbinds[i].strbind; |
|
63 |
} |
|
64 |
||
3019 | 65 |
//Form->resize(value("frontend/width", 640).toUInt(), value("frontend/height", 450).toUInt()); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
66 |
resizeToConfigValues(); |
674 | 67 |
|
6911
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
68 |
reloadValues(); |
8266
927da572bcdc
will fix this http://code.google.com/p/hedgewars/source/detail?r=9f0e79ab51f00f3b1e133ae70cdd63f6963439c0 and will allow hedgewars to build without video recording enabled, for the time being although i want to talk to koda or someone to understand what should be #ifdef'd and if i've done too much or too little.. but at least that will let it build
mk12
parents:
8226
diff
changeset
|
69 |
#ifdef VIDEOREC |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
70 |
reloadVideosValues(); |
8266
927da572bcdc
will fix this http://code.google.com/p/hedgewars/source/detail?r=9f0e79ab51f00f3b1e133ae70cdd63f6963439c0 and will allow hedgewars to build without video recording enabled, for the time being although i want to talk to koda or someone to understand what should be #ifdef'd and if i've done too much or too little.. but at least that will let it build
mk12
parents:
8226
diff
changeset
|
71 |
#endif |
6911
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
72 |
} |
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
73 |
|
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
74 |
void GameUIConfig::reloadValues(void) |
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
75 |
{ |
3019 | 76 |
Form->ui.pageOptions->WeaponTooltip->setChecked(value("misc/weaponTooltips", true).toBool()); |
2747 | 77 |
|
8358
274afc318dca
have the default window size to 5/6, save fullscreen resolution on 'fullscreenResolution' instead of 'resolution', make sure cFullscreenStuff is initialised
koda
parents:
8354
diff
changeset
|
78 |
int t = Form->ui.pageOptions->CBResolution->findText(value("video/fullscreenResolution").toString()); |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
79 |
if (t < 0) |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
80 |
{ |
5237
963d787a25c2
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)
nemo
parents:
5229
diff
changeset
|
81 |
if (Form->ui.pageOptions->CBResolution->count() > 1) |
963d787a25c2
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)
nemo
parents:
5229
diff
changeset
|
82 |
Form->ui.pageOptions->CBResolution->setCurrentIndex(1); |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
83 |
else |
5237
963d787a25c2
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)
nemo
parents:
5229
diff
changeset
|
84 |
Form->ui.pageOptions->CBResolution->setCurrentIndex(0); |
963d787a25c2
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)
nemo
parents:
5229
diff
changeset
|
85 |
} |
963d787a25c2
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)
nemo
parents:
5229
diff
changeset
|
86 |
else Form->ui.pageOptions->CBResolution->setCurrentIndex(t); |
8434 | 87 |
|
8358
274afc318dca
have the default window size to 5/6, save fullscreen resolution on 'fullscreenResolution' instead of 'resolution', make sure cFullscreenStuff is initialised
koda
parents:
8354
diff
changeset
|
88 |
// Default the windowed resolution to 5/6 of the screen size |
274afc318dca
have the default window size to 5/6, save fullscreen resolution on 'fullscreenResolution' instead of 'resolution', make sure cFullscreenStuff is initialised
koda
parents:
8354
diff
changeset
|
89 |
int screenWidth = SDL_GetVideoInfo()->current_w * 5 / 6; |
274afc318dca
have the default window size to 5/6, save fullscreen resolution on 'fullscreenResolution' instead of 'resolution', make sure cFullscreenStuff is initialised
koda
parents:
8354
diff
changeset
|
90 |
int screenHeight = SDL_GetVideoInfo()->current_h * 5 / 6; |
8343
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
91 |
QString widthStr; widthStr.setNum(screenWidth); |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
92 |
QString heightStr; heightStr.setNum(screenHeight); |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
93 |
QString wWidth = value("video/windowedWidth", widthStr).toString(); |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
94 |
QString wHeight = value("video/windowedHeight", heightStr).toString(); |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
95 |
// If left blank reset the resolution to the default |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
96 |
wWidth = (wWidth == "" ? widthStr : wWidth); |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
97 |
wHeight = (wHeight == "" ? heightStr : wHeight); |
8902
a94c074fd483
fix for issue 599: "Change graphics size settings to use qspinbox"? somebody ask unC0Rr if that's what he wanted :p
sheepluva
parents:
8799
diff
changeset
|
98 |
Form->ui.pageOptions->windowWidthEdit->setValue(wWidth.toInt()); |
a94c074fd483
fix for issue 599: "Change graphics size settings to use qspinbox"? somebody ask unC0Rr if that's what he wanted :p
sheepluva
parents:
8799
diff
changeset
|
99 |
Form->ui.pageOptions->windowHeightEdit->setValue(wHeight.toInt()); |
8434 | 100 |
|
5237
963d787a25c2
If 2 or more resolutions are available, use the 2nd in the list. This should (usually) be smaller than the desktop resolution, which should reduce noob fail (not realising part of interface is obscured)
nemo
parents:
5229
diff
changeset
|
101 |
Form->ui.pageOptions->CBResolution->setCurrentIndex((t < 0) ? 1 : t); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
102 |
Form->ui.pageOptions->CBFullscreen->setChecked(value("video/fullscreen", false).toBool()); |
3019 | 103 |
bool ffscr=value("frontend/fullscreen", false).toBool(); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
104 |
Form->ui.pageOptions->CBFrontendFullscreen->setChecked(ffscr); |
301 | 105 |
|
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
106 |
Form->ui.pageOptions->SLQuality->setValue(value("video/quality", 5).toUInt()); |
3696 | 107 |
Form->ui.pageOptions->CBStereoMode->setCurrentIndex(value("video/stereo", 0).toUInt()); |
8098 | 108 |
Form->ui.pageOptions->CBFrontendEffects->setChecked(value("frontend/effects", true).toBool()); |
8226
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
109 |
Form->ui.pageOptions->CBSound->setChecked(value("audio/sound", true).toBool()); |
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
110 |
Form->ui.pageOptions->CBFrontendSound->setChecked(value("frontend/sound", true).toBool()); |
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
111 |
Form->ui.pageOptions->CBMusic->setChecked(value("audio/music", true).toBool()); |
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
112 |
Form->ui.pageOptions->CBFrontendMusic->setChecked(value("frontend/music", true).toBool()); |
8387
f9d1191476ce
Organized options into more relavant tabs.
dag10 <gottlieb.drew@gmail.com>
parents:
8386
diff
changeset
|
113 |
Form->ui.pageOptions->SLVolume->setValue(value("audio/volume", 100).toUInt()); |
184 | 114 |
|
9055
45ebf126a5c2
Quick and dirty fix for fact that we no longer prompt for a username on connect, so blank username simply errors on connect.
nemo
parents:
9054
diff
changeset
|
115 |
QString netNick = value("net/nick", tr("Guest")+QString("%1").arg(rand())).toString(); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
116 |
Form->ui.pageOptions->editNetNick->setText(netNick); |
6911
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
117 |
bool savePwd = value("net/savepassword",true).toBool(); |
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
118 |
Form->ui.pageOptions->CBSavePassword->setChecked(savePwd); |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
119 |
|
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:
5252
diff
changeset
|
120 |
Form->ui.pageOptions->editNetPassword->installEventFilter(this); |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
121 |
|
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:
5204
diff
changeset
|
122 |
int passLength = value("net/passwordlength", 0).toInt(); |
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
123 |
if (!savePwd) { |
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
124 |
Form->ui.pageOptions->editNetPassword->setEnabled(false); |
6911
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
125 |
Form->ui.pageOptions->editNetPassword->setText(""); |
8098 | 126 |
setNetPasswordLength(0); |
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
127 |
} else |
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
128 |
{ |
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
129 |
setNetPasswordLength(passLength); |
6911
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
130 |
} |
654 | 131 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
132 |
delete netHost; |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
133 |
netHost = new QString(value("net/ip", "").toString()); |
8609
3f6c08223aa1
use NETGAME_DEFAULT_PORT macro across frontend sources
koda
parents:
8434
diff
changeset
|
134 |
netPort = value("net/port", NETGAME_DEFAULT_PORT).toUInt(); |
529 | 135 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
136 |
Form->ui.pageNetServer->leServerDescr->setText(value("net/servername", "hedgewars server").toString()); |
8609
3f6c08223aa1
use NETGAME_DEFAULT_PORT macro across frontend sources
koda
parents:
8434
diff
changeset
|
137 |
Form->ui.pageNetServer->sbPort->setValue(value("net/serverport", NETGAME_DEFAULT_PORT).toUInt()); |
657
b34fc518a48a
Basic concept for net server options page (subject to change)
unc0rr
parents:
654
diff
changeset
|
138 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
139 |
Form->ui.pageOptions->CBShowFPS->setChecked(value("fps/show", false).toBool()); |
3019 | 140 |
Form->ui.pageOptions->fpsedit->setValue(value("fps/limit", 27).toUInt()); |
529 | 141 |
|
9249 | 142 |
Form->ui.pageOptions->CBAltDamage->setChecked(value("misc/altdamage", true).toBool()); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
143 |
Form->ui.pageOptions->CBNameWithDate->setChecked(value("misc/appendTimeToRecords", false).toBool()); |
2377 | 144 |
|
9249 | 145 |
Form->ui.pageOptions->CBTeamTag->setChecked(value("misc/teamtag", true).toBool()); |
146 |
Form->ui.pageOptions->CBHogTag->setChecked(value("misc/hogtag", true).toBool()); |
|
147 |
Form->ui.pageOptions->CBHealthTag->setChecked(value("misc/healthtag", true).toBool()); |
|
148 |
Form->ui.pageOptions->CBTagOpacity->setChecked(value("misc/tagopacity", false).toBool()); |
|
149 |
||
2395 | 150 |
#ifdef SPARKLE_ENABLED |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
151 |
Form->ui.pageOptions->CBAutoUpdate->setChecked(value("misc/autoUpdate", true).toBool()); |
2261 | 152 |
#endif |
2377 | 153 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
154 |
Form->ui.pageOptions->CBLanguage->setCurrentIndex(Form->ui.pageOptions->CBLanguage->findData(value("misc/locale", "").toString())); |
2898 | 155 |
|
7700 | 156 |
Form->ui.pageOptions->cbProxyType->setCurrentIndex(value("proxy/type", 0).toInt()); |
157 |
Form->ui.pageOptions->leProxy->setText(value("proxy/host", "").toString()); |
|
158 |
Form->ui.pageOptions->sbProxyPort->setValue(value("proxy/port", "8080").toInt()); |
|
159 |
Form->ui.pageOptions->leProxyLogin->setText(value("proxy/login", "").toString()); |
|
160 |
Form->ui.pageOptions->leProxyPassword->setText(value("proxy/password", "").toString()); |
|
161 |
||
9547 | 162 |
applyProxySettings(); |
163 |
||
7541
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
164 |
{ // load colors |
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
165 |
QStandardItemModel * model = DataManager::instance().colorsModel(); |
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
166 |
for(int i = model->rowCount() - 1; i >= 0; --i) |
8920 | 167 |
model->item(i)->setData(QColor(value(QString("colors/color%1").arg(i), model->item(i)->data()).toString())); |
7541
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
168 |
} |
8346 | 169 |
|
170 |
{ // load binds |
|
171 |
for(int i = 0; i < BINDS_NUMBER; i++) |
|
172 |
{ |
|
173 |
m_binds[i].strbind = value(QString("Binds/%1").arg(m_binds[i].action), cbinds[i].strbind).toString(); |
|
174 |
if (m_binds[i].strbind.isEmpty() || m_binds[i].strbind == "default") m_binds[i].strbind = cbinds[i].strbind; |
|
175 |
} |
|
176 |
} |
|
184 | 177 |
} |
178 |
||
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
179 |
void GameUIConfig::reloadVideosValues(void) |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
180 |
{ |
8186
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
181 |
// one pass with default values |
8190 | 182 |
Form->ui.pageOptions->setDefaultOptions(); |
8185
1c3739ba4352
GCI2012: Check for Non-Standard Recorder Framerate
O. Michael Hartman
parents:
8184
diff
changeset
|
183 |
|
8186
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
184 |
// then load user configuration |
8190 | 185 |
Form->ui.pageOptions->framerateBox->setCurrentIndex( |
186 |
Form->ui.pageOptions->framerateBox->findData( |
|
8186
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
187 |
value("videorec/framerate", rec_Framerate()).toString() + " fps", |
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
188 |
Qt::MatchExactly) ); |
8190 | 189 |
Form->ui.pageOptions->bitrateBox->setValue(value("videorec/bitrate", rec_Bitrate()).toUInt()); |
190 |
bool useGameRes = value("videorec/usegameres",Form->ui.pageOptions->checkUseGameRes->isChecked()).toBool(); |
|
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
191 |
if (useGameRes) |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
192 |
{ |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
193 |
QRect res = vid_Resolution(); |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
194 |
Form->ui.pageOptions->widthEdit->setText(QString::number(res.width())); |
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
195 |
Form->ui.pageOptions->heightEdit->setText(QString::number(res.height())); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
196 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
197 |
else |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
198 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
199 |
Form->ui.pageOptions->widthEdit->setText(value("videorec/width","800").toString()); |
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
200 |
Form->ui.pageOptions->heightEdit->setText(value("videorec/height","600").toString()); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
201 |
} |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
202 |
Form->ui.pageOptions->checkUseGameRes->setChecked(useGameRes); |
8190 | 203 |
Form->ui.pageOptions->checkRecordAudio->setChecked( |
204 |
value("videorec/audio",Form->ui.pageOptions->checkRecordAudio->isChecked()).toBool() ); |
|
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
205 |
if (!Form->ui.pageOptions->tryCodecs(value("videorec/format","no").toString(), |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
206 |
value("videorec/videocodec","no").toString(), |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
207 |
value("videorec/audiocodec","no").toString())) |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
208 |
Form->ui.pageOptions->setDefaultCodecs(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
209 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
210 |
|
184 | 211 |
QStringList GameUIConfig::GetTeamsList() |
212 |
{ |
|
3333 | 213 |
QDir teamdir; |
214 |
teamdir.cd(cfgdir->absolutePath() + "/Teams"); |
|
4817 | 215 |
QStringList teamslist = teamdir.entryList(QStringList("*.hwt"),QDir::Files|QDir::Hidden); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
216 |
QStringList cleanedList; |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
217 |
for (QStringList::Iterator it = teamslist.begin(); it != teamslist.end(); ++it ) |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
218 |
{ |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
219 |
QString tmpTeamStr=(*it).replace(QRegExp("^(.*)\\.hwt$"), "\\1"); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
220 |
cleanedList.push_back(tmpTeamStr); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
221 |
} |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
222 |
return cleanedList; |
184 | 223 |
} |
224 |
||
1165
40eeae82e70b
correct restoring window size after fullscreen mode
displacer
parents:
1162
diff
changeset
|
225 |
void GameUIConfig::resizeToConfigValues() |
40eeae82e70b
correct restoring window size after fullscreen mode
displacer
parents:
1162
diff
changeset
|
226 |
{ |
8184
e0c8fad98022
resize the qt window to fill 2/3 of the screen size (no more crammed widgets on first launch) and always center it
koda
parents:
8179
diff
changeset
|
227 |
// fill 2/3 of the screen desktop |
8799
44e520374cfc
drop QApplication in favor of HWApplication and minor refactor of MessageDialog
koda
parents:
8609
diff
changeset
|
228 |
const QRect deskSize = HWApplication::desktop()->screenGeometry(-1); |
8290
3240f4500ac1
Try to be friendlier to small screen sizes. Use 800x600 if width/height of 2/3rds is smaller than 800x600 (things don't look smaller than that size), use desktop size if it is for some reason smaller than 800x600
nemo
parents:
8266
diff
changeset
|
229 |
Form->resize(value("frontend/width", qMin(qMax(deskSize.width()*2/3,800),deskSize.width())).toUInt(), |
8292 | 230 |
value("frontend/height", qMin(qMax(deskSize.height()*2/3,600),deskSize.height())).toUInt()); |
8184
e0c8fad98022
resize the qt window to fill 2/3 of the screen size (no more crammed widgets on first launch) and always center it
koda
parents:
8179
diff
changeset
|
231 |
|
e0c8fad98022
resize the qt window to fill 2/3 of the screen size (no more crammed widgets on first launch) and always center it
koda
parents:
8179
diff
changeset
|
232 |
// move the window to the center of the screen |
8799
44e520374cfc
drop QApplication in favor of HWApplication and minor refactor of MessageDialog
koda
parents:
8609
diff
changeset
|
233 |
QPoint center = HWApplication::desktop()->availableGeometry(-1).center(); |
8184
e0c8fad98022
resize the qt window to fill 2/3 of the screen size (no more crammed widgets on first launch) and always center it
koda
parents:
8179
diff
changeset
|
234 |
center.setX(center.x() - (Form->width()/2)); |
e0c8fad98022
resize the qt window to fill 2/3 of the screen size (no more crammed widgets on first launch) and always center it
koda
parents:
8179
diff
changeset
|
235 |
center.setY(center.y() - (Form->height()/2)); |
e0c8fad98022
resize the qt window to fill 2/3 of the screen size (no more crammed widgets on first launch) and always center it
koda
parents:
8179
diff
changeset
|
236 |
Form->move(center); |
1165
40eeae82e70b
correct restoring window size after fullscreen mode
displacer
parents:
1162
diff
changeset
|
237 |
} |
40eeae82e70b
correct restoring window size after fullscreen mode
displacer
parents:
1162
diff
changeset
|
238 |
|
184 | 239 |
void GameUIConfig::SaveOptions() |
240 |
{ |
|
8358
274afc318dca
have the default window size to 5/6, save fullscreen resolution on 'fullscreenResolution' instead of 'resolution', make sure cFullscreenStuff is initialised
koda
parents:
8354
diff
changeset
|
241 |
setValue("video/fullscreenResolution", Form->ui.pageOptions->CBResolution->currentText()); |
8343
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
242 |
setValue("video/windowedWidth", Form->ui.pageOptions->windowWidthEdit->text()); |
aa4ea3cade3c
Added Support for variable windowed resolution.
vitiv <nikita.utiu@gmail.com>
parents:
8325
diff
changeset
|
243 |
setValue("video/windowedHeight", Form->ui.pageOptions->windowHeightEdit->text()); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
244 |
setValue("video/fullscreen", vid_Fullscreen()); |
1812 | 245 |
|
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
246 |
setValue("video/quality", Form->ui.pageOptions->SLQuality->value()); |
3696 | 247 |
setValue("video/stereo", stereoMode()); |
1812 | 248 |
|
3019 | 249 |
setValue("frontend/effects", isFrontendEffects()); |
2098
c977d7f2aa09
Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents:
1812
diff
changeset
|
250 |
|
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
251 |
setValue("misc/weaponTooltips", Form->ui.pageOptions->WeaponTooltip->isChecked()); |
2747 | 252 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
253 |
bool ffscr = isFrontendFullscreen(); |
3019 | 254 |
setValue("frontend/fullscreen", ffscr); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
255 |
emit frontendFullscreen(ffscr); |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
256 |
if (!ffscr) |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
257 |
{ |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
258 |
setValue("frontend/width", Form->width()); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
259 |
setValue("frontend/height", Form->height()); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
260 |
} |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
261 |
else |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
262 |
{ |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
263 |
//resizeToConfigValues(); // TODO: why this has been made? |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
264 |
} |
301 | 265 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
266 |
setValue("audio/sound", isSoundEnabled()); |
3019 | 267 |
setValue("frontend/sound", isFrontendSoundEnabled()); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
268 |
setValue("audio/music", isMusicEnabled()); |
3019 | 269 |
setValue("frontend/music", isFrontendMusicEnabled()); |
8387
f9d1191476ce
Organized options into more relavant tabs.
dag10 <gottlieb.drew@gmail.com>
parents:
8386
diff
changeset
|
270 |
setValue("audio/volume", Form->ui.pageOptions->SLVolume->value()); |
301 | 271 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
272 |
setValue("net/nick", netNick()); |
8297
b236e3afed0d
Reverted password loading in PAGE_SETUP, changed the value of passwordlength to save, added clearing of hashes after a 'Wrong password' RetryDialog
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8295
diff
changeset
|
273 |
if (netPasswordIsValid() && Form->ui.pageOptions->CBSavePassword->isChecked()) { |
8434 | 274 |
setPasswordHash(netPasswordHash()); |
8291
e4a0d980d1e2
Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8266
diff
changeset
|
275 |
} |
8297
b236e3afed0d
Reverted password loading in PAGE_SETUP, changed the value of passwordlength to save, added clearing of hashes after a 'Wrong password' RetryDialog
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8295
diff
changeset
|
276 |
else if(!Form->ui.pageOptions->CBSavePassword->isChecked()) { |
b236e3afed0d
Reverted password loading in PAGE_SETUP, changed the value of passwordlength to save, added clearing of hashes after a 'Wrong password' RetryDialog
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8295
diff
changeset
|
277 |
clearPasswordHash(); |
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:
5204
diff
changeset
|
278 |
} |
8291
e4a0d980d1e2
Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8266
diff
changeset
|
279 |
|
6911
1cda333286e0
added savepassword checkbox to options page, which now reloads values at every acces
koda
parents:
6700
diff
changeset
|
280 |
setValue("net/savepassword", Form->ui.pageOptions->CBSavePassword->isChecked()); |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
281 |
setValue("net/ip", *netHost); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
282 |
setValue("net/port", netPort); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
283 |
setValue("net/servername", Form->ui.pageNetServer->leServerDescr->text()); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
284 |
setValue("net/serverport", Form->ui.pageNetServer->sbPort->value()); |
301 | 285 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
286 |
setValue("fps/show", isShowFPSEnabled()); |
3019 | 287 |
setValue("fps/limit", Form->ui.pageOptions->fpsedit->value()); |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
288 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
289 |
setValue("misc/altdamage", isAltDamageEnabled()); |
9249 | 290 |
|
291 |
setValue("misc/teamtag", Form->ui.pageOptions->CBTeamTag->isChecked()); |
|
292 |
setValue("misc/hogtag", Form->ui.pageOptions->CBHogTag->isChecked()); |
|
293 |
setValue("misc/healthtag", Form->ui.pageOptions->CBHealthTag->isChecked()); |
|
294 |
setValue("misc/tagopacity",Form->ui.pageOptions->CBTagOpacity->isChecked()); |
|
295 |
||
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
296 |
setValue("misc/appendTimeToRecords", appendDateTimeToRecordName()); |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
297 |
setValue("misc/locale", language()); |
2377 | 298 |
|
2395 | 299 |
#ifdef SPARKLE_ENABLED |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
300 |
setValue("misc/autoUpdate", isAutoUpdateEnabled()); |
2377 | 301 |
#endif |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
302 |
|
7702 | 303 |
{ // setup proxy |
304 |
int proxyType = Form->ui.pageOptions->cbProxyType->currentIndex(); |
|
305 |
setValue("proxy/type", proxyType); |
|
7700 | 306 |
|
7703 | 307 |
if(proxyType == PageOptions::Socks5Proxy || proxyType == PageOptions::HTTPProxy) |
7702 | 308 |
{ |
309 |
setValue("proxy/host", Form->ui.pageOptions->leProxy->text()); |
|
310 |
setValue("proxy/port", Form->ui.pageOptions->sbProxyPort->value()); |
|
311 |
setValue("proxy/login", Form->ui.pageOptions->leProxyLogin->text()); |
|
312 |
setValue("proxy/password", Form->ui.pageOptions->leProxyPassword->text()); |
|
313 |
} |
|
314 |
||
9547 | 315 |
applyProxySettings(); |
7702 | 316 |
} |
7700 | 317 |
|
7541
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
318 |
{ // save colors |
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
319 |
QStandardItemModel * model = DataManager::instance().colorsModel(); |
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
320 |
for(int i = model->rowCount() - 1; i >= 0; --i) |
8920 | 321 |
setValue(QString("colors/color%1").arg(i), model->item(i)->data().value<QColor>().name()); |
7541
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
322 |
} |
e51b11349637
Allow customization of colors in ui, store custom colors in config
unc0rr
parents:
7313
diff
changeset
|
323 |
|
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
324 |
sync(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
325 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
326 |
|
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
327 |
void GameUIConfig::SaveVideosOptions() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
328 |
{ |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
329 |
QRect res = rec_Resolution(); |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
330 |
setValue("videorec/format", AVFormat()); |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
331 |
setValue("videorec/videocodec", videoCodec()); |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
332 |
setValue("videorec/audiocodec", audioCodec()); |
8186
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
333 |
setValue("videorec/framerate", rec_Framerate()); |
7633
d4251e519062
Allow adjusting bitrate so that I can get a somewhat usable webm video. The audio is still tinny and unlistenable. Configuration option for that might be helpful, or just adjusting defaults in the wrapper.
nemo
parents:
7565
diff
changeset
|
334 |
setValue("videorec/bitrate", rec_Bitrate()); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
335 |
setValue("videorec/width", res.width()); |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
336 |
setValue("videorec/height", res.height()); |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
337 |
setValue("videorec/usegameres", Form->ui.pageOptions->checkUseGameRes->isChecked()); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
338 |
setValue("videorec/audio", recordAudio()); |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
339 |
|
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
340 |
sync(); |
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
341 |
} |
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
342 |
|
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
343 |
void GameUIConfig::setValue(const QString &key, const QVariant &value) |
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
344 |
{ |
8217
e3f47a1d6f2b
readd this debug line, commented out, could be useful
koda
parents:
8206
diff
changeset
|
345 |
//qDebug() << "[settings]" << key << value; |
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
346 |
QSettings::setValue(key, value); |
184 | 347 |
} |
348 |
||
2898 | 349 |
QString GameUIConfig::language() |
350 |
{ |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
351 |
return Form->ui.pageOptions->CBLanguage->itemData(Form->ui.pageOptions->CBLanguage->currentIndex()).toString(); |
2898 | 352 |
} |
353 |
||
8354
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
354 |
std::pair<QRect, QRect> GameUIConfig::vid_ResolutionPair() { |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
355 |
// returns a pair of both the fullscreen and the windowed resolution |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
356 |
QRect full(0, 0, 640, 480); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
357 |
QRect windowed(0, 0, 640, 480); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
358 |
QStringList wh = Form->ui.pageOptions->CBResolution->currentText().split('x'); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
359 |
if (wh.size() == 2) |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
360 |
{ |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
361 |
full.setWidth(wh[0].toInt()); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
362 |
full.setHeight(wh[1].toInt()); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
363 |
} |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
364 |
windowed.setWidth(Form->ui.pageOptions->windowWidthEdit->text().toInt()); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
365 |
windowed.setHeight(Form->ui.pageOptions->windowHeightEdit->text().toInt()); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
366 |
return std::make_pair(full, windowed); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
367 |
} |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
368 |
|
555 | 369 |
QRect GameUIConfig::vid_Resolution() |
184 | 370 |
{ |
8354
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
371 |
std::pair<QRect, QRect> result = vid_ResolutionPair(); |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
372 |
if(Form->ui.pageOptions->CBFullscreen->isChecked()) |
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
373 |
return result.first; |
8434 | 374 |
else |
8354
c25bee85d6f8
Separated fullscreen and windowed hwengine resolution parameters.
vitiv <nikita.utiu@gmail.com>
parents:
8350
diff
changeset
|
375 |
return result.second; |
184 | 376 |
} |
377 |
||
378 |
bool GameUIConfig::vid_Fullscreen() |
|
379 |
{ |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
380 |
return Form->ui.pageOptions->CBFullscreen->isChecked(); |
184 | 381 |
} |
382 |
||
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
383 |
quint32 GameUIConfig::translateQuality() |
1812 | 384 |
{ |
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
385 |
quint32 rqNone = 0x00000000; // don't reduce quality |
3937 | 386 |
//quint32 rqLowRes = 0x00000001; // use half land array |
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
387 |
quint32 rqBlurryLand = 0x00000002; // downscaled terrain |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
388 |
quint32 rqNoBackground = 0x00000004; // don't draw background |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
389 |
quint32 rqSimpleRope = 0x00000008; // avoid drawing rope |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
390 |
quint32 rq2DWater = 0x00000010; // disabe 3D water effect |
4809
9c7d5f802618
rearrange quality flags a little, disable snow rendering on rqLowRes
koda
parents:
3937
diff
changeset
|
391 |
quint32 rqAntiBoom = 0x00000020; // no fancy explosion effects |
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
392 |
quint32 rqKillFlakes = 0x00000040; // no flakes |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
393 |
quint32 rqSlowMenu = 0x00000080; // ammomenu appears with no animation |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
394 |
quint32 rqPlainSplash = 0x00000100; // no droplets |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
395 |
quint32 rqClampLess = 0x00000200; // don't clamp textures |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
396 |
quint32 rqTooltipsOff = 0x00000400; // tooltips are not drawn |
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
397 |
quint32 rqDesyncVBlank = 0x00000800; // don't sync on vblank |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
398 |
|
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
399 |
quint32 result = (Form->ui.pageOptions->WeaponTooltip->isChecked()) ? rqNone : rqTooltipsOff; |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
400 |
|
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
401 |
switch (Form->ui.pageOptions->SLQuality->value()) |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
402 |
{ |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
403 |
case 5: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
404 |
break; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
405 |
case 4: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
406 |
result |= rqBlurryLand; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
407 |
break; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
408 |
case 3: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
409 |
result |= rqBlurryLand | rqKillFlakes | rqPlainSplash; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
410 |
break; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
411 |
case 2: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
412 |
result |= rqBlurryLand | rqKillFlakes | rqPlainSplash | rq2DWater | |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
413 |
rqAntiBoom | rqSlowMenu; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
414 |
break; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
415 |
case 1: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
416 |
result |= rqBlurryLand | rqKillFlakes | rqPlainSplash | rq2DWater | |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
417 |
rqAntiBoom | rqSlowMenu | rqSimpleRope | rqDesyncVBlank; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
418 |
break; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
419 |
case 0: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
420 |
result |= rqBlurryLand | rqKillFlakes | rqPlainSplash | rq2DWater | |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
421 |
rqAntiBoom | rqSlowMenu | rqSimpleRope | rqDesyncVBlank | |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
422 |
rqNoBackground | rqClampLess; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
423 |
break; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
424 |
default: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
425 |
fprintf(stderr,"unset value from slider"); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
426 |
break; |
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
427 |
} |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
428 |
|
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
429 |
return result; |
1812 | 430 |
} |
3694
3e9c0634065c
new quality slider widget (needs to be customized), removed obsolete arguments
koda
parents:
3690
diff
changeset
|
431 |
|
2098
c977d7f2aa09
Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents:
1812
diff
changeset
|
432 |
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
|
433 |
{ |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
434 |
return Form->ui.pageOptions->CBFrontendEffects->isChecked(); |
2098
c977d7f2aa09
Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents:
1812
diff
changeset
|
435 |
} |
1812 | 436 |
|
1162 | 437 |
bool GameUIConfig::isFrontendFullscreen() const |
438 |
{ |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
439 |
return Form->ui.pageOptions->CBFrontendFullscreen->isChecked(); |
1162 | 440 |
} |
441 |
||
184 | 442 |
bool GameUIConfig::isSoundEnabled() |
443 |
{ |
|
8226
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
444 |
return Form->ui.pageOptions->CBSound->isChecked(); |
184 | 445 |
} |
2776 | 446 |
bool GameUIConfig::isFrontendSoundEnabled() |
447 |
{ |
|
8226
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
448 |
return Form->ui.pageOptions->CBFrontendSound->isChecked(); |
2776 | 449 |
} |
184 | 450 |
|
1129 | 451 |
bool GameUIConfig::isMusicEnabled() |
452 |
{ |
|
8226
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
453 |
return Form->ui.pageOptions->CBMusic->isChecked(); |
1129 | 454 |
} |
2776 | 455 |
bool GameUIConfig::isFrontendMusicEnabled() |
456 |
{ |
|
8226
67f07ff5b593
Removed redundant "enable"s on checkboxes and variable names.
Mitchell Kember <mk12360@gmail.com>
parents:
8217
diff
changeset
|
457 |
return Form->ui.pageOptions->CBFrontendMusic->isChecked(); |
2776 | 458 |
} |
1129 | 459 |
|
297 | 460 |
bool GameUIConfig::isShowFPSEnabled() |
461 |
{ |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
462 |
return Form->ui.pageOptions->CBShowFPS->isChecked(); |
297 | 463 |
} |
464 |
||
529 | 465 |
bool GameUIConfig::isAltDamageEnabled() |
466 |
{ |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
467 |
return Form->ui.pageOptions->CBAltDamage->isChecked(); |
1487
b4cc59a6d50a
Add an option to name records with current date and time
unc0rr
parents:
1235
diff
changeset
|
468 |
} |
b4cc59a6d50a
Add an option to name records with current date and time
unc0rr
parents:
1235
diff
changeset
|
469 |
|
3696 | 470 |
quint32 GameUIConfig::stereoMode() const |
3691 | 471 |
{ |
3696 | 472 |
return Form->ui.pageOptions->CBStereoMode->currentIndex(); |
3691 | 473 |
} |
474 |
||
1487
b4cc59a6d50a
Add an option to name records with current date and time
unc0rr
parents:
1235
diff
changeset
|
475 |
bool GameUIConfig::appendDateTimeToRecordName() |
b4cc59a6d50a
Add an option to name records with current date and time
unc0rr
parents:
1235
diff
changeset
|
476 |
{ |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
477 |
return Form->ui.pageOptions->CBNameWithDate->isChecked(); |
529 | 478 |
} |
479 |
||
2395 | 480 |
#ifdef SPARKLE_ENABLED |
2261 | 481 |
bool GameUIConfig::isAutoUpdateEnabled() |
482 |
{ |
|
483 |
return Form->ui.pageOptions->CBAutoUpdate->isChecked(); |
|
484 |
} |
|
485 |
#endif |
|
486 |
||
297 | 487 |
quint8 GameUIConfig::timerInterval() |
488 |
{ |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
489 |
return 35 - Form->ui.pageOptions->fpsedit->value(); |
297 | 490 |
} |
603 | 491 |
|
949 | 492 |
QString GameUIConfig::netNick() |
493 |
{ |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2913
diff
changeset
|
494 |
return Form->ui.pageOptions->editNetNick->text(); |
949 | 495 |
} |
1777 | 496 |
|
5390
f41e87de8989
(fix issue 126) moved initial nickname popup to the netconnection page
koda
parents:
5262
diff
changeset
|
497 |
void GameUIConfig::updNetNick() |
f41e87de8989
(fix issue 126) moved initial nickname popup to the netconnection page
koda
parents:
5262
diff
changeset
|
498 |
{ |
f41e87de8989
(fix issue 126) moved initial nickname popup to the netconnection page
koda
parents:
5262
diff
changeset
|
499 |
Form->ui.pageOptions->editNetNick->setText(value("net/nick", "").toString()); |
f41e87de8989
(fix issue 126) moved initial nickname popup to the netconnection page
koda
parents:
5262
diff
changeset
|
500 |
} |
f41e87de8989
(fix issue 126) moved initial nickname popup to the netconnection page
koda
parents:
5262
diff
changeset
|
501 |
|
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:
5204
diff
changeset
|
502 |
QByteArray GameUIConfig::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:
5204
diff
changeset
|
503 |
{ |
7313
162bc562335b
Use toUtf8 instead TODO - find out 'sactly what the website is using for hashes.
nemo
parents:
7153
diff
changeset
|
504 |
return QCryptographicHash::hash(Form->ui.pageOptions->editNetPassword->text().toUtf8(), QCryptographicHash::Md5).toHex(); |
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:
5204
diff
changeset
|
505 |
} |
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:
5204
diff
changeset
|
506 |
|
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:
5204
diff
changeset
|
507 |
int GameUIConfig::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:
5204
diff
changeset
|
508 |
{ |
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:
5204
diff
changeset
|
509 |
return Form->ui.pageOptions->editNetPassword->text().size(); |
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:
5204
diff
changeset
|
510 |
} |
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:
5204
diff
changeset
|
511 |
|
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:
5204
diff
changeset
|
512 |
bool GameUIConfig::netPasswordIsValid() |
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:
5204
diff
changeset
|
513 |
{ |
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
514 |
return (netPasswordLength() == 0 || Form->ui.pageOptions->editNetPassword->text() != QString(netPasswordLength(), '*')); |
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:
5204
diff
changeset
|
515 |
} |
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:
5204
diff
changeset
|
516 |
|
8434 | 517 |
void GameUIConfig::clearPasswordHash() |
8294
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
518 |
{ |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
519 |
setValue("net/passwordhash", QString()); |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
520 |
setValue("net/passwordlength", 0); |
8301
8bf36d368291
Documented an unclear method call
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8300
diff
changeset
|
521 |
setValue("net/savepassword", false); //changes the savepassword value to false in order to not let the user save an empty password in PAGE_SETUP |
9054 | 522 |
Form->ui.pageOptions->editNetPassword->setEnabled(false); |
523 |
Form->ui.pageOptions->editNetPassword->setText(""); |
|
8294
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
524 |
} |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
525 |
|
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
526 |
void GameUIConfig::setPasswordHash(const QString & passwordhash) |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
527 |
{ |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
528 |
setValue("net/passwordhash", passwordhash); |
9054 | 529 |
if (passwordhash!=NULL && passwordhash.size() > 0) |
530 |
{ |
|
531 |
// WTF - the whole point of "password length" was to have the dots match what they typed. This is totally pointless, and all hashes are the same length for a given hash so might as well hardcode it. |
|
532 |
// setValue("net/passwordlength", passwordhash.size()/4); |
|
533 |
setValue("net/passwordlength", 8); |
|
534 |
||
535 |
// More WTF |
|
536 |
//setNetPasswordLength(passwordhash.size()/4); //the hash.size() is divided by 4 let PAGE_SETUP use a reasonable number of stars to display the PW |
|
537 |
setNetPasswordLength(8); |
|
538 |
} |
|
539 |
else |
|
540 |
{ |
|
541 |
setValue("net/passwordlength", 0); |
|
542 |
setNetPasswordLength(0); |
|
543 |
} |
|
8294
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
544 |
} |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
545 |
|
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
546 |
QString GameUIConfig::passwordHash() |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
547 |
{ |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
548 |
return value("net/passwordhash").toString(); |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
549 |
} |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
550 |
|
8434 | 551 |
void GameUIConfig::clearTempHash() |
8294
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
552 |
{ |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
553 |
setTempHash(QString()); |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
554 |
} |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
555 |
|
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
556 |
void GameUIConfig::setTempHash(const QString & temphash) |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
557 |
{ |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
558 |
this->temphash = temphash; |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
559 |
} |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
560 |
|
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
561 |
QString GameUIConfig::tempHash() { |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
562 |
return this->temphash; |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
563 |
} |
0e5782b0dd54
Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents:
8291
diff
changeset
|
564 |
|
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:
5252
diff
changeset
|
565 |
// When hedgewars launches, the password field is set with null characters. If the user tries to edit the field and there are such characters, then clear the field |
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:
5252
diff
changeset
|
566 |
bool GameUIConfig::eventFilter(QObject *object, QEvent *event) |
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:
5252
diff
changeset
|
567 |
{ |
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:
5252
diff
changeset
|
568 |
if (event->type() == QEvent::FocusIn) |
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:
5252
diff
changeset
|
569 |
{ |
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:
5252
diff
changeset
|
570 |
if ((QLineEdit *)object == Form->ui.pageOptions->editNetPassword) |
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:
5252
diff
changeset
|
571 |
{ |
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:
5252
diff
changeset
|
572 |
if (!netPasswordIsValid()) |
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:
5252
diff
changeset
|
573 |
{ |
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:
5252
diff
changeset
|
574 |
Form->ui.pageOptions->editNetPassword->clear(); |
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:
5252
diff
changeset
|
575 |
} |
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:
5252
diff
changeset
|
576 |
} |
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:
5252
diff
changeset
|
577 |
} |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6583
diff
changeset
|
578 |
|
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:
5252
diff
changeset
|
579 |
// Don't filter anything |
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:
5252
diff
changeset
|
580 |
return false; |
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:
5252
diff
changeset
|
581 |
} |
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:
5252
diff
changeset
|
582 |
|
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:
5204
diff
changeset
|
583 |
void GameUIConfig::setNetPasswordLength(int passwordLength) |
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:
5204
diff
changeset
|
584 |
{ |
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:
5204
diff
changeset
|
585 |
if (passwordLength > 0) |
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:
5204
diff
changeset
|
586 |
{ |
8179
a1ffcb559f99
Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents:
8098
diff
changeset
|
587 |
Form->ui.pageOptions->editNetPassword->setText(QString(passwordLength, '*')); |
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:
5204
diff
changeset
|
588 |
} |
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:
5204
diff
changeset
|
589 |
else |
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:
5204
diff
changeset
|
590 |
{ |
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:
5204
diff
changeset
|
591 |
Form->ui.pageOptions->editNetPassword->setText(""); |
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:
5204
diff
changeset
|
592 |
} |
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:
5204
diff
changeset
|
593 |
} |
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:
5204
diff
changeset
|
594 |
|
1777 | 595 |
quint8 GameUIConfig::volume() |
596 |
{ |
|
8387
f9d1191476ce
Organized options into more relavant tabs.
dag10 <gottlieb.drew@gmail.com>
parents:
8386
diff
changeset
|
597 |
return Form->ui.pageOptions->SLVolume->value() * 128 / 100; |
1777 | 598 |
} |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
599 |
|
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
600 |
QString GameUIConfig::AVFormat() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
601 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
602 |
return Form->ui.pageOptions->format(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
603 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
604 |
|
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
605 |
QString GameUIConfig::videoCodec() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
606 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
607 |
return Form->ui.pageOptions->videoCodec(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
608 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
609 |
|
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
610 |
QString GameUIConfig::audioCodec() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
611 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
612 |
return Form->ui.pageOptions->audioCodec(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
613 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
614 |
|
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
615 |
QRect GameUIConfig::rec_Resolution() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
616 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
617 |
if (Form->ui.pageOptions->checkUseGameRes->isChecked()) |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
618 |
return vid_Resolution(); |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
619 |
QRect res(0,0,0,0); |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
620 |
res.setWidth(Form->ui.pageOptions->widthEdit->text().toUInt()); |
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
621 |
res.setHeight(Form->ui.pageOptions->heightEdit->text().toUInt()); |
7238 | 622 |
return res; |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
623 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
624 |
|
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
625 |
int GameUIConfig::rec_Framerate() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
626 |
{ |
8186
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
627 |
// remove the "fps" label |
8190 | 628 |
QString fpsText = Form->ui.pageOptions->framerateBox->currentText(); |
8186
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
629 |
QStringList fpsList = fpsText.split(" "); |
4ff8690df1b0
unify default videorec values loading/reloading, fix setting index/value from previous commit
koda
parents:
8185
diff
changeset
|
630 |
return fpsList.first().toInt(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
631 |
} |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
632 |
|
7633
d4251e519062
Allow adjusting bitrate so that I can get a somewhat usable webm video. The audio is still tinny and unlistenable. Configuration option for that might be helpful, or just adjusting defaults in the wrapper.
nemo
parents:
7565
diff
changeset
|
633 |
int GameUIConfig::rec_Bitrate() |
d4251e519062
Allow adjusting bitrate so that I can get a somewhat usable webm video. The audio is still tinny and unlistenable. Configuration option for that might be helpful, or just adjusting defaults in the wrapper.
nemo
parents:
7565
diff
changeset
|
634 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
635 |
return Form->ui.pageOptions->bitrateBox->value(); |
7633
d4251e519062
Allow adjusting bitrate so that I can get a somewhat usable webm video. The audio is still tinny and unlistenable. Configuration option for that might be helpful, or just adjusting defaults in the wrapper.
nemo
parents:
7565
diff
changeset
|
636 |
} |
d4251e519062
Allow adjusting bitrate so that I can get a somewhat usable webm video. The audio is still tinny and unlistenable. Configuration option for that might be helpful, or just adjusting defaults in the wrapper.
nemo
parents:
7565
diff
changeset
|
637 |
|
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
638 |
bool GameUIConfig::recordAudio() |
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
639 |
{ |
8151
25b95d6224fc
Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents:
8098
diff
changeset
|
640 |
return Form->ui.pageOptions->checkRecordAudio->isChecked(); |
7235
baa69bd025d9
1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents:
7153
diff
changeset
|
641 |
} |
8346 | 642 |
|
643 |
// Gets a bind for a bindID |
|
644 |
QString GameUIConfig::bind(int bindID) |
|
645 |
{ |
|
646 |
return m_binds[bindID].strbind; |
|
647 |
} |
|
648 |
||
649 |
// Sets a bind for a bindID and saves it |
|
650 |
void GameUIConfig::setBind(int bindID, QString & strbind) |
|
651 |
{ |
|
652 |
m_binds[bindID].strbind = strbind; |
|
653 |
setValue(QString("Binds/%1").arg(m_binds[bindID].action), strbind); |
|
654 |
} |
|
9547 | 655 |
|
656 |
void GameUIConfig::applyProxySettings() |
|
657 |
{ |
|
658 |
QNetworkProxy proxy; |
|
659 |
||
660 |
int proxyType = Form->ui.pageOptions->cbProxyType->currentIndex(); |
|
661 |
||
662 |
if(proxyType == PageOptions::SystemProxy) |
|
663 |
{ |
|
664 |
// use system proxy settings |
|
665 |
proxy = QNetworkProxyFactory::systemProxyForQuery().at(0); |
|
666 |
} else |
|
667 |
{ |
|
668 |
proxy.setType(proxyTypesMap[proxyType]); |
|
669 |
proxy.setHostName(Form->ui.pageOptions->leProxy->text()); |
|
670 |
proxy.setPort(Form->ui.pageOptions->sbProxyPort->value()); |
|
671 |
proxy.setUser(Form->ui.pageOptions->leProxyLogin->text()); |
|
672 |
proxy.setPassword(Form->ui.pageOptions->leProxyPassword->text()); |
|
673 |
} |
|
674 |
||
675 |
QNetworkProxy::setApplicationProxy(proxy); |
|
676 |
} |