QTfrontend/igbox.cpp
author unc0rr
Mon, 29 Sep 2008 22:14:23 +0000
changeset 1301 c6fe8a4bfd34
parent 1248 8c77eec56bf4
child 1424 2b45d88716b0
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:
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     1
/*
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     3
 * Copyright (c) 2008 Andrey Korotaev <unC0Rr@gmail.com>
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     4
 *
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     8
 *
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    13
 *
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    17
 */
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    18
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    19
#include <QPainter>
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    20
#include <QPoint>
1193
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    21
#include <QStylePainter>
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    22
#include <QStyleOptionGroupBox>
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    23
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    24
#include "igbox.h"
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    25
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    26
IconedGroupBox::IconedGroupBox(QWidget * parent)
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    27
{
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    28
	padding = 82;
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    29
}
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    30
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    31
void IconedGroupBox::setIcon(const QIcon & icon)
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    32
{
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    33
	this->icon = icon;
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    34
	setStyleSheet(QString(
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    35
		"IconedGroupBox{"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    36
			"margin-top: 46px;"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    37
			"margin-left: 12px;"
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    38
			"padding: 22px 0px 0px 0px;"
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    39
			"}"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    40
		"IconedGroupBox::title{"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    41
			"subcontrol-origin: margin;"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    42
			"subcontrol-position: top left;"
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    43
			"padding-left: %1px;"
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    44
			"padding-top: 26px;"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    45
			"text-align: left;"
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    46
			"}"
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    47
			).arg(padding)
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1193
diff changeset
    48
	);
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    49
}
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    50
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    51
void IconedGroupBox::paintEvent(QPaintEvent * event)
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    52
{
1193
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    53
	QStylePainter painter(this);
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    54
1193
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    55
	QStyleOptionGroupBox option;
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    56
	initStyleOption(&option);
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    57
	painter.drawComplexControl(QStyle::CC_GroupBox, option);
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    58
2911384169b4 Finish iconed groupbox implementation
unc0rr
parents: 1192
diff changeset
    59
	icon.paint(&painter, QRect(QPoint(0, 0), icon.actualSize(size())));
1192
63b7961f68de Add iconed groupbox class
unc0rr
parents:
diff changeset
    60
}
1248
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    61
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    62
void IconedGroupBox::setTitleTextPadding(int px)
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    63
{
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    64
	padding = px;
8c77eec56bf4 Better theme selection widget look
unc0rr
parents: 1209
diff changeset
    65
}