QTfrontend/pages.cpp
author unc0rr
Mon, 29 Sep 2008 22:14:23 +0000
changeset 1301 c6fe8a4bfd34
parent 1290 3cb7f6b5000e
child 1310 4616e15d566f
permissions -rw-r--r--
Fix a bug screwing team selection up in network game (REMOVETEAM message doesn't have teamID, and after removing the team QMap still contains old info, when add and remove team with the same name, total hedgehogs number will be decreased by first team hh number)
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: 923
diff changeset
     2
 * Hedgewars, a free turn based strategy game
1236
f9110fd03754 Add stubs for hats implementation
unc0rr
parents: 1225
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 <QGridLayout>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QPushButton>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
#include <QGroupBox>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    22
#include <QComboBox>
311
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 310
diff changeset
    23
#include <QCheckBox>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include <QLabel>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    25
#include <QToolBox>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    26
#include <QLineEdit>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    27
#include <QListWidget>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    28
#include <QApplication>
231
c77b16e48273 bots power icons added
displacer
parents: 187
diff changeset
    29
#include <QSpinBox>
452
45fbb9df0c99 problems with widget sizes for net chat
displacer
parents: 451
diff changeset
    30
#include <QTextEdit>
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
    31
#include <QRadioButton>
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 659
diff changeset
    32
#include <QTableView>
671
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
    33
#include <QMessageBox>
673
bd82104a28af - Save after save now works
unc0rr
parents: 672
diff changeset
    34
#include <QHeaderView>
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    35
#include <QTabWidget>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    36
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    37
#include "pages.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    38
#include "sdlkeys.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    39
#include "hwconsts.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    40
#include "gamecfgwidget.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    41
#include "teamselect.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    42
#include "gamecfgwidget.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    43
#include "SquareLabel.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    44
#include "mapContainer.h"
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
    45
#include "about.h"
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 290
diff changeset
    46
#include "fpsedit.h"
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
    47
#include "netserverslist.h"
412
2ddcc3e3e644 udp server detecting experimental version
displacer
parents: 373
diff changeset
    48
#include "netudpwidget.h"
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
    49
#include "netwwwwidget.h"
461
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
    50
#include "chatwidget.h"
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 555
diff changeset
    51
#include "playrecordpage.h"
612
333d095319de abstract class for items container (hedgehogs num, bullets, etc.)
displacer
parents: 603
diff changeset
    52
#include "selectWeapon.h"
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents: 1168
diff changeset
    53
#include "igbox.h"
1238
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
    54
#include "hats.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    55
684
257444d8429f some copy/paste code removed
displacer
parents: 683
diff changeset
    56
PageMain::PageMain(QWidget* parent) : 
257444d8429f some copy/paste code removed
displacer
parents: 683
diff changeset
    57
  AbstractPage(parent)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    58
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    59
	QGridLayout * pageLayout = new QGridLayout(this);
1148
e44de3416af4 images at main page
displacer
parents: 1129
diff changeset
    60
	//pageLayout->setColumnStretch(0, 1);
e44de3416af4 images at main page
displacer
parents: 1129
diff changeset
    61
	//pageLayout->setColumnStretch(1, 2);
e44de3416af4 images at main page
displacer
parents: 1129
diff changeset
    62
	//pageLayout->setColumnStretch(2, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    63
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    64
	//QPushButton* btnLogo = addButton(":/res/HedgewarsTitle.png", pageLayout, 0, 0, 1, 4, true);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    65
	//pageLayout->setAlignment(btnLogo, Qt::AlignHCenter);
1148
e44de3416af4 images at main page
displacer
parents: 1129
diff changeset
    66
	pageLayout->setRowStretch(0, 1);
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
    67
	pageLayout->setRowStretch(1, 1);
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
    68
	pageLayout->setRowStretch(2, 0);
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
    69
	pageLayout->setRowStretch(3, 1);
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    70
	pageLayout->setRowStretch(4, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
1152
c72b939c00df Make buttons border have different colors when mouse is over or it is pressed
unc0rr
parents: 1151
diff changeset
    72
	BtnSinglePlayer = addButton(":/res/LocalPlay.png", pageLayout, 2, 0, 1, 2, true);
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
    73
	pageLayout->setAlignment(BtnSinglePlayer, Qt::AlignHCenter);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    74
1152
c72b939c00df Make buttons border have different colors when mouse is over or it is pressed
unc0rr
parents: 1151
diff changeset
    75
	BtnNet = addButton(":/res/NetworkPlay.png", pageLayout, 2, 2, 1, 2, true);
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
    76
	pageLayout->setAlignment(BtnNet, Qt::AlignHCenter);
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents: 555
diff changeset
    77
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    78
	BtnSetup = addButton(":/res/Settings.png", pageLayout, 4, 3, true);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    79
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    80
	//BtnInfo = addButton(":/res/About.png", pageLayout, 3, 1, 1, 2, true);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    81
	BtnInfo = addButton(":/res/HedgewarsTitle.png", pageLayout, 0, 0, 1, 4, true);
1212
9890facbe047 Fix "Hedgewars" button look
unc0rr
parents: 1199
diff changeset
    82
	BtnInfo->setStyleSheet("border: transparent;background: transparent;");
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
    83
	pageLayout->setAlignment(BtnInfo, Qt::AlignHCenter);
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    84
	//pageLayout->setAlignment(BtnInfo, Qt::AlignHCenter);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    85
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
    86
	BtnExit = addButton(":/res/Exit.png", pageLayout, 4, 0, 1, 1, true);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    87
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    88
788
00720357601f - Get rid of PageSimpleGame, now pressing 'quick game' just starts round
unc0rr
parents: 730
diff changeset
    89
PageEditTeam::PageEditTeam(QWidget* parent) :
692
07787e748831 code size reduse
displacer
parents: 686
diff changeset
    90
  AbstractPage(parent)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    91
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    92
	QGridLayout * pageLayout = new QGridLayout(this);
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    93
	QTabWidget * tbw = new QTabWidget(this);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    94
	QWidget * page1 = new QWidget();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    95
	QWidget * page2 = new QWidget();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    96
	tbw->addTab(page1, tr("General"));
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    97
	tbw->addTab(page2, tr("Advanced"));
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    98
	pageLayout->addWidget(tbw, 0, 0, 1, 3);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
    99
	BtnTeamDiscard = addButton(":/res/Exit.png", pageLayout, 1, 0, true);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   100
	BtnTeamSave = addButton(":/res/Save.png", pageLayout, 1, 2, true);;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   101
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   102
	QHBoxLayout * page1Layout = new QHBoxLayout(page1);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   103
	page1Layout->setAlignment(Qt::AlignTop);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   104
	QGridLayout * page2Layout = new QGridLayout(page2);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   105
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   106
// ====== Page 1 ======
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   107
	QVBoxLayout * vbox1 = new QVBoxLayout();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   108
	QVBoxLayout * vbox2 = new QVBoxLayout();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   109
	QVBoxLayout * vbox3 = new QVBoxLayout();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   110
	page1Layout->addLayout(vbox1);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   111
	page1Layout->addLayout(vbox2);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   112
	page1Layout->addLayout(vbox3);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   113
	
588
b2e61fc49e5d Better stub for Training mode
unc0rr
parents: 587
diff changeset
   114
	GBoxHedgehogs = new QGroupBox(this);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   115
	GBoxHedgehogs->setTitle(QGroupBox::tr("Team Members"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   116
	GBoxHedgehogs->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   117
	QGridLayout * GBHLayout = new QGridLayout(GBoxHedgehogs);
1238
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   118
	
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   119
	HatsModel * hatsModel = new HatsModel(GBoxHedgehogs);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   120
	for(int i = 0; i < 8; i++)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   121
	{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   122
		HHNameEdit[i] = new QLineEdit(GBoxHedgehogs);
1216
df1b19976e28 Allow team and hh name length be up to 64 letters length
unc0rr
parents: 1212
diff changeset
   123
		HHNameEdit[i]->setMaxLength(64);
1238
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   124
		HHNameEdit[i]->setMinimumWidth(120);
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   125
		GBHLayout->addWidget(HHNameEdit[i], i, 0);
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   126
		
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   127
		HHHats[i] = new QComboBox(GBoxHedgehogs);
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   128
		HHHats[i]->setModel(hatsModel);
1282
76533d0e76e3 Full-size hedgehog in hats selection widget
unc0rr
parents: 1252
diff changeset
   129
		HHHats[i]->setIconSize(QSize(32, 37));
76533d0e76e3 Full-size hedgehog in hats selection widget
unc0rr
parents: 1252
diff changeset
   130
		//HHHats[i]->setSizeAdjustPolicy(QComboBox::AdjustToContents);
1239
4901abe4c3b0 - Finish hat selection widget
unc0rr
parents: 1238
diff changeset
   131
		//HHHats[i]->setModelColumn(1);
1240
16b85f292030 Store selected hats in team config
unc0rr
parents: 1239
diff changeset
   132
		//HHHats[i]->setMinimumWidth(132);
1238
914bd2a9a249 Add hat selection control to team editing page (it's empty combobox yet)
unc0rr
parents: 1236
diff changeset
   133
		GBHLayout->addWidget(HHHats[i], i, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   134
	}
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   135
	vbox1->addWidget(GBoxHedgehogs);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   136
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   137
1288
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   138
	GBoxTeam = new QGroupBox(this);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   139
	GBoxTeam->setTitle(QGroupBox::tr("Team"));
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   140
	GBoxTeam->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   141
	QVBoxLayout * GBTLayout = new QVBoxLayout(GBoxTeam);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   142
	TeamNameEdit = new QLineEdit(GBoxTeam);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   143
	TeamNameEdit->setMaxLength(64);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   144
	GBTLayout->addWidget(TeamNameEdit);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   145
	vbox2->addWidget(GBoxTeam);
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   146
	
1290
3cb7f6b5000e Fix frontend
unc0rr
parents: 1288
diff changeset
   147
	CBTeamLvl = new QComboBox(GBoxTeam);
1287
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   148
	CBTeamLvl->setIconSize(QSize(32, 32));
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   149
	CBTeamLvl->addItem(QIcon(":/res/botlevels/0.png"), QComboBox::tr("Human"));
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   150
	for(int i = 5; i > 0; i--)
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   151
		CBTeamLvl->addItem(
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   152
				QIcon(QString(":/res/botlevels/%1.png").arg(6 - i)),
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   153
				QString("%1 %2").arg(QComboBox::tr("Level")).arg(i)
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   154
				);
1288
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   155
	GBTLayout->addWidget(CBTeamLvl);
1287
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   156
	
1290
3cb7f6b5000e Fix frontend
unc0rr
parents: 1288
diff changeset
   157
	CBGrave = new QComboBox(GBoxTeam);
1288
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   158
	CBGrave->setMaxCount(65535);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   159
	CBGrave->setIconSize(QSize(32, 32));
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   160
	GBTLayout->addWidget(CBGrave);
cea4a8f52f5a Reorganize team edit page a little (save a lot of space)
unc0rr
parents: 1287
diff changeset
   161
	
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   162
	GBoxFort = new QGroupBox(this);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   163
	GBoxFort->setTitle(QGroupBox::tr("Fort"));
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   164
	QGridLayout * GBFLayout = new QGridLayout(GBoxFort);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   165
	CBFort = new QComboBox(GBoxFort);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   166
	CBFort->setMaxCount(65535);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   167
	GBFLayout->addWidget(CBFort, 0, 0);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   168
	FortPreview = new SquareLabel(GBoxFort);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   169
	FortPreview->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   170
	FortPreview->setPixmap(QPixmap());
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   171
	GBFLayout->addWidget(FortPreview, 1, 0);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   172
	vbox3->addWidget(GBoxFort);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   173
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   174
	QDir tmpdir;
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   175
	tmpdir.cd(datadir->absolutePath());
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   176
	tmpdir.cd("Forts");
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   177
	tmpdir.setFilter(QDir::Files);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   178
1287
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   179
	connect(CBFort, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(CBFort_activated(const QString &)));
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   180
	CBFort->addItems(tmpdir.entryList(QStringList("*L.png")).replaceInStrings(QRegExp("^(.*)L\\.png"), "\\1"));
1287
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   181
	
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   182
	tmpdir.cd("../Graphics/Graves");
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   183
	QStringList list = tmpdir.entryList(QStringList("*.png"));
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   184
	for (QStringList::Iterator it = list.begin(); it != list.end(); ++it )
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   185
	{
1287
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   186
		QPixmap pix(datadir->absolutePath() + "/Graphics/Graves/" + *it);
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   187
		QIcon icon(pix.copy(0, 0, 32, 32));
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   188
		CBGrave->addItem(icon, (*it).replace(QRegExp("^(.*)\\.png"), "\\1"));
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   189
	}
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   190
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   191
	vbox1->addStretch();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   192
	vbox2->addStretch();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   193
//	vbox3->addStretch();
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   194
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   195
// ====== Page 2 ======
588
b2e61fc49e5d Better stub for Training mode
unc0rr
parents: 587
diff changeset
   196
	GBoxBinds = new QGroupBox(this);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   197
	GBoxBinds->setTitle(QGroupBox::tr("Key binds"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   198
	QGridLayout * GBBLayout = new QGridLayout(GBoxBinds);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   199
	BindsBox = new QToolBox(GBoxBinds);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   200
	BindsBox->setLineWidth(0);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   201
	GBBLayout->addWidget(BindsBox);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   202
	page_A = new QWidget();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   203
	BindsBox->addItem(page_A, QToolBox::tr("Actions"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   204
	page_W = new QWidget();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   205
	BindsBox->addItem(page_W, QToolBox::tr("Weapons"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   206
	page_WP = new QWidget();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   207
	BindsBox->addItem(page_WP, QToolBox::tr("Weapon properties"));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   208
	page_O = new QWidget();
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   209
	BindsBox->addItem(page_O, QToolBox::tr("Other"));
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   210
	page2Layout->addWidget(GBoxBinds, 0, 0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   211
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   212
	QStringList binds;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   213
	for(int i = 0; strlen(sdlkeys[i][1]) > 0; i++)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   214
	{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   215
		binds << sdlkeys[i][1];
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   216
	}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   217
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   218
	quint16 widind = 0, i = 0;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   219
	while (i < BINDS_NUMBER) {
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   220
		quint16 num = 0;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   221
		QGridLayout * pagelayout = new QGridLayout(BindsBox->widget(widind));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   222
		do {
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   223
			LBind[i] = new QLabel(BindsBox->widget(widind));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   224
			LBind[i]->setText(QApplication::translate("binds", cbinds[i].name));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   225
			LBind[i]->setAlignment(Qt::AlignRight);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   226
			pagelayout->addWidget(LBind[i], num, 0);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   227
			CBBind[i] = new QComboBox(BindsBox->widget(widind));
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   228
			CBBind[i]->addItems(binds);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   229
			pagelayout->addWidget(CBBind[i], num, 1);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   230
			num++;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   231
		} while (!cbinds[i++].chwidget);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   232
		pagelayout->addWidget(new QWidget(BindsBox->widget(widind)), num, 0, 1, 2);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   233
		widind++;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   234
	}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   235
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   236
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   237
void PageEditTeam::CBFort_activated(const QString & fortname)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   238
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   239
	QPixmap pix(datadir->absolutePath() + "/Forts/" + fortname + "L.png");
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   240
	FortPreview->setPixmap(pix);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   241
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   242
1287
4a0cbcbe3521 Move preview icons into comboboxes
unc0rr
parents: 1282
diff changeset
   243
PageMultiplayer::PageMultiplayer(QWidget* parent) :
692
07787e748831 code size reduse
displacer
parents: 686
diff changeset
   244
  AbstractPage(parent)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   245
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   246
	QGridLayout * pageLayout = new QGridLayout(this);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   247
1218
ada50f82ea53 Save some pixels for chat widget
unc0rr
parents: 1216
diff changeset
   248
	BtnBack = addButton(":/res/Exit.png", pageLayout, 2, 0, true);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   249
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   250
	gameCFG = new GameCFGWidget(this);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   251
	pageLayout->addWidget(gameCFG, 0, 0, 1, 2);
696
d6f32ed6edc8 working multiplayer weapons combo
displacer
parents: 693
diff changeset
   252
1218
ada50f82ea53 Save some pixels for chat widget
unc0rr
parents: 1216
diff changeset
   253
	pageLayout->setRowStretch(1, 1);
ada50f82ea53 Save some pixels for chat widget
unc0rr
parents: 1216
diff changeset
   254
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   255
	teamsSelect = new TeamSelWidget(this);
1218
ada50f82ea53 Save some pixels for chat widget
unc0rr
parents: 1216
diff changeset
   256
	pageLayout->addWidget(teamsSelect, 0, 2, 2, 2);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   257
1218
ada50f82ea53 Save some pixels for chat widget
unc0rr
parents: 1216
diff changeset
   258
	BtnStartMPGame = addButton(tr("Start"), pageLayout, 2, 3);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   259
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   260
1249
b6670a6ea2d0 Remove 25pix margin on every page, so exit button is almost in the same place on all pages
unc0rr
parents: 1240
diff changeset
   261
PageOptions::PageOptions(QWidget* parent) :
692
07787e748831 code size reduse
displacer
parents: 686
diff changeset
   262
  AbstractPage(parent)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   263
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   264
	QGridLayout * pageLayout = new QGridLayout(this);
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   265
	pageLayout->setColumnStretch(0, 100);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   266
	pageLayout->setColumnStretch(1, 100);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   267
	pageLayout->setColumnStretch(2, 100);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   268
	pageLayout->setRowStretch(0, 0);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   269
	pageLayout->setRowStretch(1, 0);
719
bea32693bd7a - Fix layout on options page
unc0rr
parents: 718
diff changeset
   270
	pageLayout->setRowStretch(2, 0);
bea32693bd7a - Fix layout on options page
unc0rr
parents: 718
diff changeset
   271
	pageLayout->setRowStretch(3, 100);
bea32693bd7a - Fix layout on options page
unc0rr
parents: 718
diff changeset
   272
	pageLayout->setRowStretch(4, 0);
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   273
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   274
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   275
	QGroupBox * gbTwoBoxes = new QGroupBox(this);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   276
	pageLayout->addWidget(gbTwoBoxes, 0, 0, 1, 3);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   277
	QHBoxLayout * gbTBLayout = new QHBoxLayout(gbTwoBoxes);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   278
	{
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   279
		teamsBox = new IconedGroupBox(this);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   280
		teamsBox->setIcon(QIcon(":/res/teamicon.png"));
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   281
		teamsBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   282
		teamsBox->setTitle(QGroupBox::tr("Teams"));
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   283
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   284
		QGridLayout * GBTlayout = new QGridLayout(teamsBox);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   285
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   286
		BtnNewTeam = addButton(tr("New team"), GBTlayout, 1, 0);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   287
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   288
		CBTeamName = new QComboBox(teamsBox);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   289
		GBTlayout->addWidget(CBTeamName, 0, 0, 1, 2);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   290
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   291
		BtnEditTeam = addButton(tr("Edit team"), GBTlayout, 1, 1);
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   292
		
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   293
		labelNN = new QLabel(teamsBox);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   294
		labelNN->setText(QLabel::tr("Net nick"));
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   295
		GBTlayout->addWidget(labelNN, 2, 0, 1, 2);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   296
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   297
		editNetNick = new QLineEdit(teamsBox);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   298
		editNetNick->setMaxLength(20);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   299
		editNetNick->setText(QLineEdit::tr("unnamed"));
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   300
		GBTlayout->addWidget(editNetNick, 3, 0, 1, 2);
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   301
		
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   302
		gbTBLayout->addWidget(teamsBox);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   303
	}
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   304
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   305
	{
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   306
		IconedGroupBox* groupWeapons = new IconedGroupBox(this);
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   307
		groupWeapons->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   308
		groupWeapons->setIcon(QIcon(":/res/weaponsicon.png"));
1199
543d1268847b More work on options page
unc0rr
parents: 1198
diff changeset
   309
		//groupWeapons->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   310
		groupWeapons->setTitle(QGroupBox::tr("Weapons"));
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   311
		QGridLayout * WeaponsLayout = new QGridLayout(groupWeapons);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   312
1198
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   313
		WeaponsButt = addButton(tr("Weapons set"), WeaponsLayout, 1, 0);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   314
		WeaponsName = new QComboBox(this);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   315
		WeaponsLayout->addWidget(WeaponsName, 0, 0, 1, 2);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   316
		WeaponEdit = addButton(tr("Edit"), WeaponsLayout, 1, 1);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   317
		gbTBLayout->addWidget(groupWeapons);
b600b0d9408c Reorganize widgets on options page
unc0rr
parents: 1194
diff changeset
   318
	}
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   319
1193
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
   320
	AGGroupBox = new IconedGroupBox(this);
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
   321
	AGGroupBox->setIcon(QIcon(":/res/graphicsicon.png"));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   322
	AGGroupBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   323
	AGGroupBox->setTitle(QGroupBox::tr("Audio/Graphic options"));
693
32a546d1eb3e prepare weapons combo
displacer
parents: 692
diff changeset
   324
	pageLayout->addWidget(AGGroupBox, 2, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   325
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   326
	QVBoxLayout * GBAlayout = new QVBoxLayout(AGGroupBox);
436
3f806cadb4e3 Fix runtime warning
unc0rr
parents: 427
diff changeset
   327
	QHBoxLayout * GBAreslayout = new QHBoxLayout(0);
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   328
	QLabel * resolution = new QLabel(AGGroupBox);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   329
	resolution->setText(QLabel::tr("Resolution"));
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   330
	GBAreslayout->addWidget(resolution);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   331
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   332
	CBResolution = new QComboBox(AGGroupBox);
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   333
	GBAreslayout->addWidget(CBResolution);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   334
	GBAlayout->addLayout(GBAreslayout);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   335
436
3f806cadb4e3 Fix runtime warning
unc0rr
parents: 427
diff changeset
   336
	QHBoxLayout * GBAfpslayout = new QHBoxLayout(0);
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   337
	QLabel * maxfps = new QLabel(AGGroupBox);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   338
	maxfps->setText(QLabel::tr("FPS limit"));
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   339
	GBAfpslayout->addWidget(maxfps);
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   340
	GBAlayout->addLayout(GBAfpslayout);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   341
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   342
	CBFullscreen = new QCheckBox(AGGroupBox);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   343
	CBFullscreen->setText(QCheckBox::tr("Fullscreen"));
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   344
	GBAlayout->addWidget(CBFullscreen);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   345
1162
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1157
diff changeset
   346
	CBFrontendFullscreen = new QCheckBox(AGGroupBox);
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1157
diff changeset
   347
	CBFrontendFullscreen->setText(QCheckBox::tr("Frontend fullscreen"));
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1157
diff changeset
   348
	GBAlayout->addWidget(CBFrontendFullscreen);
91bf5e3e558d Frontend Fullscreen mode added
displacer
parents: 1157
diff changeset
   349
1157
c2e02c52dcad Try to modify QGroupBox view
unc0rr
parents: 1153
diff changeset
   350
	CBEnableSound = new QCheckBox(AGGroupBox);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   351
	CBEnableSound->setText(QCheckBox::tr("Enable sound"));
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   352
	GBAlayout->addWidget(CBEnableSound);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   353
1157
c2e02c52dcad Try to modify QGroupBox view
unc0rr
parents: 1153
diff changeset
   354
	CBEnableMusic = new QCheckBox(AGGroupBox);
1129
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   355
	CBEnableMusic->setText(QCheckBox::tr("Enable music"));
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   356
	GBAlayout->addWidget(CBEnableMusic);
b74ffca22762 Add a checkbox in frontend to turn music off
unc0rr
parents: 1066
diff changeset
   357
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 290
diff changeset
   358
	CBShowFPS = new QCheckBox(AGGroupBox);
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 290
diff changeset
   359
	CBShowFPS->setText(QCheckBox::tr("Show FPS"));
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   360
	GBAlayout->addWidget(CBShowFPS);
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 290
diff changeset
   361
529
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 492
diff changeset
   362
	CBAltDamage = new QCheckBox(AGGroupBox);
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 492
diff changeset
   363
	CBAltDamage->setText(QCheckBox::tr("Alternative damage show"));
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 492
diff changeset
   364
	GBAlayout->addWidget(CBAltDamage);
812682c1ab62 Option for alternative damage tags
unc0rr
parents: 492
diff changeset
   365
297
279e10ec31b4 'Show FPS' and 'FPS limit' options
unc0rr
parents: 290
diff changeset
   366
	fpsedit = new FPSEdit(AGGroupBox);
427
b505012a3f15 New widgets layout on PageOptions
unc0rr
parents: 421
diff changeset
   367
	GBAfpslayout->addWidget(fpsedit);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   368
1157
c2e02c52dcad Try to modify QGroupBox view
unc0rr
parents: 1153
diff changeset
   369
	BtnSaveOptions = addButton(":/res/Save.png", pageLayout, 4, 2, true);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   370
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   371
	BtnBack = addButton(":/res/Exit.png", pageLayout, 4, 0, true);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   372
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   373
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   374
PageNet::PageNet(QWidget* parent) : AbstractPage(parent)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   375
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   376
	QFont * font14 = new QFont("MS Shell Dlg", 14);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   377
	QGridLayout * pageLayout = new QGridLayout(this);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   378
	pageLayout->setColumnStretch(0, 1);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   379
	pageLayout->setColumnStretch(1, 1);
617
127510b442ca Better Net page
unc0rr
parents: 612
diff changeset
   380
	pageLayout->setColumnStretch(2, 1);
421
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   381
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   382
	BtnNetSvrStart = new QPushButton(this);
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   383
	BtnNetSvrStart->setFont(*font14);
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   384
	BtnNetSvrStart->setText(QPushButton::tr("Start server"));
617
127510b442ca Better Net page
unc0rr
parents: 612
diff changeset
   385
	pageLayout->addWidget(BtnNetSvrStart, 3, 2);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   386
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   387
	QGroupBox * NetTypeGroupBox = new QGroupBox(this);
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   388
	NetTypeGroupBox->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 667
diff changeset
   389
	NetTypeGroupBox->setTitle(QGroupBox::tr("Servers list"));
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   390
	pageLayout->addWidget(NetTypeGroupBox, 0, 1);
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   391
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   392
	QVBoxLayout * GBTlayout = new QVBoxLayout(NetTypeGroupBox);
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   393
	rbLocalGame = new QRadioButton(NetTypeGroupBox);
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 667
diff changeset
   394
	rbLocalGame->setText(tr("Local"));
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   395
	rbLocalGame->setChecked(true);
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   396
	GBTlayout->addWidget(rbLocalGame);
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   397
	rbInternetGame = new QRadioButton(NetTypeGroupBox);
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 667
diff changeset
   398
	rbInternetGame->setText(tr("Internet"));
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   399
	GBTlayout->addWidget(rbInternetGame);
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   400
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   401
	ConnGroupBox = new QGroupBox(this);
421
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   402
	ConnGroupBox->setTitle(QGroupBox::tr("Net game"));
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   403
	pageLayout->addWidget(ConnGroupBox, 2, 0, 1, 3);
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   404
	GBClayout = new QGridLayout(ConnGroupBox);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   405
	GBClayout->setColumnStretch(0, 1);
421
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   406
	GBClayout->setColumnStretch(1, 1);
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   407
	GBClayout->setColumnStretch(2, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   408
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   409
	BtnNetConnect = new QPushButton(ConnGroupBox);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   410
	BtnNetConnect->setFont(*font14);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   411
	BtnNetConnect->setText(QPushButton::tr("Connect"));
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   412
	GBClayout->addWidget(BtnNetConnect, 2, 2);
416
595d8663254d update button for udp servers list
displacer
parents: 412
diff changeset
   413
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 659
diff changeset
   414
	tvServersList = new QTableView(ConnGroupBox);
671
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   415
	tvServersList->setSelectionBehavior(QAbstractItemView::SelectRows);
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 659
diff changeset
   416
	GBClayout->addWidget(tvServersList, 1, 0, 1, 3);
421
ebd79d171804 - Remake net game page
unc0rr
parents: 416
diff changeset
   417
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   418
	BtnUpdateSList = new QPushButton(ConnGroupBox);
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   419
	BtnUpdateSList->setFont(*font14);
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   420
	BtnUpdateSList->setText(QPushButton::tr("Update"));
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   421
	GBClayout->addWidget(BtnUpdateSList, 2, 0);
314
83773ccf4f09 client/server net pre-alpha
displacer
parents: 311
diff changeset
   422
653
4f44fc06ca45 Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents: 647
diff changeset
   423
	BtnSpecifyServer = new QPushButton(ConnGroupBox);
4f44fc06ca45 Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents: 647
diff changeset
   424
	BtnSpecifyServer->setFont(*font14);
4f44fc06ca45 Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents: 647
diff changeset
   425
	BtnSpecifyServer->setText(QPushButton::tr("Specify"));
4f44fc06ca45 Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents: 647
diff changeset
   426
	GBClayout->addWidget(BtnSpecifyServer, 2, 1);
4f44fc06ca45 Class to ask host/port to connect to ('Specify' button on PageNet)
unc0rr
parents: 647
diff changeset
   427
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   428
	BtnBack = addButton(":/res/Exit.png", pageLayout, 3, 0, true);
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   429
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   430
	connect(rbLocalGame, SIGNAL(toggled(bool)), this, SLOT(updateServersList()));
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 667
diff changeset
   431
	connect(BtnNetConnect, SIGNAL(clicked()), this, SLOT(slotConnect()));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   432
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   433
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   434
void PageNet::updateServersList()
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   435
{
636
dc93ac775bb9 - Switch between local and internet game
unc0rr
parents: 632
diff changeset
   436
	if (rbLocalGame->isChecked())
671
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   437
		tvServersList->setModel(new HWNetUdpModel(tvServersList));
667
194dc62d1519 UDP server list model
unc0rr
parents: 665
diff changeset
   438
	else
671
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   439
		tvServersList->setModel(new HWNetWwwModel(tvServersList));
659
5eafb20566f1 - Fix some stupid object casts
unc0rr
parents: 657
diff changeset
   440
673
bd82104a28af - Save after save now works
unc0rr
parents: 672
diff changeset
   441
	tvServersList->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
bd82104a28af - Save after save now works
unc0rr
parents: 672
diff changeset
   442
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 659
diff changeset
   443
	static_cast<HWNetServersModel *>(tvServersList->model())->updateList();
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   444
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 659
diff changeset
   445
	connect(BtnUpdateSList, SIGNAL(clicked()), static_cast<HWNetServersModel *>(tvServersList->model()), SLOT(updateList()));
671
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   446
	connect(tvServersList, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(slotConnect()));
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   447
}
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   448
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   449
void PageNet::slotConnect()
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   450
{
671
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   451
	HWNetServersModel * model = static_cast<HWNetServersModel *>(tvServersList->model());
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   452
	QModelIndex mi = tvServersList->currentIndex();
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   453
	if(!mi.isValid())
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   454
	{
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   455
		QMessageBox::information(this, tr("Error"), tr("Please, select server from the list above"));
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   456
		return;
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   457
	}
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   458
	QString host = model->index(mi.row(), 1).data().toString();
a8970859f50e Actually pass host and port values to NetConnect method
unc0rr
parents: 668
diff changeset
   459
	quint16 port = model->index(mi.row(), 2).data().toUInt();
672
08ed55ea1e2a - Fix a bug when server fails to start, and then connecting to another server on the same host (strange, the fix won't work on my machine)
unc0rr
parents: 671
diff changeset
   460
08ed55ea1e2a - Fix a bug when server fails to start, and then connecting to another server on the same host (strange, the fix won't work on my machine)
unc0rr
parents: 671
diff changeset
   461
	emit connectClicked(host, port);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   462
}
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   463
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   464
PageNetServer::PageNetServer(QWidget* parent) : AbstractPage(parent)
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   465
{
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   466
	QFont * font14 = new QFont("MS Shell Dlg", 14);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   467
	QGridLayout * pageLayout = new QGridLayout(this);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   468
	pageLayout->setColumnStretch(0, 1);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   469
	pageLayout->setColumnStretch(1, 1);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   470
	pageLayout->setColumnStretch(2, 1);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   471
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   472
	pageLayout->setRowStretch(0, 1);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   473
	pageLayout->setRowStretch(1, 0);
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   474
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   475
	BtnBack =addButton(":/res/Exit.png", pageLayout, 1, 0, true);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   476
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   477
	BtnStart = new QPushButton(this);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   478
	BtnStart->setFont(*font14);
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   479
	BtnStart->setText(QPushButton::tr("Start"));
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   480
	pageLayout->addWidget(BtnStart, 1, 2);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   481
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   482
	QWidget * wg = new QWidget(this);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   483
	pageLayout->addWidget(wg, 0, 0, 1, 3);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   484
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   485
	QGridLayout * wgLayout = new QGridLayout(wg);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   486
	wgLayout->setColumnStretch(0, 1);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   487
	wgLayout->setColumnStretch(1, 3);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   488
	wgLayout->setColumnStretch(2, 1);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   489
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   490
	wgLayout->setRowStretch(0, 0);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   491
	wgLayout->setRowStretch(1, 1);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   492
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   493
	QGroupBox * gb = new QGroupBox(wg);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   494
	wgLayout->addWidget(gb, 0, 1);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   495
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   496
	QGridLayout * gbLayout = new QGridLayout(gb);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   497
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   498
	labelSD = new QLabel(gb);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   499
	labelSD->setText(QLabel::tr("Server name:"));
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   500
	gbLayout->addWidget(labelSD, 0, 0);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   501
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   502
	leServerDescr = new QLineEdit(gb);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   503
	gbLayout->addWidget(leServerDescr, 0, 1);
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   504
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   505
	labelPort = new QLabel(gb);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   506
	labelPort->setText(QLabel::tr("Server port:"));
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   507
	gbLayout->addWidget(labelPort, 1, 0);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   508
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   509
	sbPort = new QSpinBox(gb);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   510
	sbPort->setMinimum(0);
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   511
	sbPort->setMaximum(65535);
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   512
	gbLayout->addWidget(sbPort, 1, 1);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   513
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   514
	BtnDefault = new QPushButton(gb);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   515
	BtnDefault->setText(QPushButton::tr("default"));
675
28e294a496cb Remake widgets layout on PageNetServer
unc0rr
parents: 673
diff changeset
   516
	gbLayout->addWidget(BtnDefault, 1, 2);
657
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   517
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   518
	connect(BtnDefault, SIGNAL(clicked()), this, SLOT(setDefaultPort()));
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   519
}
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   520
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   521
void PageNetServer::setDefaultPort()
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   522
{
b34fc518a48a Basic concept for net server options page (subject to change)
unc0rr
parents: 653
diff changeset
   523
	sbPort->setValue(46631);
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   524
}
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents: 617
diff changeset
   525
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   526
PageNetGame::PageNetGame(QWidget* parent) : AbstractPage(parent)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   527
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   528
	QFont * font14 = new QFont("MS Shell Dlg", 14);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   529
	QGridLayout * pageLayout = new QGridLayout(this);
452
45fbb9df0c99 problems with widget sizes for net chat
displacer
parents: 451
diff changeset
   530
	pageLayout->setSizeConstraint(QLayout::SetMinimumSize);
461
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
   531
	//pageLayout->setSpacing(1);
463
353c2f830888 fixes last commit problems
displacer
parents: 461
diff changeset
   532
	pageLayout->setColumnStretch(0, 50);
353c2f830888 fixes last commit problems
displacer
parents: 461
diff changeset
   533
	pageLayout->setColumnStretch(1, 50);
322
e7175ae57945 first new widgets added to net game
displacer
parents: 314
diff changeset
   534
461
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
   535
	// chatwidget
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
   536
	pChatWidget = new HWChatWidget(this);
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
   537
	pageLayout->addWidget(pChatWidget, 1, 0);
464
7f48321fc38a vertical size fix for chatwidget
displacer
parents: 463
diff changeset
   538
	pageLayout->setRowStretch(1, 100);
453
4b1236759402 simple net cha added
displacer
parents: 452
diff changeset
   539
329
4c3aad46baa5 Send game parameters by net... Currently it leads to infinite loop, flooding traffic with messages about changes
unc0rr
parents: 323
diff changeset
   540
	pGameCFG = new GameCFGWidget(this);
322
e7175ae57945 first new widgets added to net game
displacer
parents: 314
diff changeset
   541
	pageLayout->addWidget(pGameCFG, 0, 0);
329
4c3aad46baa5 Send game parameters by net... Currently it leads to infinite loop, flooding traffic with messages about changes
unc0rr
parents: 323
diff changeset
   542
4c3aad46baa5 Send game parameters by net... Currently it leads to infinite loop, flooding traffic with messages about changes
unc0rr
parents: 323
diff changeset
   543
	pNetTeamsWidget = new TeamSelWidget(this);
373
df912aab6b7e network team add can be denied by server
displacer
parents: 336
diff changeset
   544
	pNetTeamsWidget->setAcceptOuter(true);
461
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
   545
	pageLayout->addWidget(pNetTeamsWidget, 0, 1, 2, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   546
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   547
	BtnBack = addButton(":/res/Exit.png", pageLayout, 2, 0, true);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   548
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 638
diff changeset
   549
	BtnGo = new QPushButton(this);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   550
	BtnGo->setFont(*font14);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   551
	BtnGo->setText(QPushButton::tr("Go!"));
492
78e80f899b59 disable start game button with teams num < 2
displacer
parents: 486
diff changeset
   552
	BtnGo->setEnabled(false);
461
105af110b0e6 chatWidget with layout
displacer
parents: 453
diff changeset
   553
	pageLayout->addWidget(BtnGo, 2, 1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   554
}
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   555
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   556
PageInfo::PageInfo(QWidget* parent) : AbstractPage(parent)
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   557
{
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   558
	QFont * font14 = new QFont("MS Shell Dlg", 14);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   559
	QGridLayout * pageLayout = new QGridLayout(this);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   560
	pageLayout->setColumnStretch(0, 1);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   561
	pageLayout->setColumnStretch(1, 1);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   562
	pageLayout->setColumnStretch(2, 1);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   563
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   564
	BtnBack = addButton(":/res/Exit.png", pageLayout, 1, 0, true);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   565
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   566
	about = new About(this);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   567
	pageLayout->addWidget(about, 0, 0, 1, 3);
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   568
}
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   569
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   570
PageGameStats::PageGameStats(QWidget* parent) : AbstractPage(parent)
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   571
{
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   572
	QFont * font14 = new QFont("MS Shell Dlg", 14);
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   573
	QGridLayout * pageLayout = new QGridLayout(this);
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   574
	pageLayout->setColumnStretch(0, 1);
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   575
	pageLayout->setColumnStretch(1, 1);
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   576
	pageLayout->setColumnStretch(2, 1);
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   577
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   578
	BtnBack = addButton(":/res/Exit.png", pageLayout, 1, 0, true);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   579
307
96b428ac11f2 More statistics
unc0rr
parents: 306
diff changeset
   580
	labelGameStats = new QLabel(this);
96b428ac11f2 More statistics
unc0rr
parents: 306
diff changeset
   581
	labelGameStats->setTextFormat(Qt::RichText);
96b428ac11f2 More statistics
unc0rr
parents: 306
diff changeset
   582
	pageLayout->addWidget(labelGameStats, 0, 0, 1, 3);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 297
diff changeset
   583
}
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   584
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   585
PageSinglePlayer::PageSinglePlayer(QWidget* parent) : AbstractPage(parent)
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   586
{
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   587
	QFont * font14 = new QFont("MS Shell Dlg", 14);
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   588
	QGridLayout * pageLayout = new QGridLayout(this);
1252
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   589
//	pageLayout->setColumnStretch(0, 1);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   590
//	pageLayout->setColumnStretch(1, 2);
2e2719c0a397 - Reorganize headers according to Qt's style guide
unc0rr
parents: 1249
diff changeset
   591
//	pageLayout->setColumnStretch(2, 1);
588
b2e61fc49e5d Better stub for Training mode
unc0rr
parents: 587
diff changeset
   592
	pageLayout->setRowStretch(0, 1);
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   593
	pageLayout->setRowStretch(6, 1);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   594
1150
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   595
	BtnSimpleGamePage = addButton(tr("Simple Game"), pageLayout, 1, 1);
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   596
	BtnTrainPage = addButton(tr("Training"), pageLayout, 2, 1);
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   597
	BtnMultiplayer = addButton(tr("Multiplayer"), pageLayout, 3, 1);
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   598
	BtnLoad = addButton(tr("Saved games"), pageLayout, 4, 1);
ae86e36dad2e - Make look better
unc0rr
parents: 1149
diff changeset
   599
	BtnDemos = addButton(tr("Demos"), pageLayout, 5, 1);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   600
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   601
	BtnBack = addButton(":/res/Exit.png", pageLayout, 7, 0, true);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   602
}
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   603
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   604
PageTraining::PageTraining(QWidget* parent) : AbstractPage(parent)
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   605
{
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   606
	QFont * font14 = new QFont("MS Shell Dlg", 14);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   607
	QGridLayout * pageLayout = new QGridLayout(this);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   608
	pageLayout->setColumnStretch(0, 1);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   609
	pageLayout->setColumnStretch(1, 2);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   610
	pageLayout->setColumnStretch(2, 1);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   611
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   612
	BtnStartTrain = new QPushButton(this);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   613
	BtnStartTrain->setFont(*font14);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   614
	BtnStartTrain->setText(QPushButton::tr("Go!"));
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   615
	pageLayout->addWidget(BtnStartTrain, 1, 2);
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   616
1153
825931b81ad4 Iconed "Back" button everywhere
unc0rr
parents: 1152
diff changeset
   617
	BtnBack = addButton(":/res/Exit.png", pageLayout, 1, 0, true);
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   618
}
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   619
923
b3d097097b54 Use default ammostore string size for weapons number instead of predefined const
unc0rr
parents: 788
diff changeset
   620
PageSelectWeapon::PageSelectWeapon(QWidget* parent) :
684
257444d8429f some copy/paste code removed
displacer
parents: 683
diff changeset
   621
  AbstractPage(parent)
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   622
{
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   623
	QGridLayout * pageLayout = new QGridLayout(this);
923
b3d097097b54 Use default ammostore string size for weapons number instead of predefined const
unc0rr
parents: 788
diff changeset
   624
	
1168
f3c68684ef88 Finally fix save button look
unc0rr
parents: 1162
diff changeset
   625
	pWeapons = new SelWeaponWidget(cDefaultAmmoStore->size() - 10, this);
718
f93a38d2c982 delete weapon button added
displacer
parents: 696
diff changeset
   626
	pageLayout->addWidget(pWeapons, 0, 0, 1, 4);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   627
1168
f3c68684ef88 Finally fix save button look
unc0rr
parents: 1162
diff changeset
   628
	BtnBack = addButton(":/res/Exit.png", pageLayout, 1, 0, true);
730
6ac11b0aeb12 tr()s everywhere
displacer
parents: 728
diff changeset
   629
	BtnDefault = addButton(tr("Default"), pageLayout, 1, 1);
6ac11b0aeb12 tr()s everywhere
displacer
parents: 728
diff changeset
   630
	BtnDelete = addButton(tr("Delete"), pageLayout, 1, 2);
1168
f3c68684ef88 Finally fix save button look
unc0rr
parents: 1162
diff changeset
   631
	BtnSave = addButton(":/res/Save.png", pageLayout, 1, 3, true);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   632
}
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 597
diff changeset
   633
1249
b6670a6ea2d0 Remove 25pix margin on every page, so exit button is almost in the same place on all pages
unc0rr
parents: 1240
diff changeset
   634
PageInGame::PageInGame(QWidget* parent) :
686
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 684
diff changeset
   635
  AbstractPage(parent)
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 684
diff changeset
   636
{
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 684
diff changeset
   637
	QLabel * label = new QLabel(this);
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 684
diff changeset
   638
	label->setText("In game...");
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 684
diff changeset
   639
}