QTfrontend/ui_hwform.cpp
author smxx
Mon, 15 Feb 2010 21:56:49 +0000
changeset 2815 c1daf1213cbe
parent 2773 e94f240a8a41
child 2948 3f21a9dc93d0
permissions -rw-r--r--
Training Missions: * Missions won't fail if you win within the last seconds (check for win) * Granting more time for Bazooka training to finish
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: 883
diff changeset
     2
 * Hedgewars, a free turn based strategy game
883
07a568ba44e0 Update copyright info in source files headers
unc0rr
parents: 788
diff changeset
     3
 * Copyright (c) 2006-2008 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     4
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * along with this program; if not, write to the Free Software
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    17
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    19
#include <QVBoxLayout>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QGridLayout>
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    21
#include <QMainWindow>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    22
#include <QStackedLayout>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    23
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include "ui_hwform.h"
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    25
#include "hwform.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    26
#include "pages.h"
1621
d1ded2532d3f - svn maintenance
unc0rr
parents: 1542
diff changeset
    27
#include "statsPage.h"
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 486
diff changeset
    28
#include "playrecordpage.h"
1542
b755ddb0bae8 Show version info in caption
unc0rr
parents: 1311
diff changeset
    29
#include "hwconsts.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    30
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    31
void Ui_HWForm::setupUi(HWForm *HWForm)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    32
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    33
	SetupFonts();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    34
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    35
	HWForm->setObjectName(QString::fromUtf8("HWForm"));
485
defe001d490c form size increased (network chat is now fit into window initially)
displacer
parents: 471
diff changeset
    36
	HWForm->resize(QSize(640, 480).expandedTo(HWForm->minimumSizeHint()));
1644
1e51e80c383c Save much space on options page
unc0rr
parents: 1621
diff changeset
    37
	HWForm->setMinimumSize(QSize(720, 450));
1542
b755ddb0bae8 Show version info in caption
unc0rr
parents: 1311
diff changeset
    38
	HWForm->setWindowTitle(QMainWindow::tr("Hedgewars %1").arg(*cVersionString));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    39
	centralWidget = new QWidget(HWForm);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    40
	centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    41
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    42
	SetupPages(centralWidget, HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    43
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    44
	HWForm->setCentralWidget(centralWidget);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    45
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    46
	Pages->setCurrentIndex(0);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    47
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    48
	QMetaObject::connectSlotsByName(HWForm);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    49
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    50
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    51
void Ui_HWForm::SetupFonts()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    52
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    53
	font14 = new QFont("MS Shell Dlg", 14);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    54
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    55
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    56
void Ui_HWForm::SetupPages(QWidget *Parent, HWForm *HWForm)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    57
{
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
    58
	Pages = new QStackedLayout(Parent);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    59
2516
effafd586a4e pass in sdli
nemo
parents: 2515
diff changeset
    60
	pageEditTeam = new PageEditTeam(Parent, &HWForm->sdli);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    61
	Pages->addWidget(pageEditTeam);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    62
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    63
	pageOptions = new PageOptions();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    64
	Pages->addWidget(pageOptions);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    65
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    66
	pageMultiplayer = new PageMultiplayer();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    67
	Pages->addWidget(pageMultiplayer);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    68
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
    69
	pagePlayDemo = new PagePlayDemo();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
	Pages->addWidget(pagePlayDemo);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    72
	pageNet = new PageNet();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    73
	Pages->addWidget(pageNet);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    74
2773
e94f240a8a41 Have game beep when someone joins lobby/room. Controlled by Sound option
nemo
parents: 2516
diff changeset
    75
	pageNetGame = new PageNetGame(Parent, HWForm->gameSettings, &HWForm->sdli);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    76
	Pages->addWidget(pageNetGame);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    77
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
    78
	pageInfo = new PageInfo();
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
    79
	Pages->addWidget(pageInfo);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
    80
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    81
	pageMain = new PageMain();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    82
	Pages->addWidget(pageMain);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
    83
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
    84
	pageGameStats = new PageGameStats();
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
    85
	Pages->addWidget(pageGameStats);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
    86
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
    87
	pageSinglePlayer = new PageSinglePlayer();
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
    88
	Pages->addWidget(pageSinglePlayer);
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
    89
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
    90
	pageTraining = new PageTraining();
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
    91
	Pages->addWidget(pageTraining);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
    92
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
    93
	pageSelectWeapon = new PageSelectWeapon();
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
    94
	Pages->addWidget(pageSelectWeapon);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
    95
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
    96
	pageNetServer = new PageNetServer();
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
    97
	Pages->addWidget(pageNetServer);
686
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
    98
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
    99
	pageInGame = new PageInGame();
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
   100
	Pages->addWidget(pageInGame);
1311
49beb1221c0b - Add stub page for rooms list
unc0rr
parents: 1158
diff changeset
   101
2773
e94f240a8a41 Have game beep when someone joins lobby/room. Controlled by Sound option
nemo
parents: 2516
diff changeset
   102
	pageRoomsList = new PageRoomsList(Parent, HWForm->gameSettings, &HWForm->sdli);
1311
49beb1221c0b - Add stub page for rooms list
unc0rr
parents: 1158
diff changeset
   103
	Pages->addWidget(pageRoomsList);
1800
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   104
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   105
	pageConnecting = new PageConnecting();
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   106
	Pages->addWidget(pageConnecting);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   107
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   108
	pageScheme = new PageScheme();
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   109
	Pages->addWidget(pageScheme);
1905
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   110
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   111
	pageAdmin = new PageAdmin();
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   112
	Pages->addWidget(pageAdmin);
1950
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   113
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   114
	pageNetType = new PageNetType();
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   115
	Pages->addWidget(pageNetType);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   116
}