QTfrontend/hwform.cpp
author Wuzzy <Wuzzy2@mail.ru>
Tue, 02 Apr 2019 01:03:39 +0200
changeset 14740 7b2bd37d7503
parent 14677 93429d8f6b3f
child 14804 d7b40d61729f
permissions -rw-r--r--
Fix inconsistencies in guest nick name generation When the setting net/nick is empty, HW generates a guest name. But there were several problems: - Team name did not match guest name - Random guest number was re-rolled multiple times, causing inconsistencies - Guest number was often too large (now capped at 99999)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 989
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10971
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     4
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * along with this program; if not, write to the Free Software
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: 10017
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    17
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
    19
#include <QDir>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QFile>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
#include <QTextStream>
407
c7890ba9ed6e lost connection to server warning message
displacer
parents: 383
diff changeset
    22
#include <QMessageBox>
502
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 496
diff changeset
    23
#include <QPushButton>
8415
02acf6b92f52 Moved room name edit box from footer to top of page. Also shows room name when in slave mode.
dag10
parents: 8407
diff changeset
    24
#include <QSpinBox>
502
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 496
diff changeset
    25
#include <QListWidget>
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 496
diff changeset
    26
#include <QStackedLayout>
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 496
diff changeset
    27
#include <QLineEdit>
bc178daca088 Fix build with CMake & gcc 4.1.2 on my system (treating #include <QtGui> as including directory)
unc0rr
parents: 496
diff changeset
    28
#include <QLabel>
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 635
diff changeset
    29
#include <QRadioButton>
654
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 653
diff changeset
    30
#include <QSpinBox>
674
a15c8e3c69b3 Save and restore window size
unc0rr
parents: 672
diff changeset
    31
#include <QCloseEvent>
1235
070629f3902d - Set frontend's music volume level to 50%
unc0rr
parents: 1225
diff changeset
    32
#include <QCheckBox>
1377
a9e768739345 - Customize QTextBrowser look
unc0rr
parents: 1376
diff changeset
    33
#include <QTextBrowser>
1409
d1cbe4a57ebf Add button for controlling room options (no usefull yet)
unc0rr
parents: 1405
diff changeset
    34
#include <QAction>
1418
69df8f2a7cba Delay for 250 msec before connect to local server
unc0rr
parents: 1413
diff changeset
    35
#include <QTimer>
1419
8650a8f55006 Set custom palette to scrollbars
unc0rr
parents: 1418
diff changeset
    36
#include <QScrollBar>
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1875
diff changeset
    37
#include <QDataWidgetMapper>
1887
d68939b3f7f0 - Share model between test table and widgets
unc0rr
parents: 1885
diff changeset
    38
#include <QTableView>
2874
3c7c2bf1ba38 A simple hat reservation mechanism. Can be worked around with a little effort, but to make it useful, you'd have to get everyone you played with to work around it too. Quite a bit of effort for a small reward feature.
nemo
parents: 2845
diff changeset
    39
#include <QCryptographicHash>
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
    40
#include <QSignalMapper>
4759
4fa0c3da81f8 ctrl+q closes frontend also on linux and windows
koda
parents: 4751
diff changeset
    41
#include <QShortcut>
5651
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
    42
#include <QDesktopServices>
8328
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
    43
#include <QDesktopWidget>
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
    44
#include <QApplication>
5734
d710db47a1ef Implement save button on game statistics page.
unc0rr
parents: 5651
diff changeset
    45
#include <QInputDialog>
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
    46
#include <QPropertyAnimation>
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
    47
#include <QSettings>
8891
bf67b4d7d7b4 - Better fix to friends joins/quits highlighting problem
unc0rr
parents: 8887
diff changeset
    48
#include <QSortFilterProxyModel>
11863
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
    49
#include <QIcon>
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
    50
#include <QImage>
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
    51
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
    52
#if (QT_VERSION >= 0x040600)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
    53
#include <QGraphicsEffect>
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
    54
#include <QParallelAnimationGroup>
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
    55
#endif
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    56
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    57
#include "hwform.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    58
#include "game.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    59
#include "team.h"
14462
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13846
diff changeset
    60
#include "mission.h"
7201
dc17ffdf0702 The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents: 7122
diff changeset
    61
#include "campaign.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    62
#include "teamselect.h"
681
7a20c50988ec working weapons select
displacer
parents: 674
diff changeset
    63
#include "selectWeapon.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    64
#include "gameuiconfig.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    65
#include "pageinfo.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    66
#include "pagetraining.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    67
#include "pagesingleplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    68
#include "pageselectweapon.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    69
#include "pageadmin.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    70
#include "pagecampaign.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    71
#include "pagescheme.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    72
#include "pagenetgame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    73
#include "pageroomslist.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    74
#include "pageconnecting.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    75
#include "pageoptions.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    76
#include "pageeditteam.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    77
#include "pagemultiplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    78
#include "pagenet.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    79
#include "pagemain.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    80
#include "pagenetserver.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5147
diff changeset
    81
#include "pagedrawmap.h"
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    82
#include "pagegamestats.h"
5567
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5255
diff changeset
    83
#include "pageplayrecord.h"
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5255
diff changeset
    84
#include "pagedata.h"
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 7180
diff changeset
    85
#include "pagevideos.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    86
#include "hwconsts.h"
314
83773ccf4f09 client/server net pre-alpha
displacer
parents: 312
diff changeset
    87
#include "newnetclient.h"
329
4c3aad46baa5 Send game parameters by net... Currently it leads to infinite loop, flooding traffic with messages about changes
unc0rr
parents: 328
diff changeset
    88
#include "gamecfgwidget.h"
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 625
diff changeset
    89
#include "netserverslist.h"
634
b9db5ff5cfdb Fix some bugs
unc0rr
parents: 632
diff changeset
    90
#include "netudpserver.h"
461
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
    91
#include "chatwidget.h"
653
4f44fc06ca45 Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents: 647
diff changeset
    92
#include "input_ip.h"
6910
ea058558c68b add a checkbox for the password field prompt (issue 316)
Stepan777
parents: 6907
diff changeset
    93
#include "input_password.h"
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
    94
#include "gameSchemeModel.h"
2012
76fff564246b TheXception's patch:
unc0rr
parents: 2010
diff changeset
    95
#include "bgwidget.h"
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
    96
#include "drawmapwidget.h"
6477
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
    97
#include "mouseoverfilter.h"
6732
c906dc78091f Start switching to rooms list model. To be continued.
unc0rr
parents: 6720
diff changeset
    98
#include "roomslistmodel.h"
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7122
diff changeset
    99
#include "recorder.h"
7723
ca05b576ec74 Start moving to players list model.
unc0rr
parents: 7720
diff changeset
   100
#include "playerslistmodel.h"
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8384
diff changeset
   101
#include "feedbackdialog.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   102
8383
b557c73a7593 GCI2012: Abstract Hedgewars Dialogs
dag10
parents: 8380
diff changeset
   103
#include "MessageDialog.h"
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6911
diff changeset
   104
#include "DataManager.h"
8284
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   105
#include "AutoUpdater.h"
6160
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6151
diff changeset
   106
9163
67334acaaac7 port all Q_WS_* to Q_OS_* so that we are forward compatible with Qt5
koda
parents: 9100
diff changeset
   107
#ifdef Q_OS_WIN
11803
d85d273cb3aa Fix some warnings
unC0Rr
parents: 11046
diff changeset
   108
#ifndef WINVER
8328
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   109
#define WINVER 0x0500
11803
d85d273cb3aa Fix some warnings
unC0Rr
parents: 11046
diff changeset
   110
#endif
8328
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   111
#include <windows.h>
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   112
#else
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   113
#include <unistd.h>
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   114
#include <sys/types.h>
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   115
#endif
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   116
9163
67334acaaac7 port all Q_WS_* to Q_OS_* so that we are forward compatible with Qt5
koda
parents: 9100
diff changeset
   117
#ifdef Q_OS_MAC
8328
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   118
#include <sys/sysctl.h>
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   119
#endif
03684c667664 GCI2012: Feedback Redo
dag10
parents: 8318
diff changeset
   120
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   121
#ifdef __APPLE__
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   122
#include "M3Panel.h"
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   123
#ifdef SPARKLE_ENABLED
2261
57e99c908e7c a lot of stuff:
koda
parents: 2155
diff changeset
   124
#include "SparkleAutoUpdater.h"
57e99c908e7c a lot of stuff:
koda
parents: 2155
diff changeset
   125
#endif
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   126
#endif
2261
57e99c908e7c a lot of stuff:
koda
parents: 2155
diff changeset
   127
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6525
diff changeset
   128
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2080
diff changeset
   129
// I started handing this down to each place it touches, but it was getting ridiculous
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2080
diff changeset
   130
// and this one flag does not warrant a static class
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2080
diff changeset
   131
bool frontendEffects = true;
2874
3c7c2bf1ba38 A simple hat reservation mechanism. Can be worked around with a little effort, but to make it useful, you'd have to get everyone you played with to work around it too. Quite a bit of effort for a small reward feature.
nemo
parents: 2845
diff changeset
   132
QString playerHash;
2098
c977d7f2aa09 Toggle for stars ("frontend effects") - also turns off optimisations for stars that were causing problems onone machine
nemo
parents: 2080
diff changeset
   133
11950
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11948
diff changeset
   134
QIcon finishedIcon;
11978
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   135
QIcon notFinishedIcon;
6572
0d0af531c1c7 GCI task: ping
bovi
parents: 6561
diff changeset
   136
GameUIConfig* HWForm::config = NULL;
0d0af531c1c7 GCI task: ping
bovi
parents: 6561
diff changeset
   137
5849
b84b41aba275 fix for issue #269
sheepluva
parents: 5773
diff changeset
   138
HWForm::HWForm(QWidget *parent, QString styleSheet)
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   139
    : QMainWindow(parent)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   140
    , game(0)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   141
    , pnetserver(0)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   142
    , pRegisterServer(0)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   143
    , editedTeam(0)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   144
    , hwnet(0)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   145
{
6166
701c5b8fac56 finishing SDLInterface cleanup (wrt audio)
sheepluva
parents: 6165
diff changeset
   146
    // set music track
8049
133e22b5c410 Get rid of DataManager::findFileForRead
unc0rr
parents: 7933
diff changeset
   147
    SDLInteraction::instance().setMusicTrack("/Music/main_theme.ogg");
6166
701c5b8fac56 finishing SDLInterface cleanup (wrt audio)
sheepluva
parents: 6165
diff changeset
   148
5849
b84b41aba275 fix for issue #269
sheepluva
parents: 5773
diff changeset
   149
    this->setStyleSheet(styleSheet);
11863
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   150
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   151
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   152
    QIcon * hwIcon = new QIcon();
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   153
    hwIcon->addFile(":/res/hh_small.png");
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   154
    //hwIcon->addFile(":/res/hh25x25.png");
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   155
    // crop-workaround for the fact that hh25x25.png is actually 25x35
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   156
    QPixmap pm(":/res/hh25x25.png");
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   157
    hwIcon->addPixmap(pm.copy(0,(pm.height()-25)/2,25,25));
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   158
    hwIcon->addFile(":/res/teamicon.png");
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   159
    hwIcon->addFile(":/res/teamicon2.png");
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   160
35208f442daf Bug 115 - Application icon is missing
sheepluva
parents: 11852
diff changeset
   161
    this->setWindowIcon(*hwIcon);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   162
    ui.setupUi(this);
8424
225ede46e3dc On pagenetgame, when window is too small the map/game options becomes a tabbed interface to allow for a few lines of chat to always be visible.
dag10
parents: 8416
diff changeset
   163
    setMinimumSize(760, 580);
4592
b1fe47b11b99 disable fix for issue 24 in order to fix issue 123, as suggested by koda
sheepluva
parents: 4576
diff changeset
   164
    //setFocusPolicy(Qt::StrongFocus);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   165
    CustomizePalettes();
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3324
diff changeset
   166
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6160
diff changeset
   167
    ui.pageOptions->CBResolution->addItems(SDLInteraction::instance().getResolutions());
1225
f882a92ef872 Play music in menu also, with fading effects when run game
unc0rr
parents: 1223
diff changeset
   168
8918
512753ea4b1b Switch to 'settings.ini'. Copies old ini file if necessary on startup.
unc0rr
parents: 8901
diff changeset
   169
    config = new GameUIConfig(this, DataManager::instance().settingsFileName());
8179
a1ffcb559f99 Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents: 8157
diff changeset
   170
    frontendEffects = config->value("frontend/effects", true).toBool();
14740
7b2bd37d7503 Fix inconsistencies in guest nick name generation
Wuzzy <Wuzzy2@mail.ru>
parents: 14677
diff changeset
   171
    playerHash = QString(QCryptographicHash::hash(config->value("net/nick", config->getRandomNick()).toString().toUtf8(), QCryptographicHash::Md5).toHex());
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   172
11978
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   173
    // Icons for finished missions
11950
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11948
diff changeset
   174
    finishedIcon.addFile(":/res/missionFinished.png", QSize(), QIcon::Normal, QIcon::On);
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11948
diff changeset
   175
    finishedIcon.addFile(":/res/missionFinishedSelected.png", QSize(), QIcon::Selected, QIcon::On);
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11948
diff changeset
   176
11978
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   177
    // A transparent icon, used to nicely align the unfinished missions with the finished ones
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   178
    QPixmap emptySpace = QPixmap(15, 15);
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   179
    emptySpace.fill(QColor(0, 0, 0, 0));
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   180
    notFinishedIcon = QIcon(emptySpace);
4a2da00bbedc Align drop-down text of unfinished campaign missions with finished icons
Wuzzy <almikes@aol.com>
parents: 11968
diff changeset
   181
8179
a1ffcb559f99 Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents: 8157
diff changeset
   182
    ui.pageRoomsList->setSettings(config);
8453
06541556df53 Reorganized layout and appearance of rooms list page.
dag10
parents: 8451
diff changeset
   183
    ui.pageNetGame->setSettings(config);
8179
a1ffcb559f99 Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents: 8157
diff changeset
   184
    ui.pageNetGame->chatWidget->setSettings(config);
a1ffcb559f99 Refactor: get rid of excessive QSettings instances on the same poor hedgewars.ini file
unc0rr
parents: 8157
diff changeset
   185
    ui.pageRoomsList->chatWidget->setSettings(config);
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 8328
diff changeset
   186
    ui.pageOptions->setConfig(config);
8151
25b95d6224fc Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents: 8140
diff changeset
   187
#ifdef VIDEOREC
8196
ed5001115265 Fixed crash that occured after recording a video (pagevideos' config wasn't set).
Mitchell Kember <mk12360@gmail.com>
parents: 8183
diff changeset
   188
    ui.pageVideos->init(config);
8151
25b95d6224fc Google Code-in: Move video preferences in settings tab
Mitchell Kember <mk12360@gmail.com>
parents: 8140
diff changeset
   189
#endif
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 7180
diff changeset
   190
10971
0e122b87ffbc Fix building on OSX when autoupdate is disabled
koda
parents: 10803
diff changeset
   191
#if defined(__APPLE__) && defined(SPARKLE_ENABLED)
8284
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   192
    if (config->isAutoUpdateEnabled())
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   193
    {
9393
094a176dd623 Take care of some warnings from issue 688
unc0rr
parents: 9306
diff changeset
   194
        AutoUpdater* updater = NULL;
094a176dd623 Take care of some warnings from issue 688
unc0rr
parents: 9306
diff changeset
   195
8284
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   196
        updater = new SparkleAutoUpdater();
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   197
        if (updater)
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   198
        {
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   199
            updater->checkForUpdates();
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   200
            delete updater;
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   201
        }
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   202
    }
8287
e2a5dece221f Fix non-osx build broken in ra874d00df4a4. Dudes... :(
unc0rr
parents: 8284
diff changeset
   203
#endif
8284
a874d00df4a4 GCI2012: Autoupdate Button in Settings
Drew Gottlieb
parents: 8268
diff changeset
   204
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
   205
#ifdef __APPLE__
3937
494221b5950e fix issue 24 and issue 81
koda
parents: 3932
diff changeset
   206
    panel = new M3Panel;
5087
d3af455a868e cmd+m should minimize the app as per apple human guidelines
koda
parents: 5061
diff changeset
   207
d3af455a868e cmd+m should minimize the app as per apple human guidelines
koda
parents: 5061
diff changeset
   208
    QShortcut *hideFrontend = new QShortcut(QKeySequence("Ctrl+M"), this);
d3af455a868e cmd+m should minimize the app as per apple human guidelines
koda
parents: 5061
diff changeset
   209
    connect (hideFrontend, SIGNAL(activated()), this, SLOT(showMinimized()));
4759
4fa0c3da81f8 ctrl+q closes frontend also on linux and windows
koda
parents: 4751
diff changeset
   210
#else
4fa0c3da81f8 ctrl+q closes frontend also on linux and windows
koda
parents: 4751
diff changeset
   211
    // ctrl+q closes frontend for consistency
6960
822f8269e13f map, theme & style selection won't be lost on data updata now (except the selected map/theme/style is deleted ofc). enabling F5 key to reload data :>
sheepluva
parents: 6952
diff changeset
   212
    QShortcut * closeFrontend = new QShortcut(QKeySequence("Ctrl+Q"), this);
4759
4fa0c3da81f8 ctrl+q closes frontend also on linux and windows
koda
parents: 4751
diff changeset
   213
    connect (closeFrontend, SIGNAL(activated()), this, SLOT(close()));
7824
3df73ec7fcf2 disable F5 key and data refresh
sheepluva
parents: 7823
diff changeset
   214
    //QShortcut * updateData = new QShortcut(QKeySequence("F5"), this);
3df73ec7fcf2 disable F5 key and data refresh
sheepluva
parents: 7823
diff changeset
   215
    //connect (updateData, SIGNAL(activated()), &DataManager::instance(), SLOT(reload()));
2261
57e99c908e7c a lot of stuff:
koda
parents: 2155
diff changeset
   216
#endif
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   217
9219
0a4b6bb69f99 bring windows fixes from main repo
koda
parents: 9184
diff changeset
   218
    previousCampaignName = "";
0a4b6bb69f99 bring windows fixes from main repo
koda
parents: 9184
diff changeset
   219
    previousTeamName = "";
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   220
    UpdateTeamsLists();
7201
dc17ffdf0702 The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents: 7122
diff changeset
   221
    InitCampaignPage();
14470
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   222
    RestoreSingleplayerTeamSelection();
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3757
diff changeset
   223
    UpdateCampaignPage(0);
11950
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11948
diff changeset
   224
    UpdateCampaignPageTeam(0);
9286
c89b992ff5fe fixed bug about starting campaign page with not descriptions/images and with wrong description/image mathcing
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9284
diff changeset
   225
    UpdateCampaignPageMission(0);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   226
    UpdateWeapons();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   227
6009
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   228
    // connect all goBack signals
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   229
    int nPages = ui.Pages->count();
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   230
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   231
    for (int i = 0; i < nPages; i++)
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   232
        connect(ui.Pages->widget(i), SIGNAL(goBack()), this, SLOT(GoBack()));
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   233
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   234
    pageSwitchMapper = new QSignalMapper(this);
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   235
    connect(pageSwitchMapper, SIGNAL(mapped(int)), this, SLOT(GoToPage(int)));
13330
3f2ee2f9b51d fix/workaround for fullscreen crash in 0.9.24
alfadur
parents: 13197
diff changeset
   236
    
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   237
    connect(ui.pageMain->BtnSinglePlayer, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   238
    pageSwitchMapper->setMapping(ui.pageMain->BtnSinglePlayer, ID_PAGE_SINGLEPLAYER);
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   239
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   240
    connect(ui.pageMain->BtnSetup, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   241
    pageSwitchMapper->setMapping(ui.pageMain->BtnSetup, ID_PAGE_SETUP);
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6525
diff changeset
   242
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8384
diff changeset
   243
    connect(ui.pageMain->BtnFeedback, SIGNAL(clicked()), this, SLOT(showFeedbackDialog()));
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   244
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   245
    connect(ui.pageMain->BtnInfo, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
5763
d7a887c7e2d0 Add a crappy button to encourage artists to make another one. Restore Info page.
nemo
parents: 5746
diff changeset
   246
    pageSwitchMapper->setMapping(ui.pageMain->BtnInfo, ID_PAGE_INFO);
d7a887c7e2d0 Add a crappy button to encourage artists to make another one. Restore Info page.
nemo
parents: 5746
diff changeset
   247
d7a887c7e2d0 Add a crappy button to encourage artists to make another one. Restore Info page.
nemo
parents: 5746
diff changeset
   248
    connect(ui.pageMain->BtnDataDownload, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
d7a887c7e2d0 Add a crappy button to encourage artists to make another one. Restore Info page.
nemo
parents: 5746
diff changeset
   249
    pageSwitchMapper->setMapping(ui.pageMain->BtnDataDownload, ID_PAGE_DATADOWNLOAD);
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   250
13818
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   251
    connect(ui.pageMain->BtnHelp, SIGNAL(clicked()), this, SLOT(GoToHelp()));
7015
08642c7da4a3 add DLC button to net game room
sheepluva
parents: 7004
diff changeset
   252
7617
0ac281e1b58b Make ffmpeg optional for frontend
unc0rr
parents: 7565
diff changeset
   253
#ifdef VIDEOREC
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 7180
diff changeset
   254
    connect(ui.pageMain->BtnVideos, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 7180
diff changeset
   255
    pageSwitchMapper->setMapping(ui.pageMain->BtnVideos, ID_PAGE_VIDEOS);
7617
0ac281e1b58b Make ffmpeg optional for frontend
unc0rr
parents: 7565
diff changeset
   256
#endif
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 7180
diff changeset
   257
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
   258
    //connect(ui.pageMain->BtnExit, SIGNAL(pressed()), this, SLOT(btnExitPressed()));
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
   259
    //connect(ui.pageMain->BtnExit, SIGNAL(clicked()), this, SLOT(btnExitClicked()));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   260
7553
9cfe74ee418b Simplify code a bit
unc0rr
parents: 7551
diff changeset
   261
    connect(ui.pageEditTeam, SIGNAL(goBack()), this, SLOT(AfterTeamEdit()));
1840
4747f0232b88 ttsmj2's random teams patch
unc0rr
parents: 1828
diff changeset
   262
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   263
    connect(ui.pageMultiplayer->BtnStartMPGame, SIGNAL(clicked()), this, SLOT(StartMPGame()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   264
    connect(ui.pageMultiplayer->teamsSelect, SIGNAL(setEnabledGameStart(bool)),
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   265
            ui.pageMultiplayer->BtnStartMPGame, SLOT(setEnabled(bool)));
4410
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   266
    connect(ui.pageMultiplayer, SIGNAL(SetupClicked()), this, SLOT(IntermediateSetup()));
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   267
    connect(ui.pageMultiplayer->gameCFG, SIGNAL(goToSchemes(int)), this, SLOT(GoToScheme(int)));
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   268
    connect(ui.pageMultiplayer->gameCFG, SIGNAL(goToWeapons(int)), this, SLOT(GoToWeapons(int)));
4511
df827e70ae63 Pretension to switch to draw map page
unc0rr
parents: 4509
diff changeset
   269
    connect(ui.pageMultiplayer->gameCFG, SIGNAL(goToDrawMap()), pageSwitchMapper, SLOT(map()));
df827e70ae63 Pretension to switch to draw map page
unc0rr
parents: 4509
diff changeset
   270
    pageSwitchMapper->setMapping(ui.pageMultiplayer->gameCFG, ID_PAGE_DRAWMAP);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   271
6009
14f6fc9869f2 code cleanup/etc
sheepluva
parents: 5998
diff changeset
   272
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   273
    connect(ui.pagePlayDemo->BtnPlayDemo, SIGNAL(clicked()), this, SLOT(PlayDemo()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   274
    connect(ui.pagePlayDemo->DemosList, SIGNAL(doubleClicked (const QModelIndex &)), this, SLOT(PlayDemo()));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   275
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
   276
    connect(ui.pageOptions, SIGNAL(newTeamRequested()), this, SLOT(NewTeam()));
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
   277
    connect(ui.pageOptions, SIGNAL(editTeamRequested(const QString&)), this, SLOT(EditTeam(const QString&)));
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
   278
    connect(ui.pageOptions, SIGNAL(deleteTeamRequested(const QString&)), this, SLOT(DeleteTeam(const QString&)));
6525
6c97379c584b [GCI] backz task: unify the back button functionality, avoid using the save button
m4tx
parents: 6477
diff changeset
   279
    connect(ui.pageOptions, SIGNAL(goBack()), config, SLOT(SaveOptions()));
3932
2fc211f60015 Engine:
smaxx
parents: 3760
diff changeset
   280
    connect(ui.pageOptions->BtnAssociateFiles, SIGNAL(clicked()), this, SLOT(AssociateFiles()));
695
34a93d123712 update weapons combo fixed
displacer
parents: 694
diff changeset
   281
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   282
    connect(ui.pageOptions->WeaponEdit, SIGNAL(clicked()), this, SLOT(GoToEditWeapons()));
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   283
    connect(ui.pageOptions->WeaponNew, SIGNAL(clicked()), this, SLOT(GoToNewWeapons()));
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
   284
    connect(ui.pageOptions->WeaponDelete, SIGNAL(clicked()), this, SLOT(DeleteWeaponSet()));
4410
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   285
    connect(ui.pageOptions->SchemeEdit, SIGNAL(clicked()), this, SLOT(GoToEditScheme()));
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   286
    connect(ui.pageOptions->SchemeNew, SIGNAL(clicked()), this, SLOT(GoToNewScheme()));
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
   287
    connect(ui.pageOptions->SchemeDelete, SIGNAL(clicked()), this, SLOT(DeleteScheme()));
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   288
    connect(ui.pageOptions->CBFrontendEffects, SIGNAL(toggled(bool)), this, SLOT(onFrontendEffects(bool)) );
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   289
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   290
    connect(ui.pageNet->BtnSpecifyServer, SIGNAL(clicked()), this, SLOT(NetConnect()));
4518
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   291
    connect(ui.pageNet->BtnNetSvrStart, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   292
    pageSwitchMapper->setMapping(ui.pageNet->BtnNetSvrStart, ID_PAGE_NETSERVER);
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   293
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   294
    connect(ui.pageNet, SIGNAL(connectClicked(const QString &, quint16)), this, SLOT(NetConnectServer(const QString &, quint16)));
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   295
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   296
    connect(ui.pageNetServer->BtnStart, SIGNAL(clicked()), this, SLOT(NetStartServer()));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   297
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   298
    connect(ui.pageNetGame->pNetTeamsWidget, SIGNAL(setEnabledGameStart(bool)),
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   299
            ui.pageNetGame->BtnStart, SLOT(setEnabled(bool)));
4410
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   300
    connect(ui.pageNetGame, SIGNAL(SetupClicked()), this, SLOT(IntermediateSetup()));
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   301
    connect(ui.pageNetGame->pGameCFG, SIGNAL(goToSchemes(int)), this, SLOT(GoToScheme(int)));
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   302
    connect(ui.pageNetGame->pGameCFG, SIGNAL(goToWeapons(int)), this, SLOT(GoToWeapons(int)));
4511
df827e70ae63 Pretension to switch to draw map page
unc0rr
parents: 4509
diff changeset
   303
    connect(ui.pageNetGame->pGameCFG, SIGNAL(goToDrawMap()), pageSwitchMapper, SLOT(map()));
df827e70ae63 Pretension to switch to draw map page
unc0rr
parents: 4509
diff changeset
   304
    pageSwitchMapper->setMapping(ui.pageNetGame->pGameCFG, ID_PAGE_DRAWMAP);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   305
4518
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   306
    connect(ui.pageRoomsList->BtnAdmin, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   307
    pageSwitchMapper->setMapping(ui.pageRoomsList->BtnAdmin, ID_PAGE_ADMIN);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   308
5651
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
   309
    connect(ui.pageInfo->BtnSnapshots, SIGNAL(clicked()), this, SLOT(OpenSnapshotFolder()));
1312
0078e4f72d40 Create a page for rooms list
unc0rr
parents: 1311
diff changeset
   310
5734
d710db47a1ef Implement save button on game statistics page.
unc0rr
parents: 5651
diff changeset
   311
    connect(ui.pageGameStats, SIGNAL(saveDemoRequested()), this, SLOT(saveDemoWithCustomName()));
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   312
    connect(ui.pageGameStats, SIGNAL(restartGameRequested()), this, SLOT(restartGame()));
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 301
diff changeset
   313
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   314
    connect(ui.pageSinglePlayer->BtnSimpleGamePage, SIGNAL(clicked()), this, SLOT(SimpleGame()));
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   315
    connect(ui.pageSinglePlayer->BtnTrainPage, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   316
    pageSwitchMapper->setMapping(ui.pageSinglePlayer->BtnTrainPage, ID_PAGE_TRAINING);
4518
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   317
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   318
    connect(ui.pageSinglePlayer->BtnCampaignPage, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   319
    pageSwitchMapper->setMapping(ui.pageSinglePlayer->BtnCampaignPage, ID_PAGE_CAMPAIGN);
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   320
4518
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   321
    connect(ui.pageSinglePlayer->BtnMultiplayer, SIGNAL(clicked()), pageSwitchMapper, SLOT(map()));
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   322
    pageSwitchMapper->setMapping(ui.pageSinglePlayer->BtnMultiplayer, ID_PAGE_MULTIPLAYER);
ce95df0398fb Use pageSwitchMapper in some more places
unc0rr
parents: 4511
diff changeset
   323
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   324
    connect(ui.pageSinglePlayer->BtnLoad, SIGNAL(clicked()), this, SLOT(GoToSaves()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   325
    connect(ui.pageSinglePlayer->BtnDemos, SIGNAL(clicked()), this, SLOT(GoToDemos()));
311
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 307
diff changeset
   326
11968
1de4d6b35748 Mission recategorization into trainings, challenges and scenarios.
Wuzzy <almikes@aol.com>
parents: 11959
diff changeset
   327
    connect(ui.pageTraining, SIGNAL(startMission(const QString&, const QString&)), this, SLOT(startTraining(const QString&, const QString&)));
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   328
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3757
diff changeset
   329
    connect(ui.pageCampaign->BtnStartCampaign, SIGNAL(clicked()), this, SLOT(StartCampaign()));
9324
98368198a75d added slot for starting campaign by clicking the image and some events in moon mission
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9308
diff changeset
   330
    connect(ui.pageCampaign->btnPreview, SIGNAL(clicked()), this, SLOT(StartCampaign()));
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3757
diff changeset
   331
    connect(ui.pageCampaign->CBTeam, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPage(int)));
11950
3792a9f9fa9c Update campaign victory status when changing selection
Wuzzy <almikes@aol.com>
parents: 11948
diff changeset
   332
    connect(ui.pageCampaign->CBTeam, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPageTeam(int)));
7201
dc17ffdf0702 The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents: 7122
diff changeset
   333
    connect(ui.pageCampaign->CBCampaign, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPage(int)));
9182
f92e205bc167 issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9163
diff changeset
   334
    connect(ui.pageCampaign->CBMission, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateCampaignPageMission(int)));
14462
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13846
diff changeset
   335
    connect(ui.pageTraining->CBTeam, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateTrainingPageTeam(int)));
14469
bfacce4ff920 Sync team comboboxes in campaign and training page
Wuzzy <Wuzzy2@mail.ru>
parents: 14468
diff changeset
   336
    connect(ui.pageCampaign->CBTeam, SIGNAL(currentIndexChanged(int)), ui.pageTraining->CBTeam, SLOT(setCurrentIndex(int)));
bfacce4ff920 Sync team comboboxes in campaign and training page
Wuzzy <Wuzzy2@mail.ru>
parents: 14468
diff changeset
   337
    connect(ui.pageTraining->CBTeam, SIGNAL(currentIndexChanged(int)), ui.pageCampaign->CBTeam, SLOT(setCurrentIndex(int)));
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   338
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   339
    connect(ui.pageSelectWeapon->pWeapons, SIGNAL(weaponsDeleted(QString)),
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   340
             this, SLOT(DeleteWeapons(QString)));
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   341
    connect(ui.pageSelectWeapon->pWeapons, SIGNAL(weaponsAdded(QString, QString)),
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   342
             this, SLOT(AddWeapons(QString, QString)));
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   343
    connect(ui.pageSelectWeapon->pWeapons, SIGNAL(weaponsEdited(QString, QString, QString)),
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   344
             this, SLOT(EditWeapons(QString, QString, QString)));
12811
de3cbbb09915 Fix host not re-sending ammo scheme after editing an existing ammo scheme
Wuzzy <Wuzzy2@mail.ru>
parents: 12799
diff changeset
   345
    connect(ui.pageSelectWeapon->pWeapons, SIGNAL(weaponsEdited(QString, QString, QString)),
de3cbbb09915 Fix host not re-sending ammo scheme after editing an existing ammo scheme
Wuzzy <Wuzzy2@mail.ru>
parents: 12799
diff changeset
   346
             ui.pageNetGame->pGameCFG, SLOT(resendAmmoData()));
1887
d68939b3f7f0 - Share model between test table and widgets
unc0rr
parents: 1885
diff changeset
   347
8318
e2c01fbf36c0 GCI2012: Beautify Network Page
dag10
parents: 8307
diff changeset
   348
    connect(ui.pageMain->BtnNetLocal, SIGNAL(clicked()), this, SLOT(GoToNet()));
e2c01fbf36c0 GCI2012: Beautify Network Page
dag10
parents: 8307
diff changeset
   349
    connect(ui.pageMain->BtnNetOfficial, SIGNAL(clicked()), this, SLOT(NetConnectOfficialServer()));
1950
09ad18a1be11 Implement two buttons
unc0rr
parents: 1925
diff changeset
   350
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 7180
diff changeset
   351
    connect(ui.pageVideos, SIGNAL(goBack()), config, SLOT(SaveVideosOptions()));
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   352
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   353
    gameSchemeModel = new GameSchemeModel(this, cfgdir->absolutePath() + "/Schemes/Game");
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   354
    ui.pageScheme->setModel(gameSchemeModel);
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   355
    ui.pageMultiplayer->gameCFG->GameSchemes->setModel(gameSchemeModel);
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   356
    ui.pageOptions->SchemesName->setModel(gameSchemeModel);
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1875
diff changeset
   357
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   358
    wBackground = new BGWidget(this);
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   359
    wBackground->setFixedSize(this->width(), this->height());
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   360
    wBackground->lower();
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   361
    wBackground->init();
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   362
    wBackground->enabled = config->isFrontendEffects();
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   363
    wBackground->startAnimation();
2012
76fff564246b TheXception's patch:
unc0rr
parents: 2010
diff changeset
   364
6477
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   365
    //Install all eventFilters :
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   366
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   367
    MouseOverFilter *filter = new MouseOverFilter();
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   368
    filter->setUi(&ui);
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   369
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   370
    QList<QWidget *> widgets;
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   371
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   372
    for (int i=0; i < ui.Pages->count(); i++)
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   373
    {
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   374
        widgets = ui.Pages->widget(i)->findChildren<QWidget *>();
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   375
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   376
        for (int i=0; i < widgets.size(); i++)
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   377
        {
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   378
            widgets.at(i)->installEventFilter(filter);
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   379
        }
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   380
    }
ad5741c252b9 GCI task: describez
Oranger
parents: 6476
diff changeset
   381
8569
62f4e903fddc Fix issue 537 (empty team created on startup)
unc0rr
parents: 8559
diff changeset
   382
    ui.Pages->setCurrentIndex(ID_PAGE_INFO);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   383
    PagesStack.push(ID_PAGE_MAIN);
8384
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 8383
diff changeset
   384
    ((AbstractPage*)ui.Pages->widget(ID_PAGE_MAIN))->triggerPageEnter();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   385
    GoBack();
13330
3f2ee2f9b51d fix/workaround for fullscreen crash in 0.9.24
alfadur
parents: 13197
diff changeset
   386
3f2ee2f9b51d fix/workaround for fullscreen crash in 0.9.24
alfadur
parents: 13197
diff changeset
   387
    connect(config, SIGNAL(frontendFullscreen(bool)), this, SLOT(onFrontendFullscreen(bool)));
3f2ee2f9b51d fix/workaround for fullscreen crash in 0.9.24
alfadur
parents: 13197
diff changeset
   388
    onFrontendFullscreen(config->isFrontendFullscreen());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   389
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   390
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1150
diff changeset
   391
void HWForm::onFrontendFullscreen(bool value)
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1150
diff changeset
   392
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   393
    if (value)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   394
        setWindowState(windowState() | Qt::WindowFullScreen);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   395
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   396
    {
12725
1a393a59a594 Fix GCC warnings: -Wimplicit-fallthrough and -Wint-in-bool-context
Wuzzy <Wuzzy2@mail.ru>
parents: 12674
diff changeset
   397
        setWindowState(windowState() & ~Qt::WindowFullScreen);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   398
    }
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1150
diff changeset
   399
}
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1150
diff changeset
   400
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   401
void HWForm::onFrontendEffects(bool value)
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   402
{
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   403
    wBackground->enabled = value;
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   404
    if (value)
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   405
        wBackground->startAnimation();
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   406
    else
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   407
        wBackground->stopAnimation();
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   408
}
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   409
4592
b1fe47b11b99 disable fix for issue 24 in order to fix issue 123, as suggested by koda
sheepluva
parents: 4576
diff changeset
   410
/*
3937
494221b5950e fix issue 24 and issue 81
koda
parents: 3932
diff changeset
   411
void HWForm::keyReleaseEvent(QKeyEvent *event)
494221b5950e fix issue 24 and issue 81
koda
parents: 3932
diff changeset
   412
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   413
  if (event->key() == Qt::Key_Escape)
3937
494221b5950e fix issue 24 and issue 81
koda
parents: 3932
diff changeset
   414
    this->GoBack();
494221b5950e fix issue 24 and issue 81
koda
parents: 3932
diff changeset
   415
}
4592
b1fe47b11b99 disable fix for issue 24 in order to fix issue 123, as suggested by koda
sheepluva
parents: 4576
diff changeset
   416
*/
3937
494221b5950e fix issue 24 and issue 81
koda
parents: 3932
diff changeset
   417
1419
8650a8f55006 Set custom palette to scrollbars
unc0rr
parents: 1418
diff changeset
   418
void HWForm::CustomizePalettes()
8650a8f55006 Set custom palette to scrollbars
unc0rr
parents: 1418
diff changeset
   419
{
12220
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   420
    // Scroll bar widget palette
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   421
    QList<QScrollBar *> allSBars = findChildren<QScrollBar *>();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   422
    QPalette pal = palette();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   423
    pal.setColor(QPalette::WindowText, QColor(0xff, 0xcc, 0x00));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   424
    pal.setColor(QPalette::Button, QColor(0x00, 0x35, 0x1d));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   425
    pal.setColor(QPalette::Base, QColor(0x00, 0x35, 0x1d));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   426
    pal.setColor(QPalette::Window, QColor(0x00, 0x00, 0x00));
1419
8650a8f55006 Set custom palette to scrollbars
unc0rr
parents: 1418
diff changeset
   427
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   428
    for (int i = 0; i < allSBars.size(); ++i)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   429
        allSBars.at(i)->setPalette(pal);
12220
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   430
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   431
    // Set default hyperlink color
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   432
    QPalette appPal = qApp->palette();
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   433
    appPal.setColor(QPalette::Link, QColor(0xff, 0xff, 0x6e));
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   434
    qApp->setPalette(appPal);
1419
8650a8f55006 Set custom palette to scrollbars
unc0rr
parents: 1418
diff changeset
   435
}
8650a8f55006 Set custom palette to scrollbars
unc0rr
parents: 1418
diff changeset
   436
695
34a93d123712 update weapons combo fixed
displacer
parents: 694
diff changeset
   437
void HWForm::UpdateWeapons()
34a93d123712 update weapons combo fixed
displacer
parents: 694
diff changeset
   438
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   439
    QVector<QComboBox*> combos;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   440
    combos.push_back(ui.pageOptions->WeaponsName);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   441
    combos.push_back(ui.pageMultiplayer->gameCFG->WeaponsName);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   442
    combos.push_back(ui.pageNetGame->pGameCFG->WeaponsName);
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
   443
    combos.push_back(ui.pageSelectWeapon->selectWeaponSet);
696
d6f32ed6edc8 working multiplayer weapons combo
displacer
parents: 695
diff changeset
   444
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   445
    QStringList names = ui.pageSelectWeapon->pWeapons->getWeaponNames();
1517
27caa8c6e73a Store ammo info directly in combobox
unc0rr
parents: 1512
diff changeset
   446
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   447
    for(QVector<QComboBox*>::iterator it = combos.begin(); it != combos.end(); ++it)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   448
    {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   449
        (*it)->clear();
1517
27caa8c6e73a Store ammo info directly in combobox
unc0rr
parents: 1512
diff changeset
   450
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   451
        for(int i = 0; i < names.size(); ++i)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   452
            (*it)->addItem(names[i], ui.pageSelectWeapon->pWeapons->getWeaponsString(names[i]));
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   453
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   454
        int pos = (*it)->findText("Default");
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   455
        if (pos != -1)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   456
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   457
            (*it)->setCurrentIndex(pos);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   458
        }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   459
    }
695
34a93d123712 update weapons combo fixed
displacer
parents: 694
diff changeset
   460
}
34a93d123712 update weapons combo fixed
displacer
parents: 694
diff changeset
   461
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   462
void HWForm::AddWeapons(QString weaponsName, QString ammo)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   463
{
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   464
    QVector<QComboBox*> combos;
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   465
    combos.push_back(ui.pageOptions->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   466
    combos.push_back(ui.pageMultiplayer->gameCFG->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   467
    combos.push_back(ui.pageNetGame->pGameCFG->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   468
    combos.push_back(ui.pageSelectWeapon->selectWeaponSet);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   469
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   470
    QStringList names = ui.pageSelectWeapon->pWeapons->getWeaponNames();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   471
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   472
    for(QVector<QComboBox*>::iterator it = combos.begin(); it != combos.end(); ++it)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   473
    {
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   474
        (*it)->addItem(weaponsName, QVariant(ammo));
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   475
    }
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   476
    ui.pageSelectWeapon->selectWeaponSet->setCurrentIndex(ui.pageSelectWeapon->selectWeaponSet->count()-1);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   477
}
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   478
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   479
void HWForm::DeleteWeapons(QString weaponsName)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   480
{
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   481
    QVector<QComboBox*> combos;
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   482
    combos.push_back(ui.pageOptions->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   483
    combos.push_back(ui.pageMultiplayer->gameCFG->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   484
    combos.push_back(ui.pageNetGame->pGameCFG->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   485
    combos.push_back(ui.pageSelectWeapon->selectWeaponSet);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   486
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   487
    QStringList names = ui.pageSelectWeapon->pWeapons->getWeaponNames();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   488
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   489
    for(QVector<QComboBox*>::iterator it = combos.begin(); it != combos.end(); ++it)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   490
    {
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   491
        int pos = (*it)->findText(weaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   492
        if (pos != -1)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   493
        {
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   494
            (*it)->removeItem(pos);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   495
        }
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   496
    }
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   497
    ui.pageSelectWeapon->pWeapons->deletionDone();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   498
}
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   499
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   500
void HWForm::EditWeapons(QString oldWeaponsName, QString newWeaponsName, QString ammo)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   501
{
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   502
    QVector<QComboBox*> combos;
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   503
    combos.push_back(ui.pageOptions->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   504
    combos.push_back(ui.pageMultiplayer->gameCFG->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   505
    combos.push_back(ui.pageNetGame->pGameCFG->WeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   506
    combos.push_back(ui.pageSelectWeapon->selectWeaponSet);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   507
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   508
    QStringList names = ui.pageSelectWeapon->pWeapons->getWeaponNames();
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   509
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   510
    for(QVector<QComboBox*>::iterator it = combos.begin(); it != combos.end(); ++it)
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   511
    {
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   512
        int pos = (*it)->findText(oldWeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   513
        (*it)->setItemText(pos, newWeaponsName);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   514
        (*it)->setItemData(pos, ammo);
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   515
    }
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   516
}
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   517
8140
a098374b847b A bit of refactoring
unc0rr
parents: 8136
diff changeset
   518
void HWForm::UpdateTeamsLists()
245
4f6b53b7a567 Make teams config file name be team name
unc0rr
parents: 233
diff changeset
   519
{
8140
a098374b847b A bit of refactoring
unc0rr
parents: 8136
diff changeset
   520
    QStringList teamslist = config->GetTeamsList();
245
4f6b53b7a567 Make teams config file name be team name
unc0rr
parents: 233
diff changeset
   521
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   522
    if(teamslist.empty())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   523
    {
14740
7b2bd37d7503 Fix inconsistencies in guest nick name generation
Wuzzy <Wuzzy2@mail.ru>
parents: 14677
diff changeset
   524
        QString currentNickName = config->value("net/nick", config->getRandomNick()).toString();
8136
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   525
        QString teamName;
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   526
        int firstHumanTeam = 1;
12635
5ba8361acabc fine. I will
nemo
parents: 12634
diff changeset
   527
        int lastHumanTeam = 2;
8140
a098374b847b A bit of refactoring
unc0rr
parents: 8136
diff changeset
   528
12241
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   529
        // Default team
8140
a098374b847b A bit of refactoring
unc0rr
parents: 8136
diff changeset
   530
        if (currentNickName.isEmpty())
8136
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   531
        {
12241
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   532
            teamName = tr("Team 1");
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   533
            firstHumanTeam++;
8136
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   534
        }
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   535
        else
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   536
        {
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   537
            teamName = tr("%1's Team").arg(currentNickName);
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   538
            lastHumanTeam--;
8136
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   539
        }
8140
a098374b847b A bit of refactoring
unc0rr
parents: 8136
diff changeset
   540
8136
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   541
        HWTeam defaultTeam(teamName);
12296
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   542
        // Randomize fort and grave for greater variety by default.
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   543
        // But we exclude DLC graves and forts to not have desyncing teams by default
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   544
        // TODO: Remove DLC filtering when it isn't neccessary anymore
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   545
        HWNamegen::teamRandomGrave(defaultTeam, false);
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   546
        HWNamegen::teamRandomFort(defaultTeam, false);
6015
daffc14a518a cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents: 6009
diff changeset
   547
        defaultTeam.saveToFile();
8136
c2196b1dccb4 GCI: use player's name for the default team
zero579911
parents: 8098
diff changeset
   548
        teamslist.push_back(teamName);
12241
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   549
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   550
        // Add additional default teams
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   551
12634
91e55ce06ffc Reduce number of initial teams: 4 human, 2 AI teams
Wuzzy <almikes@aol.com>
parents: 12633
diff changeset
   552
        // More human teams to allow local multiplayer instantly
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   553
        for(int i=firstHumanTeam; i<=lastHumanTeam; i++)
12241
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   554
        {
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   555
            //: Default team name
12241
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   556
            teamName = tr("Team %1").arg(i);
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   557
            HWTeam numberTeam(teamName);
12296
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   558
            HWNamegen::teamRandomGrave(numberTeam, false);
62975c0a89c6 Only select from default graves and forts for new themes
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   559
            HWNamegen::teamRandomFort(numberTeam, false);
12241
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   560
            numberTeam.saveToFile();
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   561
            teamslist.push_back(teamName);
0b5aa545e058 Add 4 teams on first start of Hedgewars
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   562
        }
12634
91e55ce06ffc Reduce number of initial teams: 4 human, 2 AI teams
Wuzzy <almikes@aol.com>
parents: 12633
diff changeset
   563
        // Add 2 default CPU teams
12635
5ba8361acabc fine. I will
nemo
parents: 12634
diff changeset
   564
        for(int i=1; i<=5; i=i+2)
12633
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   565
        {
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   566
            //: Default computer team name
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   567
            teamName = tr("Computer %1").arg(i);
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   568
            HWTeam numberTeam(teamName);
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   569
            HWNamegen::teamRandomGrave(numberTeam, false);
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   570
            HWNamegen::teamRandomFort(numberTeam, false);
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   571
            numberTeam.setDifficulty(6-i);
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   572
            numberTeam.saveToFile();
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   573
            teamslist.push_back(teamName);
a791a08062d6 Create 5 human teams + 5 AI teams on first start
Wuzzy <almikes@aol.com>
parents: 12305
diff changeset
   574
        }
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   575
    }
245
4f6b53b7a567 Make teams config file name be team name
unc0rr
parents: 233
diff changeset
   576
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   577
    ui.pageOptions->CBTeamName->clear();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   578
    ui.pageOptions->CBTeamName->addItems(teamslist);
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3757
diff changeset
   579
    ui.pageCampaign->CBTeam->clear();
14462
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13846
diff changeset
   580
    ui.pageTraining->CBTeam->clear();
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13846
diff changeset
   581
    /* Only show human teams in campaign/training page */
14646
e3e6b0c6543f Frontend: Gray out campaign/training start buttons when no human team available
Wuzzy <Wuzzy2@mail.ru>
parents: 14602
diff changeset
   582
    bool playable = false;
11959
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   583
    for(int i=0; i<teamslist.length(); i++)
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   584
    {
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   585
        HWTeam testTeam = HWTeam(teamslist[i]);
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   586
        testTeam.loadFromFile();
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   587
        if(testTeam.difficulty() == 0)
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   588
        {
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   589
            ui.pageCampaign->CBTeam->addItem(teamslist[i]);
14462
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13846
diff changeset
   590
            ui.pageTraining->CBTeam->addItem(teamslist[i]);
14646
e3e6b0c6543f Frontend: Gray out campaign/training start buttons when no human team available
Wuzzy <Wuzzy2@mail.ru>
parents: 14602
diff changeset
   591
            playable = true;
11959
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   592
        }
3c15903256a7 Don't show AI-controlled teams in campaigns page
Wuzzy <almikes@aol.com>
parents: 11958
diff changeset
   593
    }
14646
e3e6b0c6543f Frontend: Gray out campaign/training start buttons when no human team available
Wuzzy <Wuzzy2@mail.ru>
parents: 14602
diff changeset
   594
    ui.pageCampaign->BtnStartCampaign->setEnabled(playable);
e3e6b0c6543f Frontend: Gray out campaign/training start buttons when no human team available
Wuzzy <Wuzzy2@mail.ru>
parents: 14602
diff changeset
   595
    ui.pageCampaign->btnPreview->setEnabled(playable);
e3e6b0c6543f Frontend: Gray out campaign/training start buttons when no human team available
Wuzzy <Wuzzy2@mail.ru>
parents: 14602
diff changeset
   596
    ui.pageTraining->btnStart->setEnabled(playable);
e3e6b0c6543f Frontend: Gray out campaign/training start buttons when no human team available
Wuzzy <Wuzzy2@mail.ru>
parents: 14602
diff changeset
   597
    ui.pageTraining->btnPreview->setEnabled(playable);
14462
4c743ef80b1b Add team selection in training page and basic check mark support
Wuzzy <Wuzzy2@mail.ru>
parents: 13846
diff changeset
   598
    UpdateTrainingPageTeam(0);
245
4f6b53b7a567 Make teams config file name be team name
unc0rr
parents: 233
diff changeset
   599
}
4f6b53b7a567 Make teams config file name be team name
unc0rr
parents: 233
diff changeset
   600
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   601
void HWForm::GoToNewWeapons()
694
436045756181 working save weapons to file
displacer
parents: 687
diff changeset
   602
{
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
   603
    ui.pageSelectWeapon->pWeapons->newWeaponsName();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   604
    GoToPage(ID_PAGE_SELECTWEAPON);
694
436045756181 working save weapons to file
displacer
parents: 687
diff changeset
   605
}
436045756181 working save weapons to file
displacer
parents: 687
diff changeset
   606
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   607
void HWForm::GoToEditWeapons()
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   608
{
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
   609
    ui.pageSelectWeapon->selectWeaponSet->setCurrentIndex(ui.pageOptions->WeaponsName->currentIndex());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   610
    GoToPage(ID_PAGE_SELECTWEAPON);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   611
}
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   612
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   613
void HWForm::GoToWeapons(int index)
2009
91f461c218ab TheXception's patch:
unc0rr
parents: 1998
diff changeset
   614
{
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
   615
    ui.pageSelectWeapon->selectWeaponSet->setCurrentIndex(index);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   616
    GoToPage(ID_PAGE_SELECTWEAPON);
2009
91f461c218ab TheXception's patch:
unc0rr
parents: 1998
diff changeset
   617
}
91f461c218ab TheXception's patch:
unc0rr
parents: 1998
diff changeset
   618
12665
5664ec82aed7 Rework weapon scheme handling in frontend and fix a couple of bugs
Wuzzy <almikes@aol.com>
parents: 12635
diff changeset
   619
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 541
diff changeset
   620
void HWForm::GoToSaves()
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 541
diff changeset
   621
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   622
    ui.pagePlayDemo->FillFromDir(PagePlayDemo::RT_Save);
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 541
diff changeset
   623
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   624
    GoToPage(ID_PAGE_DEMOS);
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 541
diff changeset
   625
}
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 541
diff changeset
   626
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   627
void HWForm::GoToDemos()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   628
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   629
    ui.pagePlayDemo->FillFromDir(PagePlayDemo::RT_Demo);
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 541
diff changeset
   630
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   631
    GoToPage(ID_PAGE_DEMOS);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   632
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   633
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   634
void HWForm::GoToNet()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   635
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   636
    ui.pageNet->updateServersList();
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 625
diff changeset
   637
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   638
    GoToPage(ID_PAGE_NET);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   639
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   640
4410
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   641
void HWForm::GoToScheme(int index)
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   642
{
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   643
    ui.pageScheme->selectScheme->setCurrentIndex(index);
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   644
    GoToPage(ID_PAGE_SCHEME);
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   645
}
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   646
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   647
void HWForm::GoToNewScheme()
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1875
diff changeset
   648
{
4410
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   649
    ui.pageScheme->newRow();
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   650
    GoToPage(ID_PAGE_SCHEME);
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   651
}
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   652
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   653
void HWForm::GoToEditScheme()
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   654
{
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4392
diff changeset
   655
    ui.pageScheme->selectScheme->setCurrentIndex(ui.pageOptions->SchemesName->currentIndex());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   656
    GoToPage(ID_PAGE_SCHEME);
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1875
diff changeset
   657
}
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1875
diff changeset
   658
13818
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   659
void HWForm::GoToHelp()
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   660
{
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   661
    // For now just opens the Hedgewars Wiki in external browser.
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   662
    // TODO: Replace this with an offline help someday (bug 660).
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   663
    QDesktopServices::openUrl(QUrl("https://hedgewars.org/wiki"));
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   664
}
a8fd5490932f Add help button in main menu (opens Hedgewars Wiki in browser)
Wuzzy <Wuzzy2@mail.ru>
parents: 13689
diff changeset
   665
7353
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   666
void HWForm::GoToVideos()
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   667
{
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   668
    GoToPage(ID_PAGE_VIDEOS);
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   669
}
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   670
13086
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12924
diff changeset
   671
void HWForm::GoToTraining()
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12924
diff changeset
   672
{
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12924
diff changeset
   673
    GoToPage(ID_PAGE_TRAINING);
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12924
diff changeset
   674
}
8d569c7b36a2 Frontend: Lead first-time player to training page on start
Wuzzy <Wuzzy2@mail.ru>
parents: 12924
diff changeset
   675
8353
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   676
//TODO: maybe find a better place for this?
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   677
QString HWForm::stringifyPageId(quint32 id)
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   678
{
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   679
    QString pageName;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   680
    switch (id)
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   681
    {
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   682
      case ID_PAGE_SETUP_TEAM :   pageName = "PAGE_SETUP_TEAM"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   683
      case ID_PAGE_SETUP :        pageName = "PAGE_SETUP"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   684
      case ID_PAGE_MULTIPLAYER :  pageName = "PAGE_MULTIPLAYER"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   685
      case ID_PAGE_DEMOS :        pageName = "PAGE_DEMOS"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   686
      case ID_PAGE_NET :          pageName = "PAGE_NET"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   687
      case ID_PAGE_NETGAME :      pageName = "PAGE_NETGAME"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   688
      case ID_PAGE_INFO :         pageName = "PAGE_INFO"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   689
      case ID_PAGE_MAIN :         pageName = "PAGE_MAIN"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   690
      case ID_PAGE_GAMESTATS :    pageName = "PAGE_GAMESTATS"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   691
      case ID_PAGE_SINGLEPLAYER : pageName = "PAGE_SINGLEPLAYER"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   692
      case ID_PAGE_TRAINING :     pageName = "PAGE_TRAINING"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   693
      case ID_PAGE_SELECTWEAPON : pageName = "PAGE_SELECTWEAPON"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   694
      case ID_PAGE_NETSERVER :    pageName = "PAGE_NETSERVER"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   695
      case ID_PAGE_INGAME :       pageName = "PAGE_INGAME"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   696
      case ID_PAGE_ROOMSLIST :    pageName = "PAGE_ROOMSLIST"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   697
      case ID_PAGE_CONNECTING :   pageName = "PAGE_CONNECTING"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   698
      case ID_PAGE_SCHEME :       pageName = "PAGE_SCHEME"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   699
      case ID_PAGE_ADMIN :        pageName = "PAGE_ADMIN"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   700
      case ID_PAGE_CAMPAIGN :     pageName = "PAGE_CAMPAIGN"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   701
      case ID_PAGE_DRAWMAP :      pageName = "PAGE_DRAWMAP"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   702
      case ID_PAGE_DATADOWNLOAD : pageName = "PAGE_DATADOWNLOAD"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   703
      case ID_PAGE_VIDEOS :       pageName = "PAGE_VIDEOS"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   704
      case MAX_PAGE :             pageName = "MAX_PAGE"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   705
      default :                   pageName = "UNKNOWN_PAGE"; break;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   706
    }
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   707
    return pageName;
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   708
}
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   709
496
00465a8ef129 merged new team from branch
displacer
parents: 493
diff changeset
   710
void HWForm::OnPageShown(quint8 id, quint8 lastid)
311
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 307
diff changeset
   711
{
9235
1c1580c37876 issue 672, frontend less spammy
koda
parents: 9219
diff changeset
   712
#ifdef QT_DEBUG
8353
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   713
    qDebug("Leaving %s, entering %s", qPrintable(stringifyPageId(lastid)), qPrintable(stringifyPageId(id)));
9235
1c1580c37876 issue 672, frontend less spammy
koda
parents: 9219
diff changeset
   714
#endif
8977
d424c7f8b342 Change net button back on leaving main page.
nemo
parents: 8918
diff changeset
   715
    if (lastid == ID_PAGE_MAIN)
d424c7f8b342 Change net button back on leaving main page.
nemo
parents: 8918
diff changeset
   716
    {
8982
0c0141cf851a Needs to reset net button, not toggle it.
nemo
parents: 8977
diff changeset
   717
        ui.pageMain->resetNetworkChoice();
8977
d424c7f8b342 Change net button back on leaving main page.
nemo
parents: 8918
diff changeset
   718
    }
8353
c23bd7ee9a5e simplify entering/leaving pages debug
koda
parents: 8346
diff changeset
   719
8384
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 8383
diff changeset
   720
    // pageEnter and pageLeave events
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8424
diff changeset
   721
    ((AbstractPage*)ui.Pages->widget(lastid))->triggerPageLeave();
8384
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 8383
diff changeset
   722
    ((AbstractPage*)ui.Pages->widget(id))->triggerPageEnter();
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 8383
diff changeset
   723
5999
dad168522e3b display a message when network is down or server is not reachable, nemo also made the page refresh at display time
koda
parents: 5907
diff changeset
   724
    if (id == ID_PAGE_DATADOWNLOAD)
dad168522e3b display a message when network is down or server is not reachable, nemo also made the page refresh at display time
koda
parents: 5907
diff changeset
   725
    {
dad168522e3b display a message when network is down or server is not reachable, nemo also made the page refresh at display time
koda
parents: 5907
diff changeset
   726
        ui.pageDataDownload->fetchList();
dad168522e3b display a message when network is down or server is not reachable, nemo also made the page refresh at display time
koda
parents: 5907
diff changeset
   727
    }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   728
    if (id == ID_PAGE_DRAWMAP)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   729
    {
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   730
        DrawMapScene * scene;
4535
301df2c84b97 The Fix
unc0rr
parents: 4525
diff changeset
   731
        if(lastid == ID_PAGE_MULTIPLAYER)
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   732
            scene = ui.pageMultiplayer->gameCFG->pMapContainer->getDrawMapScene();
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   733
        else
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   734
            scene = ui.pageNetGame->pGameCFG->pMapContainer->getDrawMapScene();
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   735
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   736
        ui.pageDrawMap->drawMapWidget->setScene(scene);
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   737
    }
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   738
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   739
    if (lastid == ID_PAGE_DRAWMAP)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   740
    {
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   741
        if (id == ID_PAGE_MULTIPLAYER)
4525
0a81be113e21 Try to send drawn map data to net server
unc0rr
parents: 4524
diff changeset
   742
            ui.pageMultiplayer->gameCFG->pMapContainer->mapDrawingFinished();
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   743
        else
4525
0a81be113e21 Try to send drawn map data to net server
unc0rr
parents: 4524
diff changeset
   744
            ui.pageNetGame->pGameCFG->pMapContainer->mapDrawingFinished();
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   745
    }
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4518
diff changeset
   746
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   747
    if (id == ID_PAGE_ROOMSLIST)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   748
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   749
        if (hwnet && game && game->gameState == gsStarted)   // abnormal exit - kick or room destruction - send kills.
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   750
        {
6190
1db2486e45f4 potential fix for issue #217 (SigSegV while in game room in KillAllTeams - team list change?)
sheepluva
parents: 6180
diff changeset
   751
            game->netSuspend = true;
6211
ee9465c0ea82 move (prematurely) finishing game by removing all teams into engine since that's where it should happen
sheepluva
parents: 6205
diff changeset
   752
            ui.pageRoomsList->displayWarning(tr("Game aborted"));
ee9465c0ea82 move (prematurely) finishing game by removing all teams into engine since that's where it should happen
sheepluva
parents: 6205
diff changeset
   753
            game->abort();
6190
1db2486e45f4 potential fix for issue #217 (SigSegV while in game room in KillAllTeams - team list change?)
sheepluva
parents: 6180
diff changeset
   754
        }
1db2486e45f4 potential fix for issue #217 (SigSegV while in game room in KillAllTeams - team list change?)
sheepluva
parents: 6180
diff changeset
   755
    }
1db2486e45f4 potential fix for issue #217 (SigSegV while in game room in KillAllTeams - team list change?)
sheepluva
parents: 6180
diff changeset
   756
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   757
    if (id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETGAME)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   758
    {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   759
        QStringList tmNames = config->GetTeamsList();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   760
        TeamSelWidget* curTeamSelWidget;
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
   761
        ui.pageOptions->setTeamOptionsEnabled(false);
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   762
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   763
        if (id == ID_PAGE_MULTIPLAYER)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   764
        {
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   765
            curTeamSelWidget = ui.pageMultiplayer->teamsSelect;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   766
        }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   767
        else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   768
        {
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   769
            curTeamSelWidget = ui.pageNetGame->pNetTeamsWidget;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   770
        }
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   771
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   772
        QList<HWTeam> teamsList;
9393
094a176dd623 Take care of some warnings from issue 688
unc0rr
parents: 9306
diff changeset
   773
        for (QStringList::iterator it = tmNames.begin(); it != tmNames.end(); ++it)
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   774
        {
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   775
            HWTeam team(*it);
6015
daffc14a518a cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents: 6009
diff changeset
   776
            team.loadFromFile();
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   777
            teamsList.push_back(team);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   778
        }
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   779
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   780
        if (lastid == ID_PAGE_SETUP || lastid == ID_PAGE_DRAWMAP)   // _TEAM
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   781
        {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   782
            if (editedTeam)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   783
            {
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   784
                curTeamSelWidget->addTeam(*editedTeam);
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
   785
            }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   786
        }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   787
        else if (lastid != ID_PAGE_GAMESTATS
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   788
                 && lastid != ID_PAGE_INGAME
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   789
                 && lastid != ID_PAGE_SCHEME
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   790
                 && lastid != ID_PAGE_SELECTWEAPON)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   791
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   792
            curTeamSelWidget->resetPlayingTeams(teamsList);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   793
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   794
    }
2845
19db164dd20d Frontend:
smxx
parents: 2822
diff changeset
   795
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   796
    if (id == ID_PAGE_GAMESTATS)
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   797
    {
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   798
        switch(lastGameType) {
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   799
        case gtLocal:
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   800
        case gtQLocal:
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   801
        case gtTraining:
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   802
        case gtCampaign:
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   803
            ui.pageGameStats->restartBtnVisible(true);
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   804
            break;
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   805
        default:
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   806
            ui.pageGameStats->restartBtnVisible(false);
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   807
            break;
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   808
        }
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   809
    }
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8893
diff changeset
   810
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   811
    if (id == ID_PAGE_MAIN)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
   812
    {
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
   813
        ui.pageOptions->setTeamOptionsEnabled(true);
3159
e5eff81d7635 Frontend:
smxx
parents: 3019
diff changeset
   814
    }
311
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 307
diff changeset
   815
}
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 307
diff changeset
   816
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   817
void HWForm::GoToPage(int id)
289
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 271
diff changeset
   818
{
9393
094a176dd623 Take care of some warnings from issue 688
unc0rr
parents: 9306
diff changeset
   819
    //bool stopAnim = false;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   820
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   821
    int lastid = ui.Pages->currentIndex();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   822
    PagesStack.push(ui.Pages->currentIndex());
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   823
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   824
    OnPageShown(id, lastid);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   825
    ui.Pages->setCurrentIndex(id);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   826
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   827
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   828
   /* if (id == ID_PAGE_DRAWMAP || id == ID_PAGE_GAMESTATS)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   829
        stopAnim = true;
8098
4efee370e2de - Fix saving .ini files
unc0rr
parents: 8057
diff changeset
   830
    This were disabled due to broken flake animations.  I believe the more general problems w/ opacity that forced its disable makes blocking these
4efee370e2de - Fix saving .ini files
unc0rr
parents: 8057
diff changeset
   831
    unnecessary.
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   832
   */
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   833
8384
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 8383
diff changeset
   834
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
   835
#if (QT_VERSION >= 0x040600)
9393
094a176dd623 Take care of some warnings from issue 688
unc0rr
parents: 9306
diff changeset
   836
    //if (!stopAnim)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   837
    {
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   838
        /**Start animation :**/
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   839
        int coeff = 1;
6630
f8bbfa9a1a36 Disable opacity across the board. It is screwed up in OSX and apparently also Linux. Bad artifacts and overall performance.
nemo
parents: 6616
diff changeset
   840
#ifdef false
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   841
        coeff = 2;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   842
        QGraphicsOpacityEffect *effectNew = new QGraphicsOpacityEffect(ui.Pages->widget(id));
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   843
        ui.Pages->widget(id)->setGraphicsEffect(effectNew);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   844
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   845
        QGraphicsOpacityEffect *effectLast = new QGraphicsOpacityEffect(ui.Pages->widget(lastid));
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   846
        ui.Pages->widget(lastid)->setGraphicsEffect(effectLast);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   847
#endif
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   848
        // no effects, means 0 effect duration :D
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   849
        int duration = config->isFrontendEffects() ? 500 : 0;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   850
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   851
        //New page animation
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   852
        animationNewSlide = new QPropertyAnimation(ui.Pages->widget(id), "pos");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   853
        animationNewSlide->setDuration(duration);
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   854
        animationNewSlide->setStartValue(QPoint(width()/coeff, 0));
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   855
        animationNewSlide->setEndValue(QPoint(0, 0));
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   856
        animationNewSlide->setEasingCurve(QEasingCurve::OutExpo);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   857
6630
f8bbfa9a1a36 Disable opacity across the board. It is screwed up in OSX and apparently also Linux. Bad artifacts and overall performance.
nemo
parents: 6616
diff changeset
   858
#ifdef false
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   859
        animationNewOpacity = new QPropertyAnimation(effectNew, "opacity");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   860
        animationNewOpacity->setDuration(duration);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   861
        animationNewOpacity->setStartValue(0.01);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   862
        animationNewOpacity->setEndValue(1);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   863
        animationNewOpacity->setEasingCurve(QEasingCurve::OutExpo);
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   864
#endif
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   865
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   866
        //Last page animation
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   867
        ui.Pages->widget(lastid)->setHidden(false);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   868
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   869
        animationOldSlide = new QPropertyAnimation(ui.Pages->widget(lastid), "pos");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   870
        animationOldSlide->setDuration(duration);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   871
        animationOldSlide->setStartValue(QPoint(0, 0));
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   872
        animationOldSlide->setEndValue(QPoint(-width()/coeff, 0));
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   873
        animationOldSlide->setEasingCurve(QEasingCurve::OutExpo);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   874
6630
f8bbfa9a1a36 Disable opacity across the board. It is screwed up in OSX and apparently also Linux. Bad artifacts and overall performance.
nemo
parents: 6616
diff changeset
   875
#ifdef false
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   876
        animationOldOpacity = new QPropertyAnimation(effectLast, "opacity");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   877
        animationOldOpacity->setDuration(duration);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   878
        animationOldOpacity->setStartValue(1);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   879
        animationOldOpacity->setEndValue(0.01);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   880
        animationOldOpacity->setEasingCurve(QEasingCurve::OutExpo);
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   881
#endif
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   882
7860
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
   883
        // let's hide the old slide after its animation has finished
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
   884
        connect(animationOldSlide, SIGNAL(finished()), ui.Pages->widget(lastid), SLOT(hide()));
7826
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
   885
7860
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
   886
        // start animations
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
   887
        animationOldSlide->start(QAbstractAnimation::DeleteWhenStopped);
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
   888
        animationNewSlide->start(QAbstractAnimation::DeleteWhenStopped);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   889
8098
4efee370e2de - Fix saving .ini files
unc0rr
parents: 8057
diff changeset
   890
        /* this is for the situation when the animation below is interrupted by a new animation.  For some reason, finished is not being fired */
4efee370e2de - Fix saving .ini files
unc0rr
parents: 8057
diff changeset
   891
        for(int i=0;i<MAX_PAGE;i++) if (i!=id && i!=lastid) ui.Pages->widget(i)->hide();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   892
    }
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
   893
#endif
289
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 271
diff changeset
   894
}
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 271
diff changeset
   895
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 271
diff changeset
   896
void HWForm::GoBack()
604c4a779c20 Stacked walking trough pages
unc0rr
parents: 271
diff changeset
   897
{
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   898
    bool stopAnim = false;
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
   899
    int curid = ui.Pages->currentIndex();
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
   900
    if (curid == ID_PAGE_MAIN)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   901
    {
8384
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 8383
diff changeset
   902
        ((AbstractPage*)ui.Pages->widget(ID_PAGE_MAIN))->triggerPageLeave();
7353
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   903
        if (!ui.pageVideos->tryQuit(this))
0e55228e1303 When there are videos that are being encoded and user tries to quit display dialog with warning.
Stepan777 <stepik-777@mail.ru>
parents: 7347
diff changeset
   904
            return;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   905
        stopAnim = true;
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
   906
        exit();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   907
    }
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
   908
4509
816a0bff5019 Use QSignalMapper instead of GoToPage*() functions (not all calls converted yet)
unc0rr
parents: 4433
diff changeset
   909
    int id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   910
    ui.Pages->setCurrentIndex(id);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   911
    OnPageShown(id, curid);
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   912
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   913
    if (id == ID_PAGE_CONNECTING)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   914
    {
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   915
        stopAnim = true;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   916
        GoBack();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   917
    }
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   918
    if (id == ID_PAGE_NETSERVER)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   919
    {
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   920
        stopAnim = true;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   921
        GoBack();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   922
    }
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   923
    if ((!hwnet) && (id == ID_PAGE_ROOMSLIST))
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   924
    {
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   925
        stopAnim = true;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   926
        GoBack();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   927
    }
7004
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   928
    /*if (curid == ID_PAGE_DRAWMAP)
45d43f372107 Workaround for stuck pages.
nemo
parents: 6960
diff changeset
   929
        stopAnim = true; */
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
   930
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   931
    if ((!hwnet) || (!hwnet->isInRoom()))
9393
094a176dd623 Take care of some warnings from issue 688
unc0rr
parents: 9306
diff changeset
   932
        if (id == ID_PAGE_NETGAME)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   933
        {
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   934
            stopAnim = true;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   935
            GoBack();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   936
        }
1672
6a451649558c Properly handle room deletion in respect of pages switching
unc0rr
parents: 1671
diff changeset
   937
14470
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   938
    if (curid == ID_PAGE_CAMPAIGN)
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   939
        config->setValue("frontend/lastSingleplayerTeam", ui.pageCampaign->CBTeam->currentText());
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   940
    if (curid == ID_PAGE_TRAINING)
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   941
        config->setValue("frontend/lastSingleplayerTeam", ui.pageTraining->CBTeam->currentText());
6ab8335fe0a6 Save and restore last campaign/training team selection in settings.ini
Wuzzy <Wuzzy2@mail.ru>
parents: 14469
diff changeset
   942
5147
a2ae7702bb75 Add 'Cancel connection' button. Fixes issue #162
unc0rr
parents: 5140
diff changeset
   943
    if (curid == ID_PAGE_ROOMSLIST || curid == ID_PAGE_CONNECTING) NetDisconnect();
6030
2577028cba07 fix typo that sneaked in by pressing ctrl+z one time too much I guess :D
sheepluva
parents: 6026
diff changeset
   944
    if (curid == ID_PAGE_NETGAME && hwnet && hwnet->isInRoom()) hwnet->partRoom();
4432
81f52117085d disable last commit w/ comment
nemo
parents: 4431
diff changeset
   945
    // need to work on this, can cause invalid state for admin quit trying to prevent bad state message on kick
81f52117085d disable last commit w/ comment
nemo
parents: 4431
diff changeset
   946
    //if (curid == ID_PAGE_NETGAME && (!game || game->gameState != gsStarted)) hwnet->partRoom();
1902
aeadb10c2d77 Add delete button and scheme selection combobox to scheme edit page
unc0rr
parents: 1899
diff changeset
   947
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
   948
    if (curid == ID_PAGE_SCHEME)
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
   949
        gameSchemeModel->Save();
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   950
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
   951
#if (QT_VERSION >= 0x040600)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   952
    /**Start animation :**/
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   953
    if (curid != 0 && !stopAnim)
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   954
    {
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   955
        int coeff = 1;
6630
f8bbfa9a1a36 Disable opacity across the board. It is screwed up in OSX and apparently also Linux. Bad artifacts and overall performance.
nemo
parents: 6616
diff changeset
   956
#ifdef false
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   957
        coeff = 2;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   958
        QGraphicsOpacityEffect *effectNew = new QGraphicsOpacityEffect(ui.Pages->widget(id));
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   959
        effectNew->setOpacity(1);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   960
        ui.Pages->widget(id)->setGraphicsEffect(effectNew);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   961
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   962
        QGraphicsOpacityEffect *effectLast = new QGraphicsOpacityEffect(ui.Pages->widget(curid));
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   963
        ui.Pages->widget(curid)->setGraphicsEffect(effectLast);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   964
#endif
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   965
        // no effects, means 0 effect duration :D
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   966
        int duration = config->isFrontendEffects() ? 500 : 0;
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   967
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   968
        //Last page animation
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   969
        animationOldSlide = new QPropertyAnimation(ui.Pages->widget(id), "pos");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   970
        animationOldSlide->setDuration(duration);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   971
        animationOldSlide->setStartValue(QPoint(-width()/coeff, 0));
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   972
        animationOldSlide->setEndValue(QPoint(0, 0));
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   973
        animationOldSlide->setEasingCurve(QEasingCurve::OutExpo);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   974
6630
f8bbfa9a1a36 Disable opacity across the board. It is screwed up in OSX and apparently also Linux. Bad artifacts and overall performance.
nemo
parents: 6616
diff changeset
   975
#ifdef false
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   976
        animationOldOpacity = new QPropertyAnimation(effectLast, "opacity");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   977
        animationOldOpacity->setDuration(duration);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   978
        animationOldOpacity->setStartValue(1);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   979
        animationOldOpacity->setEndValue(0.01);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   980
        animationOldOpacity->setEasingCurve(QEasingCurve::OutExpo);
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   981
#endif
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   982
        //New page animation
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   983
        ui.Pages->widget(curid)->setHidden(false);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   984
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   985
        animationNewSlide = new QPropertyAnimation(ui.Pages->widget(curid), "pos");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   986
        animationNewSlide->setDuration(duration);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   987
        animationNewSlide->setStartValue(QPoint(0, 0));
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   988
        animationNewSlide->setEndValue(QPoint(width()/coeff, 0));
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   989
        animationNewSlide->setEasingCurve(QEasingCurve::OutExpo);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   990
6630
f8bbfa9a1a36 Disable opacity across the board. It is screwed up in OSX and apparently also Linux. Bad artifacts and overall performance.
nemo
parents: 6616
diff changeset
   991
#ifdef false
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   992
        animationNewOpacity = new QPropertyAnimation(effectNew, "opacity");
6574
ec059b55aa72 GCI task: stars
bovi
parents: 6572
diff changeset
   993
        animationNewOpacity->setDuration(duration);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   994
        animationNewOpacity->setStartValue(0.01);
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
   995
        animationNewOpacity->setEndValue(1);
6440
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   996
        animationNewOpacity->setEasingCurve(QEasingCurve::OutExpo);
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   997
#endif
1fa9dc94c93f disable opacity effect for non-linux as it is working only there, fix a glitch that would print the page for a frame and then animate it from another position, change the animation curve to something a little more speedy
koda
parents: 6428
diff changeset
   998
7860
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
   999
        // let's hide the old slide after its animation has finished
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
  1000
        connect(animationNewSlide, SIGNAL(finished()), ui.Pages->widget(curid), SLOT(hide()));
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
  1001
7860
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
  1002
        // start animations
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
  1003
        animationOldSlide->start(QAbstractAnimation::DeleteWhenStopped);
a90936219ffa let animation objects delete themselves after they are not being used anymore
sheepluva
parents: 7842
diff changeset
  1004
        animationNewSlide->start(QAbstractAnimation::DeleteWhenStopped);
6428
2d2b5e3c59a7 eyecandy
Oranger
parents: 6227
diff changeset
  1005
    }
6604
9cc612a24b43 this should lower compatibility with qt4.5 again, but i have no way to test it
koda
parents: 6574
diff changeset
  1006
#endif
7826
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1007
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1008
    if (stopAnim)
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1009
        ui.Pages->widget(curid)->hide();
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1010
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1011
// TODO the whole pages shown and effects stuff should be moved
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1012
// out of hwform.cpp and into a subclass of QStackedLayout
9f529722d61e fix for the root cause of issue 434 (previous pages being visible in the background)
sheepluva
parents: 7824
diff changeset
  1013
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1014
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1015
5651
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
  1016
void HWForm::OpenSnapshotFolder()
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
  1017
{
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
  1018
    QString path = QDir::toNativeSeparators(cfgdir->absolutePath() + "/Screenshots");
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
  1019
    QDesktopServices::openUrl(QUrl("file:///" + path));
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
  1020
}
a7de68f4f87f allow accessing the snapshot folder from the about page in the frontend (button could use a nicer icon)
koda
parents: 5567
diff changeset
  1021
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1022
void HWForm::btnExitPressed()
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1023
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1024
    eggTimer.start();
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1025
}
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1026
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
  1027
void HWForm::exit()
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1028
{
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
  1029
//   if (eggTimer.elapsed() < 3000){
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
  1030
#ifdef __APPLE__
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1031
    panel->showInstallController();
2400
2422ea85d100 added a utility that warns the user to install hedgewars when it's run from the diskimage
koda
parents: 2399
diff changeset
  1032
#endif
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1033
    close();
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6036
diff changeset
  1034
// TODO reactivate egg
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1035
    /*    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1036
        else
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1037
        {
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1038
            QPushButton * btn = findChild<QPushButton *>("imageButt");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1039
            if (btn)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1040
            {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1041
                btn->setIcon(QIcon(":/res/bonus.png"));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1042
            }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1043
        } */
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1044
}
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 502
diff changeset
  1045
535
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 533
diff changeset
  1046
void HWForm::IntermediateSetup()
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 533
diff changeset
  1047
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1048
    quint8 id=ui.Pages->currentIndex();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1049
    TeamSelWidget* curTeamSelWidget;
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
  1050
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1051
    if(id == ID_PAGE_MULTIPLAYER)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1052
    {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1053
        curTeamSelWidget = ui.pageMultiplayer->teamsSelect;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1054
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1055
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1056
    {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1057
        curTeamSelWidget = ui.pageNetGame->pNetTeamsWidget;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1058
    }
2377
f3fab2b09e0c And in frontend
nemo
parents: 2368
diff changeset
  1059
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1060
    QStringList tmnames;
5772
c09c50efe8b5 Replace iterators with simple declarative foreach (not tested if it works)
unc0rr
parents: 5763
diff changeset
  1061
5773
c277657854a2 Some renaming
unc0rr
parents: 5772
diff changeset
  1062
    foreach(HWTeam team, curTeamSelWidget->getNotPlayingTeams())
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1063
    tmnames += team.name();
5140
932307228d05 Change a few iterations over list to what is apparently a modification safe syntax, may fix issue #208 and #217 - needs testing of course.
nemo
parents: 5126
diff changeset
  1064
3757
ad2f669c8435 Frontend:
smaxx
parents: 3697
diff changeset
  1065
    //UpdateTeamsLists(&tmnames); // FIXME: still need more work if teamname is updated while configuring
ad2f669c8435 Frontend:
smaxx
parents: 3697
diff changeset
  1066
    UpdateTeamsLists();
535
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 533
diff changeset
  1067
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1068
    GoToPage(ID_PAGE_SETUP);
535
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 533
diff changeset
  1069
}
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 533
diff changeset
  1070
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1071
void HWForm::NewTeam()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1072
{
12667
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1073
    QString teamName = QLineEdit::tr("unnamed");
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1074
    QStringList teamslist = config->GetTeamsList();
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1075
    if(teamslist.contains(teamName))
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1076
    {
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1077
        //name already used -> look for an appropriate name:
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1078
        int i=2;
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1079
        while(teamslist.contains(teamName = QLineEdit::tr("unnamed (%1)").arg(i++)));
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1080
    }
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1081
2e0a38566178 Make sure new teams start with an unique name
Wuzzy <almikes@aol.com>
parents: 12665
diff changeset
  1082
    ui.pageEditTeam->createTeam(teamName, playerHash);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1083
    UpdateTeamsLists();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1084
    GoToPage(ID_PAGE_SETUP_TEAM);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1085
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1086
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1087
void HWForm::EditTeam(const QString & teamName)
3159
e5eff81d7635 Frontend:
smxx
parents: 3019
diff changeset
  1088
{
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1089
    ui.pageEditTeam->editTeam(teamName, playerHash);
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1090
    GoToPage(ID_PAGE_SETUP_TEAM);
3159
e5eff81d7635 Frontend:
smxx
parents: 3019
diff changeset
  1091
}
e5eff81d7635 Frontend:
smxx
parents: 3019
diff changeset
  1092
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1093
void HWForm::AfterTeamEdit()
1840
4747f0232b88 ttsmj2's random teams patch
unc0rr
parents: 1828
diff changeset
  1094
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1095
    UpdateTeamsLists();
7551
c212247065e3 GoBack() here is not needed anymore
unc0rr
parents: 7313
diff changeset
  1096
    //GoBack();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1097
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1098
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1099
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
  1100
void HWForm::DeleteTeam(const QString & teamName)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1101
{
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 8328
diff changeset
  1102
    ui.pageEditTeam->deleteTeam(teamName);
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 8328
diff changeset
  1103
    UpdateTeamsLists();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1104
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1105
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1106
void HWForm::DeleteScheme()
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1107
{
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1108
    ui.pageScheme->selectScheme->setCurrentIndex(ui.pageOptions->SchemesName->currentIndex());
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
  1109
    if (ui.pageOptions->SchemesName->currentIndex() < gameSchemeModel->numberOfDefaultSchemes)
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1110
    {
8383
b557c73a7593 GCI2012: Abstract Hedgewars Dialogs
dag10
parents: 8380
diff changeset
  1111
        MessageDialog::ShowErrorMessage(QMessageBox::tr("Cannot delete default scheme '%1'!").arg(ui.pageOptions->SchemesName->currentText()), this);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1112
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1113
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1114
    {
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1115
        ui.pageScheme->deleteRow();
13197
0bc5f618ca7c Rename the misleadingly-named AmmoSchemeModel to GameSchemeModel
Wuzzy <Wuzzy2@mail.ru>
parents: 13086
diff changeset
  1116
        gameSchemeModel->Save();
4416
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1117
    }
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1118
}
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1119
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1120
void HWForm::DeleteWeaponSet()
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1121
{
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1122
    ui.pageSelectWeapon->selectWeaponSet->setCurrentIndex(ui.pageOptions->WeaponsName->currentIndex());
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1123
    ui.pageSelectWeapon->pWeapons->deleteWeaponsName();
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1124
}
29d2d1548387 adding a combobox to weapon editor as scheme editor, added a few notices for deleting and some buttons in this area.
Henek
parents: 4410
diff changeset
  1125
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1126
void HWForm::SimpleGame()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1127
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1128
    CreateGame(0, 0, *cDefaultAmmoStore);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1129
    game->StartQuick();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1130
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1131
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1132
void HWForm::PlayDemo()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1133
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1134
    QListWidgetItem * curritem = ui.pagePlayDemo->DemosList->currentItem();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1135
    if (!curritem)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1136
    {
8383
b557c73a7593 GCI2012: Abstract Hedgewars Dialogs
dag10
parents: 8380
diff changeset
  1137
        MessageDialog::ShowErrorMessage(QMessageBox::tr("Please select a record from the list"), this);
5252
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
  1138
        return;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1139
    }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2874
diff changeset
  1140
    CreateGame(0, 0, 0);
5865
35387d27f73a Save demo when loaded from save game finishes
unc0rr
parents: 5849
diff changeset
  1141
    game->PlayDemo(curritem->data(Qt::UserRole).toString(), ui.pagePlayDemo->isSave());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1142
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
  1143
5252
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
  1144
void HWForm::PlayDemoQuick(const QString & demofilename)
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
  1145
{
5255
947025eeb5dc under osx don't load a file in case a game is already running (also a little of code formatting)
koda
parents: 5252
diff changeset
  1146
    GoToPage(ID_PAGE_MAIN);
8709
191bd86f97a1 fix loading files on osx too, the cause was different than other systems
koda
parents: 8643
diff changeset
  1147
    //GoBack() <- don't or you'll close the socket
5252
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
  1148
    CreateGame(0, 0, 0);
5865
35387d27f73a Save demo when loaded from save game finishes
unc0rr
parents: 5849
diff changeset
  1149
    game->PlayDemo(demofilename, false);
5252
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
  1150
}
ded882439548 file association for mac!
koda
parents: 5238
diff changeset
  1151
8716
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8709
diff changeset
  1152
void HWForm::NetConnectQuick(const QString & host, quint16 port)
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8709
diff changeset
  1153
{
8720
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1154
    GoToPage(ID_PAGE_MAIN);
8716
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8709
diff changeset
  1155
    NetConnectServer(host, port);
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8709
diff changeset
  1156
}
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8709
diff changeset
  1157
666
07fa9a74a074 Abstract HWForm from custom PageNet implementation
unc0rr
parents: 665
diff changeset
  1158
void HWForm::NetConnectServer(const QString & host, quint16 port)
416
595d8663254d update button for udp servers list
displacer
parents: 412
diff changeset
  1159
{
8716
e09633d10f16 hit hwplay://server:port and automatically join an unofficial server (on osx right now)
koda
parents: 8709
diff changeset
  1160
    qDebug("connecting to %s:%d", qPrintable(host), port);
4870
c02406028e02 trim net nick in frontend
sheepluva
parents: 4845
diff changeset
  1161
    _NetConnect(host, port, ui.pageOptions->editNetNick->text().trimmed());
1395
46fd70de89e2 Add "Join official server" button
unc0rr
parents: 1391
diff changeset
  1162
}
46fd70de89e2 Add "Join official server" button
unc0rr
parents: 1391
diff changeset
  1163
46fd70de89e2 Add "Join official server" button
unc0rr
parents: 1391
diff changeset
  1164
void HWForm::NetConnectOfficialServer()
46fd70de89e2 Add "Join official server" button
unc0rr
parents: 1391
diff changeset
  1165
{
8803
b3f37e7f9ff4 define NETGAME_DEFAULT_SERVER
koda
parents: 8766
diff changeset
  1166
    NetConnectServer(NETGAME_DEFAULT_SERVER, NETGAME_DEFAULT_PORT);
416
595d8663254d update button for udp servers list
displacer
parents: 412
diff changeset
  1167
}
595d8663254d update button for udp servers list
displacer
parents: 412
diff changeset
  1168
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1169
void HWForm::NetPassword(const QString & nick)
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1170
{
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8384
diff changeset
  1171
    Q_UNUSED(nick);
8181
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1172
    //Get hashes
8294
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1173
    QString hash =  config->passwordHash();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1174
    QString temphash =  config->tempHash();
8181
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1175
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1176
    //Check them
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1177
8181
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1178
    if (temphash.isEmpty() && hash.isEmpty()) { //If the user enters a registered nick with no password, sends a bogus hash
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1179
        hwnet->SendPasswordHash("THISISNOHASH");
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1180
    }
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1181
    else if (temphash.isEmpty()) { //Send saved hash as default
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1182
        hwnet->SendPasswordHash(hash);
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1183
    }
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1184
    else { //Send the hash
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1185
        hwnet->SendPasswordHash(temphash);
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1186
    }
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1187
8181
70e980278080 GCI2012: User/Pass Single Prompt
Ondrej
parents: 8179
diff changeset
  1188
    //Remove temporary hash from config
8295
6ef114ea2298 fixed minor problem with saving hash
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8294
diff changeset
  1189
    config->clearTempHash();
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1190
}
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1191
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1192
void HWForm::NetNickRegistered(const QString & nick)
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1193
{
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1194
    //Get hashes
8294
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1195
    QString hash =  config->passwordHash();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1196
    QString temphash =  config->tempHash();
8295
6ef114ea2298 fixed minor problem with saving hash
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8294
diff changeset
  1197
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1198
    if (hash.isEmpty()) {
8294
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1199
        if (temphash.isEmpty()) { //If the user enters a registered nick with no password
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1200
            QString suppliedpass;
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1201
            while (suppliedpass.isEmpty()) {
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1202
                QInputDialog nickRegedDialog(this);
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1203
                nickRegedDialog.setWindowModality(Qt::WindowModal);
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1204
                nickRegedDialog.setInputMode(QInputDialog::TextInput);
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1205
                nickRegedDialog.setWindowTitle(tr("Hedgewars - Nick registered"));
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1206
                nickRegedDialog.setLabelText(tr("This nick is registered, and you haven't specified a password.\n\nIf this nick isn't yours, please register your own nick at www.hedgewars.org\n\nPassword:"));
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1207
                nickRegedDialog.setTextEchoMode(QLineEdit::Password);
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1208
                nickRegedDialog.exec();
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1209
8294
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1210
                suppliedpass = nickRegedDialog.textValue();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1211
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1212
                if (nickRegedDialog.result() == QDialog::Rejected) {
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1213
                    config->clearPasswordHash();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1214
                    config->clearTempHash();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1215
                    GoBack();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1216
                    return;
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1217
                }
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1218
                temphash = QCryptographicHash::hash(suppliedpass.toUtf8(), QCryptographicHash::Md5).toHex();
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1219
                config->setTempHash(temphash);
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1220
            }
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1221
        }
0e5782b0dd54 Removed whitespaces, refactored hash setting getting and clearing
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8293
diff changeset
  1222
    }
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1223
    NetPassword(nick);
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1224
}
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1225
8299
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1226
void HWForm::NetNickNotRegistered(const QString & nick)
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1227
{
8385
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8384
diff changeset
  1228
    Q_UNUSED(nick);
9e8924ff9813 Convert feedback page to dialog (+some fixes from unC0Rr)
dag10
parents: 8384
diff changeset
  1229
8299
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1230
    QMessageBox noRegMsg(this);
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1231
    noRegMsg.setIcon(QMessageBox::Information);
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1232
    noRegMsg.setWindowTitle(QMessageBox::tr("Hedgewars - Nick not registered"));
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1233
    noRegMsg.setWindowModality(Qt::WindowModal);
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1234
    noRegMsg.setText(tr("Your nickname is not registered.\nTo prevent someone else from using it,\nplease register it at www.hedgewars.org"));
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1235
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1236
    if (!config->passwordHash().isEmpty())
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1237
    {
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1238
        config->clearPasswordHash();
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1239
        noRegMsg.setText(noRegMsg.text()+tr("\n\nYour password wasn't saved either."));
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1240
    }
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1241
    if (!config->tempHash().isEmpty())
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1242
    {
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1243
        config->clearTempHash();
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1244
    }
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1245
    noRegMsg.exec();
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1246
}
ef2e284255cd Added handling of not registered nicks (no change-server side tho), clearPasswordHash() also now sets the savepassword setting to false
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8297
diff changeset
  1247
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1248
void HWForm::NetNickTaken(const QString & nick)
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1249
{
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1250
    bool ok = false;
7795
ba32d3f9e567 set window modality also for custom dialogs, small text changes
koda
parents: 7794
diff changeset
  1251
    QString newNick = QInputDialog::getText(this, tr("Nickname"), tr("Someone already uses your nickname %1 on the server.\nPlease pick another nickname:").arg(nick), QLineEdit::Normal, nick, &ok);
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1252
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1253
    if (!ok || newNick.isEmpty())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6604
diff changeset
  1254
    {
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1255
        //ForcedDisconnect(tr("No nickname supplied."));
8720
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1256
        bool retry = RetryDialog(tr("Hedgewars - Empty nickname"), tr("No nickname supplied."));
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1257
        GoBack();
9549
ac5c1f691ce2 Allow user to enter password for the room he joins
unc0rr
parents: 9541
diff changeset
  1258
        if (retry && hwnet) {
8720
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1259
            if (hwnet->m_private_game) {
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1260
                QStringList list = hwnet->getHost().split(":");
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1261
                NetConnectServer(list.at(0), list.at(1).toShort());
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1262
            } else
5603527f9803 this should prevent the password prompt from appearing on local games (issue 548)
koda
parents: 8716
diff changeset
  1263
                NetConnectOfficialServer();
8291
e4a0d980d1e2 Patched login dialog bugs, added retry dialogs
Ondrej Skopek <skopekondrej@gmail.com>
parents: 8287
diff changeset
  1264
        }
5998
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1265
        return;
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1266
    }
e8f44e9433f0 many many netclient/frondent changes (just the beginning though):
sheepluva
parents: 5907
diff changeset
  1267
9549
ac5c1f691ce2 Allow user to enter password for the room he joins
unc0rr
parents: 9541
diff changeset
  1268
    if(hwnet)