QTfrontend/mapContainer.cpp
author unc0rr
Fri, 01 May 2009 09:01:44 +0000
changeset 2021 a591afb43768
parent 1874 1b145e099b75
child 2377 f3fab2b09e0c
permissions -rw-r--r--
Some changes in try to fix issue when you enter room with painted map, but frontend shows generated one (most probably bug is triggered by template filters) Untested.
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 Igor Ulyanov <iulyanov@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 <QPushButton>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QBuffer>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    21
#include <QUuid>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    22
#include <QBitmap>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    23
#include <QPainter>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include <QLinearGradient>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    25
#include <QColor>
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    26
#include <QTextStream>
677
9d0bcc3c903a Save some vertical pixels using fewer margin in HWMapContainer
unc0rr
parents: 530
diff changeset
    27
#include <QApplication>
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    28
#include <QLabel>
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    29
#include <QListWidget>
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    30
#include <QVBoxLayout>
1224
0b9fbee5ceda - Add icons for each theme
unc0rr
parents: 1215
diff changeset
    31
#include <QIcon>
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    32
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    33
#include "hwconsts.h"
788
00720357601f - Get rid of PageSimpleGame, now pressing 'quick game' just starts round
unc0rr
parents: 682
diff changeset
    34
#include "mapContainer.h"
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    35
#include "igbox.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    36
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    37
HWMapContainer::HWMapContainer(QWidget * parent) :
1333
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
    38
	QWidget(parent),
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
    39
	mainLayout(this),
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
    40
	pMap(0)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    41
{
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    42
	hhSmall.load(":/res/hh_small.png");
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    43
	hhLimit = 18;
1797
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
    44
    templateFilter = 0;
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    45
	
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    46
	mainLayout.setContentsMargins(QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin),
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    47
		1,
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    48
		QApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin),
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    49
		QApplication::style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    50
	
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    51
	imageButt = new QPushButton(this);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    52
	imageButt->setObjectName("imageButt");
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    53
	imageButt->setFixedSize(256 + 6, 128 + 6);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    54
	imageButt->setFlat(true);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    55
	imageButt->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);//QSizePolicy::Minimum, QSizePolicy::Minimum);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    56
	mainLayout.addWidget(imageButt, 0, 0, 1, 2);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    57
	connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomSeed()));
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    58
	connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomTheme()));
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    59
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    60
	chooseMap = new QComboBox(this);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    61
	chooseMap->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    62
	chooseMap->addItem(QComboBox::tr("generated map..."));
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    63
	for (int i = 0; i < mapList->size(); ++i) {
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    64
		QString map = (*mapList)[i];
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    65
		QFile mapCfgFile(
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    66
				QString("%1/Maps/%2/map.cfg")
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    67
				.arg(datadir->absolutePath())
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    68
				.arg(map));
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    69
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    70
		if (mapCfgFile.open(QFile::ReadOnly)) {
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    71
			QString theme;
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    72
			quint32 limit = 0;
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    73
			QList<QVariant> mapInfo;
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    74
			QTextStream input(&mapCfgFile);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    75
			input >> theme;
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    76
			input >> limit;
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    77
			mapInfo.push_back(theme);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    78
			if (limit)
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    79
				mapInfo.push_back(limit);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    80
			else
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    81
				mapInfo.push_back(18);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
    82
			chooseMap->addItem(map, mapInfo);
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    83
			mapCfgFile.close();
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    84
		}
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    85
	}
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    86
	
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    87
	connect(chooseMap, SIGNAL(currentIndexChanged(int)), this, SLOT(mapChanged(int)));
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    88
	mainLayout.addWidget(chooseMap, 1, 1);
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    89
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    90
	QLabel * lblMap = new QLabel(tr("Map"), this);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
    91
	mainLayout.addWidget(lblMap, 1, 0);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    92
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    93
	lblFilter = new QLabel(tr("Filter"), this);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    94
	mainLayout.addWidget(lblFilter, 2, 0);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    95
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    96
	CB_TemplateFilter = new QComboBox(this);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    97
    CB_TemplateFilter->addItem(tr("All"), 0);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    98
    CB_TemplateFilter->addItem(tr("Small"), 1);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    99
    CB_TemplateFilter->addItem(tr("Medium"), 2);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   100
    CB_TemplateFilter->addItem(tr("Large"), 3);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   101
    CB_TemplateFilter->addItem(tr("Cavern"), 4);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   102
    CB_TemplateFilter->addItem(tr("Wacky"), 5);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   103
	mainLayout.addWidget(CB_TemplateFilter, 2, 1);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   104
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   105
	connect(CB_TemplateFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(templateFilterChanged(int)));
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   106
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   107
	gbThemes = new IconedGroupBox(this);
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
   108
	gbThemes->setTitleTextPadding(60);
1810
4059cafd1da7 Frontend look fixes
unc0rr
parents: 1802
diff changeset
   109
	gbThemes->setContentTopPadding(6);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   110
	gbThemes->setTitle(tr("Themes"));
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
   111
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
   112
	//gbThemes->setStyleSheet("padding: 0px"); // doesn't work - stylesheet is set with icon
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   113
	mainLayout.addWidget(gbThemes, 0, 2, 3, 1);
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
   114
	
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   115
	QVBoxLayout * gbTLayout = new QVBoxLayout(gbThemes);
1228
8fa4a7055aff - Update copyrights
unc0rr
parents: 1224
diff changeset
   116
	gbTLayout->setContentsMargins(0, 0, 0 ,0);
8fa4a7055aff - Update copyrights
unc0rr
parents: 1224
diff changeset
   117
	gbTLayout->setSpacing(0);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   118
	lwThemes = new QListWidget(this);
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
   119
	lwThemes->setMinimumHeight(30);
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
   120
	lwThemes->setFixedWidth(120);
1211
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
   121
	for (int i = 0; i < Themes->size(); ++i) {
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
   122
		QListWidgetItem * lwi = new QListWidgetItem();
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
   123
		lwi->setText(Themes->at(i));
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
   124
		lwi->setTextAlignment(Qt::AlignHCenter);
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
   125
		lwThemes->addItem(lwi);
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
   126
	}
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   127
	connect(lwThemes, SIGNAL(currentRowChanged(int)), this, SLOT(themeSelected(int)));
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   128
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   129
    // override default style to tighten up theme scroller
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   130
	lwThemes->setStyleSheet(QString(
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   131
		"QListWidget{"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   132
			"border: solid;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   133
			"border-width: 0px;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   134
			"border-radius: 0px;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   135
			"border-color: transparent;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   136
			"background-color: #0d0544;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   137
			"color: #ffcc00;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   138
			"font: bold 14px;"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   139
			"}"
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   140
		)
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   141
	);
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   142
 
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   143
	gbTLayout->addWidget(lwThemes);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   144
	lwThemes->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
   145
	
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   146
	mainLayout.setSizeConstraint(QLayout::SetFixedSize);//SetMinimumSize
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   147
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   148
	setRandomSeed();
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   149
	setRandomTheme();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   150
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   151
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   152
void HWMapContainer::setImage(const QImage newImage)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   153
{
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   154
	QPixmap px(256, 128);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   155
	QPixmap pxres(256, 128);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   156
	QPainter p(&pxres);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   157
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   158
	px.fill(Qt::yellow);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   159
	QBitmap bm = QBitmap::fromImage(newImage);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   160
	px.setMask(bm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   161
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   162
	QLinearGradient linearGrad(QPoint(128, 0), QPoint(128, 128));
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   163
	linearGrad.setColorAt(1, QColor(0, 0, 192));
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   164
	linearGrad.setColorAt(0, QColor(66, 115, 225));
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   165
	p.fillRect(QRect(0, 0, 256, 128), linearGrad);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   166
	p.drawPixmap(QPoint(0, 0), px);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   167
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   168
    addInfoToPreview(pxres);
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   169
	chooseMap->setCurrentIndex(0);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   170
	pMap = 0;
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   171
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   172
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   173
void HWMapContainer::setHHLimit(int newHHLimit)
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   174
{
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   175
    hhLimit = newHHLimit;
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   176
}
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   177
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   178
void HWMapContainer::mapChanged(int index)
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   179
{
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   180
	if(!index) {
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   181
		changeImage();
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   182
		gbThemes->show();
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   183
        lblFilter->show();
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   184
        CB_TemplateFilter->show();
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   185
		emit mapChanged("+rnd+");
1874
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   186
		emit themeChanged(chooseMap->itemData(0).toList()[0].toString());
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   187
	} else
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   188
	{
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   189
		loadMap(index);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   190
		gbThemes->hide();
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   191
        lblFilter->hide();
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   192
        CB_TemplateFilter->hide();
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   193
		emit mapChanged(chooseMap->currentText());
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   194
	}
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   195
}
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   196
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   197
void HWMapContainer::loadMap(int index)
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   198
{
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   199
	QPixmap mapImage;
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   200
	if(!mapImage.load(datadir->absolutePath() + "/Maps/" + chooseMap->currentText() + "/preview.png")) {
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   201
		changeImage();
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   202
		chooseMap->setCurrentIndex(0);
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   203
		return;
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   204
	}
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   205
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   206
    hhLimit = chooseMap->itemData(index).toList()[1].toInt();
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   207
    addInfoToPreview(mapImage);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   208
}
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   209
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   210
// Should this add text to identify map size?
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   211
void HWMapContainer::addInfoToPreview(QPixmap image)
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   212
{
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   213
	QPixmap finalImage = QPixmap(image.size());
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   214
	finalImage.fill(QColor(0, 0, 0, 0));
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   215
	
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   216
	QPainter p(&finalImage);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   217
	p.drawPixmap(image.rect(), image);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   218
	//p.setPen(QColor(0xf4,0x9e,0xe9));
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   219
	p.setPen(QColor(0xff,0xcc,0x00));
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   220
	p.setBrush(QColor(0, 0, 0));
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   221
	p.drawRect(image.rect().width() - hhSmall.rect().width() - 28, 3, 40, 20);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   222
	p.setFont(QFont("MS Shell Dlg", 10));
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   223
	p.drawText(image.rect().width() - hhSmall.rect().width() - 14 - (hhLimit > 9 ? 10 : 0), 18, QString::number(hhLimit));
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   224
	p.drawPixmap(image.rect().width() - hhSmall.rect().width() - 5, 5, hhSmall.rect().width(), hhSmall.rect().height(), hhSmall);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   225
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   226
	imageButt->setIcon(finalImage);
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   227
	imageButt->setIconSize(image.size());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   228
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   229
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   230
void HWMapContainer::changeImage()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   231
{
2021
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   232
	if (pMap)
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   233
	{
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   234
		disconnect(pMap, 0, this, SLOT(setImage(const QImage)));
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   235
		disconnect(pMap, 0, this, SLOT(setHHLimit(int)));
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   236
		pMap = 0;
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   237
	}
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   238
1214
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   239
	pMap = new HWMap();
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   240
	connect(pMap, SIGNAL(ImageReceived(const QImage)), this, SLOT(setImage(const QImage)));
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   241
	connect(pMap, SIGNAL(HHLimitReceived(int)), this, SLOT(setHHLimit(int)));
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   242
	pMap->getImage(m_seed.toStdString(), getTemplateFilter());
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   243
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   244
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   245
void HWMapContainer::themeSelected(int currentRow)
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   246
{
1366
eba12c22f8ca Reorganize mapContainer widget. Fixes a bunch of bugs, improves widget.
unc0rr
parents: 1365
diff changeset
   247
	QString theme = Themes->at(currentRow);
1874
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   248
	QList<QVariant> mapInfo;
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   249
	mapInfo.push_back(theme);
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   250
	mapInfo.push_back(18);
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   251
	chooseMap->setItemData(0, mapInfo);
1224
0b9fbee5ceda - Add icons for each theme
unc0rr
parents: 1215
diff changeset
   252
	gbThemes->setIcon(QIcon(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(theme)));
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   253
	emit themeChanged(theme);
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   254
}
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   255
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   256
QString HWMapContainer::getCurrentSeed() const
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   257
{
1874
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   258
	return m_seed;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   259
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   260
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   261
QString HWMapContainer::getCurrentMap() const
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   262
{
1874
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   263
	if(!chooseMap->currentIndex()) return QString();
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   264
	return chooseMap->currentText();
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   265
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   266
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   267
QString HWMapContainer::getCurrentTheme() const
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   268
{
1790
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   269
	return chooseMap->itemData(chooseMap->currentIndex()).toList()[0].toString();
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   270
}
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   271
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   272
int HWMapContainer::getCurrentHHLimit() const
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   273
{
c84223511ca8 frontend's part of nemo patch
unc0rr
parents: 1366
diff changeset
   274
	return hhLimit;
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   275
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   276
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   277
quint32 HWMapContainer::getTemplateFilter() const
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   278
{
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   279
	return CB_TemplateFilter->itemData(CB_TemplateFilter->currentIndex()).toInt();
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   280
}
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   281
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   282
void HWMapContainer::resizeEvent ( QResizeEvent * event )
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   283
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   284
  //imageButt->setIconSize(imageButt->size());
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   285
}
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   286
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   287
void HWMapContainer::setSeed(const QString & seed)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   288
{
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   289
	m_seed = seed;
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   290
	changeImage();
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   291
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   292
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   293
void HWMapContainer::setMap(const QString & map)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   294
{
1333
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   295
	if(map == "+rnd+")
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   296
	{
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   297
		changeImage();
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   298
		return;
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   299
	}
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   300
	
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   301
	int id = chooseMap->findText(map);
1333
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   302
	if(id > 0) {
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   303
		if (pMap)
1365
2ffe20744a4a - Fix crash when changing maps
unc0rr
parents: 1348
diff changeset
   304
		{
1333
b0b0510eb82d - Fix a bug with chosen map (new clinet gets wrong information)
unc0rr
parents: 1318
diff changeset
   305
			disconnect(pMap, 0, this, SLOT(setImage(const QImage)));
2021
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   306
			disconnect(pMap, 0, this, SLOT(setHHLimit(int)));
1365
2ffe20744a4a - Fix crash when changing maps
unc0rr
parents: 1348
diff changeset
   307
			pMap = 0;
2ffe20744a4a - Fix crash when changing maps
unc0rr
parents: 1348
diff changeset
   308
		}
2021
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   309
		chooseMap->setCurrentIndex(id);
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   310
		loadMap(id);
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   311
	}
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   312
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   313
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   314
void HWMapContainer::setTheme(const QString & theme)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   315
{
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   316
	QList<QListWidgetItem *> items = lwThemes->findItems(theme, Qt::MatchExactly);
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   317
	if(items.size())
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   318
		lwThemes->setCurrentItem(items.at(0));
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   319
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   321
void HWMapContainer::setRandomSeed()
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   322
{
1874
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   323
	m_seed = QUuid::createUuid().toString();
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   324
	emit seedChanged(m_seed);
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   325
	changeImage();
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   326
}
1318
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   327
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   328
void HWMapContainer::setRandomTheme()
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   329
{
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   330
	if(!Themes->size()) return;
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   331
	quint32 themeNum = rand() % Themes->size();
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   332
	lwThemes->setCurrentRow(themeNum);
18da1c5e960d - Shut the client's tries to configure server up
unc0rr
parents: 1248
diff changeset
   333
}
1797
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   334
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   335
void HWMapContainer::setTemplateFilter(int filter)
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   336
{
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   337
	CB_TemplateFilter->setCurrentIndex(filter);
1797
fedd8649fdd9 Templates filter by nemo
unc0rr
parents: 1790
diff changeset
   338
}
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   339
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   340
void HWMapContainer::templateFilterChanged(int filter)
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   341
{
2021
a591afb43768 Some changes in try to fix issue when you enter
unc0rr
parents: 1874
diff changeset
   342
	emit newTemplateFilter(filter);
1874
1b145e099b75 - Fix a bug in map widget
unc0rr
parents: 1810
diff changeset
   343
	changeImage();
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   344
}
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
   345