QTfrontend/mapContainer.cpp
author unc0rr
Mon, 29 Sep 2008 22:14:23 +0000
changeset 1301 c6fe8a4bfd34
parent 1248 8c77eec56bf4
child 1318 18da1c5e960d
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: 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) :
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    38
  QWidget(parent), mainLayout(this)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    39
{
679
8187912107ac Qt 4.3 version only style define
displacer
parents: 677
diff changeset
    40
#if QT_VERSION >= 0x040300
682
a37b6966de84 Some misc fixes
unc0rr
parents: 679
diff changeset
    41
  mainLayout.setContentsMargins(QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin),
a37b6966de84 Some misc fixes
unc0rr
parents: 679
diff changeset
    42
                1,
a37b6966de84 Some misc fixes
unc0rr
parents: 679
diff changeset
    43
                QApplication::style()->pixelMetric(QStyle::PM_LayoutRightMargin),
a37b6966de84 Some misc fixes
unc0rr
parents: 679
diff changeset
    44
                QApplication::style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
679
8187912107ac Qt 4.3 version only style define
displacer
parents: 677
diff changeset
    45
#endif
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    46
  imageButt = new QPushButton(this);
530
f0b962214436 Easter egg (with stub image, will paint later)
unc0rr
parents: 486
diff changeset
    47
  imageButt->setObjectName("imageButt");
1214
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
    48
  imageButt->setFixedSize(256 + 6, 128 + 6);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    49
  imageButt->setFlat(true);
452
45fbb9df0c99 problems with widget sizes for net chat
displacer
parents: 331
diff changeset
    50
  imageButt->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);//QSizePolicy::Minimum, QSizePolicy::Minimum);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    51
  mainLayout.addWidget(imageButt, 0, 0, 1, 2);
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
    52
  connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomSeed()));
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    53
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    54
  chooseMap = new QComboBox(this);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    55
  chooseMap->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    56
  chooseMap->addItem(QComboBox::tr("generated map..."));
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    57
  chooseMap->addItems(*mapList);
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    58
  connect(chooseMap, SIGNAL(activated(int)), this, SLOT(mapChanged(int)));
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    59
  mainLayout.addWidget(chooseMap, 1, 1);
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
    60
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    61
  QLabel * lblMap = new QLabel(tr("Map"), this);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    62
  mainLayout.addWidget(lblMap, 1, 0);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    63
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    64
	gbThemes = new IconedGroupBox(this);
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
    65
	gbThemes->setTitleTextPadding(60);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    66
	gbThemes->setTitle(tr("Themes"));
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
    67
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
    68
	//gbThemes->setStyleSheet("padding: 0px"); // doesn't work - stylesheet is set with icon
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    69
	mainLayout.addWidget(gbThemes, 0, 2, 2, 1);
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    70
	
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    71
	QVBoxLayout * gbTLayout = new QVBoxLayout(gbThemes);
1228
8fa4a7055aff - Update copyrights
unc0rr
parents: 1224
diff changeset
    72
	gbTLayout->setContentsMargins(0, 0, 0 ,0);
8fa4a7055aff - Update copyrights
unc0rr
parents: 1224
diff changeset
    73
	gbTLayout->setSpacing(0);
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    74
	lwThemes = new QListWidget(this);
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    75
	lwThemes->setMinimumHeight(30);
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1228
diff changeset
    76
	lwThemes->setFixedWidth(120);
1211
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
    77
	for (int i = 0; i < Themes->size(); ++i) {
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
    78
		QListWidgetItem * lwi = new QListWidgetItem();
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
    79
		lwi->setText(Themes->at(i));
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
    80
		lwi->setTextAlignment(Qt::AlignHCenter);
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
    81
		lwThemes->addItem(lwi);
94c4f20abdda Fill themes list with themes
unc0rr
parents: 1210
diff changeset
    82
	}
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
    83
	connect(lwThemes, SIGNAL(currentRowChanged(int)), this, SLOT(themeSelected(int)));
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    84
	
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    85
	gbTLayout->addWidget(lwThemes);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    86
	lwThemes->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum);
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1164
diff changeset
    87
	
452
45fbb9df0c99 problems with widget sizes for net chat
displacer
parents: 331
diff changeset
    88
  mainLayout.setSizeConstraint(QLayout::SetFixedSize);//SetMinimumSize
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
    89
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
    90
  setRandomSeed();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    91
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    92
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    93
void HWMapContainer::setImage(const QImage newImage)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    94
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    95
  QPixmap px(256, 128);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    96
  QPixmap pxres(256, 128);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    97
  QPainter p(&pxres);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    98
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    99
  px.fill(Qt::yellow);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   100
  QBitmap bm = QBitmap::fromImage(newImage);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   101
  px.setMask(bm);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   102
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   103
  QLinearGradient linearGrad(QPoint(128, 0), QPoint(128, 128));
216
8d75c9ec9a78 - New cursor
unc0rr
parents: 184
diff changeset
   104
  linearGrad.setColorAt(1, QColor(0, 0, 192));
8d75c9ec9a78 - New cursor
unc0rr
parents: 184
diff changeset
   105
  linearGrad.setColorAt(0, QColor(66, 115, 225));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   106
  p.fillRect(QRect(0, 0, 256, 128), linearGrad);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   107
  p.drawPixmap(QPoint(0, 0), px);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   108
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   109
  imageButt->setIcon(pxres);
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   110
  imageButt->setIconSize(QSize(256, 128));
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   111
  chooseMap->setCurrentIndex(0);
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   112
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   113
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   114
void HWMapContainer::mapChanged(int index)
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   115
{
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   116
  if(!index) {
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   117
    changeImage();
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   118
    return;
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   119
  }
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   120
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   121
  loadMap(index);
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   122
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   123
  emit mapChanged(chooseMap->currentText());
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   124
}
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   125
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   126
void HWMapContainer::loadMap(int index)
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   127
{
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   128
  QPixmap mapImage;
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   129
  if(!mapImage.load(datadir->absolutePath() + "/Maps/" + chooseMap->currentText() + "/map.png")) {
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   130
    changeImage();
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   131
    chooseMap->setCurrentIndex(0);
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   132
    return;
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   133
  }
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   134
  imageButt->setIcon(mapImage.scaled(256, 128));
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   135
  QFile mapCfgFile(datadir->absolutePath() + "/Maps/" + chooseMap->currentText() + "/map.cfg");
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   136
  if (mapCfgFile.open(QFile::ReadOnly)) {
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   137
    QTextStream input(&mapCfgFile);
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   138
    input >> theme;
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   139
    mapCfgFile.close();
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   140
  }
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   141
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   142
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   143
void HWMapContainer::changeImage()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   144
{
1214
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   145
	pMap = new HWMap();
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   146
	connect(pMap, SIGNAL(ImageReceived(const QImage)), this, SLOT(setImage(const QImage)));
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   147
	pMap->getImage(m_seed.toStdString());
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   148
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   149
	if(!Themes->size()) return;
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   150
	quint32 themeNum = rand() % Themes->size();
090f94cd663e - Make border 3px width
unc0rr
parents: 1211
diff changeset
   151
	lwThemes->setCurrentRow(themeNum);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   152
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   153
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   154
void HWMapContainer::themeSelected(int currentRow)
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   155
{
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   156
	theme = Themes->at(currentRow);
1224
0b9fbee5ceda - Add icons for each theme
unc0rr
parents: 1215
diff changeset
   157
	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
   158
	emit themeChanged(theme);
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   159
}
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   160
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   161
QString HWMapContainer::getCurrentSeed() const
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   162
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   163
  return m_seed;
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   164
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   165
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   166
QString HWMapContainer::getCurrentMap() const
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   167
{
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   168
  if(!chooseMap->currentIndex()) return QString();
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   169
  return chooseMap->currentText();
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   170
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   171
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   172
QString HWMapContainer::getCurrentTheme() const
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   173
{
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   174
	return theme;
249
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   175
}
ff85fa029541 map choose from files added
displacer
parents: 216
diff changeset
   176
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   177
void HWMapContainer::resizeEvent ( QResizeEvent * event )
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   178
{
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   179
  //imageButt->setIconSize(imageButt->size());
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   180
}
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   181
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   182
void HWMapContainer::setSeed(const QString & seed)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   183
{
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   184
	m_seed = seed;
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   185
	changeImage();
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   186
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   187
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   188
void HWMapContainer::setMap(const QString & map)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   189
{
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   190
	int id = chooseMap->findText(map);
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   191
	if(id >= 0) {
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   192
		chooseMap->setCurrentIndex(id);
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   193
		loadMap(id);
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 329
diff changeset
   194
	}
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   195
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   196
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   197
void HWMapContainer::setTheme(const QString & theme)
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   198
{
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   199
	QList<QListWidgetItem *> items = lwThemes->findItems(theme, Qt::MatchExactly);
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   200
	if(items.size())
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   201
		lwThemes->setCurrentItem(items.at(0));
0c1c294c0f7e Themes list now works
unc0rr
parents: 1214
diff changeset
   202
	//this->theme = theme;
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   203
}
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   204
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   205
void HWMapContainer::setRandomSeed()
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   206
{
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   207
  m_seed = QUuid::createUuid().toString();
329
4c3aad46baa5 Send game parameters by net... Currently it leads to infinite loop, flooding traffic with messages about changes
unc0rr
parents: 325
diff changeset
   208
  emit seedChanged(m_seed);
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   209
  changeImage();
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 314
diff changeset
   210
}