QTfrontend/ui/page/pagegamestats.cpp
author nemo
Sun, 04 Jan 2015 00:44:14 -0500
branch0.9.21
changeset 10743 1d16c5414fee
parent 10393 c3daae6fd723
child 11046 47a8c19ecb60
permissions -rw-r--r--
Intent is to allow filtering by arbitrary flag combinations. This isn't actually working yet. No idea why. It seems it should. Tired though, so will look at it tomorrow.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     1
/*
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
9998
736015b847e3 update copyright to 2014
sheepluva
parents: 9178
diff changeset
     3
 * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     4
 *
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     8
 *
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    13
 *
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 10017
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    17
 */
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    18
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    19
#include <QLabel>
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    20
#include <QGridLayout>
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
    21
#include <QHBoxLayout>
1625
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
    22
#include <QGraphicsScene>
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    23
#include <QGroupBox>
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    24
#include <QSizePolicy>
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5028
diff changeset
    25
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5028
diff changeset
    26
#include "pagegamestats.h"
3381
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
    27
#include "team.h"
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    28
1636
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    29
FitGraphicsView::FitGraphicsView(QWidget* parent) : QGraphicsView(parent)
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    30
{
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    31
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    32
}
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    33
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    34
void FitGraphicsView::resizeEvent(QResizeEvent * event)
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    35
{
4560
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4217
diff changeset
    36
    Q_UNUSED(event);
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4217
diff changeset
    37
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    38
    fitInView(sceneRect());
1636
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    39
}
e528696f2177 Resize health graphic when form is resized
unc0rr
parents: 1625
diff changeset
    40
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
    41
QLayout * PageGameStats::bodyLayoutDefinition()
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    42
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
    43
    kindOfPoints = QString("");
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
    44
    defaultGraphTitle = true;
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
    45
    QGridLayout * pageLayout = new QGridLayout();
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    46
    pageLayout->setSpacing(20);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    47
    pageLayout->setColumnStretch(0, 1);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    48
    pageLayout->setColumnStretch(1, 1);
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
    49
    pageLayout->setRowStretch(0, 1);
9175
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    50
    pageLayout->setRowStretch(1, 20);
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    51
    //pageLayout->setRowStretch(1, -1); this should work but there is unnecessary empty space betwin lines if used
5916
c76212c34192 fix back button location in post-game stats screen
sheepluva
parents: 5734
diff changeset
    52
    pageLayout->setContentsMargins(7, 7, 7, 0);
c76212c34192 fix back button location in post-game stats screen
sheepluva
parents: 5734
diff changeset
    53
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    54
    QGroupBox * gb = new QGroupBox(this);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    55
    QVBoxLayout * gbl = new QVBoxLayout;
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
    56
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    57
    // details
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    58
    labelGameStats = new QLabel(this);
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    59
    QLabel * l = new QLabel(this);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    60
    l->setTextFormat(Qt::RichText);
3815
8754f7874395 Frontend: improve statsPage (clean up translation strings)
TheXception
parents: 3788
diff changeset
    61
    l->setText("<h1><img src=\":/res/StatsD.png\"> " + PageGameStats::tr("Details") + "</h1>");
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    62
    l->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    63
    labelGameStats->setTextFormat(Qt::RichText);
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    64
    labelGameStats->setAlignment(Qt::AlignTop);
5028
3c43f00b0743 This should fix http://code.google.com/p/hedgewars/issues/detail?id=153
shreyasbp@gmail.com
parents: 4976
diff changeset
    65
    labelGameStats->setWordWrap(true);
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    66
    gbl->addWidget(l);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    67
    gbl->addWidget(labelGameStats);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    68
    gb->setLayout(gbl);
9175
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    69
    pageLayout->addWidget(gb, 1, 1);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    70
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    71
    // graph
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    72
    graphic = new FitGraphicsView(gb);
9175
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    73
    labelGraphTitle = new QLabel(this);
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    74
    labelGraphTitle->setTextFormat(Qt::RichText);
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    75
    labelGraphTitle->setText("<br><h1><img src=\":/res/StatsH.png\"> " + PageGameStats::tr("Health graph") + "</h1>");
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    76
    labelGraphTitle->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
    77
    gbl->addWidget(labelGraphTitle);
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    78
    gbl->addWidget(graphic);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    79
    graphic->scale(1.0, -1.0);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    80
    graphic->setBackgroundBrush(QBrush(Qt::black));
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    81
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    82
    labelGameWin = new QLabel(this);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    83
    labelGameWin->setTextFormat(Qt::RichText);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    84
    pageLayout->addWidget(labelGameWin, 0, 0, 1, 2);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    85
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    86
    // ranking box
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    87
    gb = new QGroupBox(this);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    88
    gbl = new QVBoxLayout;
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    89
    labelGameRank = new QLabel(gb);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    90
    l = new QLabel(this);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    91
    l->setTextFormat(Qt::RichText);
3815
8754f7874395 Frontend: improve statsPage (clean up translation strings)
TheXception
parents: 3788
diff changeset
    92
    l->setText("<h1><img src=\":/res/StatsR.png\"> " + PageGameStats::tr("Ranking") + "</h1>");
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    93
    l->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    94
    gbl->addWidget(l);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    95
    gbl->addWidget(labelGameRank);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    96
    gb->setLayout(gbl);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    97
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    98
    labelGameRank->setTextFormat(Qt::RichText);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
    99
    labelGameRank->setAlignment(Qt::AlignTop);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   100
    pageLayout->addWidget(gb, 1, 0);
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   101
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   102
    return pageLayout;
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   103
}
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   104
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   105
//TODO button placement, image etc
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   106
QLayout * PageGameStats::footerLayoutDefinition()
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   107
{
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   108
    QHBoxLayout * bottomLayout = new QHBoxLayout();
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   109
9039
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   110
    mainNote = new QLabel(this);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   111
    mainNote->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   112
    mainNote->setWordWrap(true);
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   113
9039
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   114
    bottomLayout->addWidget(mainNote, 0);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   115
    bottomLayout->setStretch(0,1);
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   116
9039
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   117
    btnRestart = addButton(":/res/Start.png", bottomLayout, 1, true);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   118
    btnRestart->setWhatsThis(tr("Play again"));
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   119
    btnRestart->setFixedWidth(58);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   120
    btnRestart->setFixedHeight(81);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   121
    btnRestart->setStyleSheet("QPushButton{margin-top:24px}");
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   122
    btnSave = addButton(":/res/Save.png", bottomLayout, 2, true);
24e1ccd9326f place better the current replay button
Periklis Ntanasis <pntanasis@gmail.com>
parents: 8901
diff changeset
   123
    btnSave->setWhatsThis(tr("Save"));
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   124
    btnSave->setStyleSheet("QPushButton{margin: 24px 0 0 0;}");
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   125
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   126
    return bottomLayout;
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   127
}
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   128
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   129
void PageGameStats::connectSignals()
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   130
{
8384
a6e7a95f3b2e GCI2012: Abstract Page Load
dag10
parents: 7842
diff changeset
   131
    connect(this, SIGNAL(pageEnter()), this, SLOT(renderStats()));
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   132
    connect(btnSave, SIGNAL(clicked()), this, SIGNAL(saveDemoRequested()));
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   133
    connect(btnRestart, SIGNAL(clicked()), this, SIGNAL(restartGameRequested()));
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   134
}
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   135
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   136
PageGameStats::PageGameStats(QWidget* parent) : AbstractPage(parent)
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   137
{
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6015
diff changeset
   138
    initPage();
1621
d1ded2532d3f - svn maintenance
unc0rr
parents:
diff changeset
   139
}
1622
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   140
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   141
void PageGameStats::AddStatText(const QString & msg)
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   142
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   143
    labelGameStats->setText(labelGameStats->text() + msg);
1622
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   144
}
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   145
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   146
void PageGameStats::clear()
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   147
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   148
    labelGameStats->setText("");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   149
    healthPoints.clear();
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   150
    labelGameRank->setText("");
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   151
    playerPosition = 0;
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   152
    lastColor = 0;
1625
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   153
}
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   154
8901
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   155
void PageGameStats::restartBtnVisible(bool visible)
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   156
{
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   157
    btnRestart->setVisible(visible);
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   158
}
505307b9735d implementation of a restart-game button. location and appearance is not final :P
thunderstruck
parents: 8384
diff changeset
   159
1625
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   160
void PageGameStats::renderStats()
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   161
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   162
    graphic->show();
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   163
    labelGraphTitle-> show();
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   164
    if(defaultGraphTitle) {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   165
        labelGraphTitle->setText("<br><h1><img src=\":/res/StatsH.png\"> " + PageGameStats::tr("Health graph") + "</h1>");
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   166
    } else {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   167
        defaultGraphTitle = true;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   168
    }
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   169
    // if not health data sent
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   170
    if(healthPoints.size() == 0) {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   171
        labelGraphTitle->hide();
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   172
        graphic->hide();
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   173
    } else {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   174
        QGraphicsScene * scene = new QGraphicsScene();
1625
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   175
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   176
        QMap<quint32, QVector<quint32> >::const_iterator i = healthPoints.constBegin();
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   177
        while (i != healthPoints.constEnd())
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   178
        {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   179
            quint32 c = i.key();
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   180
            //QColor clanColor = QColor(qRgb((c >> 16) & 255, (c >> 8) & 255, c & 255));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   181
            QVector<quint32> hps = i.value();
2377
f3fab2b09e0c And in frontend
nemo
parents: 1904
diff changeset
   182
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   183
            QPainterPath path;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   184
            if (hps.size())
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   185
                path.moveTo(0, hps[0]);
1625
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   186
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   187
            for(int t = 1; t < hps.size(); ++t)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   188
                path.lineTo(t, hps[t]);
1625
37aae47943ce Initial health graphic implementation
unc0rr
parents: 1623
diff changeset
   189
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   190
            scene->addPath(path, QPen(c));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   191
            ++i;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   192
        }
9175
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
   193
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   194
        graphic->setScene(scene);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   195
        graphic->fitInView(graphic->sceneRect());
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   196
    }
1622
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   197
}
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   198
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   199
void PageGameStats::GameStats(char type, const QString & info)
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   200
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   201
    switch(type)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   202
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   203
        case 'r' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   204
        {
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   205
            labelGameWin->setText(QString("<h1 align=\"center\">%1</h1>").arg(info));
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   206
            break;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   207
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   208
        case 'D' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   209
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   210
            int i = info.indexOf(' ');
10393
c3daae6fd723 Fix issue 813
unc0rr
parents: 10108
diff changeset
   211
            int num = info.left(i).toInt();
c3daae6fd723 Fix issue 813
unc0rr
parents: 10108
diff changeset
   212
            QString message = "<p><img src=\":/res/StatsBestShot.png\"> " + PageGameStats::tr("The best shot award was won by <b>%1</b> with <b>%2</b> pts.", "", num).arg(info.mid(i + 1), info.left(i)) + "</p>";
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   213
            AddStatText(message);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   214
            break;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   215
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   216
        case 'k' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   217
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   218
            int i = info.indexOf(' ');
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   219
            int num = info.left(i).toInt();
3815
8754f7874395 Frontend: improve statsPage (clean up translation strings)
TheXception
parents: 3788
diff changeset
   220
            QString message = "<p><img src=\":/res/StatsBestKiller.png\"> " + PageGameStats::tr("The best killer is <b>%1</b> with <b>%2</b> kills in a turn.", "", num).arg(info.mid(i + 1), info.left(i)) + "</p>";
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   221
            AddStatText(message);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   222
            break;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   223
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   224
        case 'K' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   225
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   226
            int num = info.toInt();
3815
8754f7874395 Frontend: improve statsPage (clean up translation strings)
TheXception
parents: 3788
diff changeset
   227
            QString message = "<p><img src=\":/res/StatsHedgehogsKilled.png\"> " +  PageGameStats::tr("A total of <b>%1</b> hedgehog(s) were killed during this round.", "", num).arg(num) + "</p>";
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   228
            AddStatText(message);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   229
            break;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   230
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   231
        case 'H' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   232
        {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   233
            int i = info.indexOf(' ');
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   234
            quint32 clan = info.left(i).toInt();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   235
            quint32 hp = info.mid(i + 1).toUInt();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   236
            healthPoints[clan].append(hp);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   237
            break;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   238
        }
9175
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
   239
        case 'g' :
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
   240
        {
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   241
            // TODO: change default picture or add change pic capability
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   242
            defaultGraphTitle = false;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   243
            labelGraphTitle->setText("<br><h1><img src=\":/res/StatsR.png\"> " + info + "</h1>");
9175
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
   244
            break;
dc3c0e44f7f3 added option to change stats graph title
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9172
diff changeset
   245
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   246
        case 'T':   // local team stats
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   247
        {
3381
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   248
            //AddStatText("<p>local team: " + info + "</p>");
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   249
            QStringList infol = info.split(":");
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   250
            HWTeam team(infol[0]);
6015
daffc14a518a cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents: 6009
diff changeset
   251
            if(team.fileExists()) // do some better test to avoid influence from scripted/predefined teams?
3381
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   252
            {
6015
daffc14a518a cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents: 6009
diff changeset
   253
                team.loadFromFile();
daffc14a518a cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents: 6009
diff changeset
   254
                team.incRounds();
3381
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   255
                if(infol[1].toInt() > 0) // might require some better test for winning condition (or changed flag) ... WIP!
6015
daffc14a518a cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents: 6009
diff changeset
   256
                    team.incWins(); // should draws count as wins?
3381
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   257
                //team.SaveToFile(); // don't save yet
f8800c44b3de Engine:
smxx
parents: 3236
diff changeset
   258
            }
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   259
            break;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   260
        }
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   261
        case 'p' :
9178
c0902317c823 created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9177
diff changeset
   262
        {
c0902317c823 created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9177
diff changeset
   263
            kindOfPoints = info;
c0902317c823 created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9177
diff changeset
   264
            break;
c0902317c823 created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9177
diff changeset
   265
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   266
        case 'P' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   267
        {
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   268
            int i = info.indexOf(' ');
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   269
            playerPosition++;
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   270
            QString color = info.left(i);
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   271
            quint32 c = color.toInt();
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   272
            QColor clanColor = QColor(qRgb((c >> 16) & 255, (c >> 8) & 255, c & 255));
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   273
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   274
            QString playerinfo = info.mid(i + 1);
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   275
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   276
            i = playerinfo.indexOf(' ');
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   277
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   278
            int kills = playerinfo.left(i).toInt();
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   279
            QString playername = playerinfo.mid(i + 1);
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   280
            QString image;
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   281
4217
721bfa5f4f31 Fix wrong order in results screen when players team up
TheException
parents: 4192
diff changeset
   282
            if (lastColor == c) playerPosition--;
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   283
            lastColor = c;
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   284
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   285
            switch (playerPosition)
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   286
            {
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   287
                case 1:
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   288
                    image = "<img src=\":/res/StatsMedal1.png\">";
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   289
                    break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   290
                case 2:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   291
                    image = "<img src=\":/res/StatsMedal2.png\">";
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   292
                    break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   293
                case 3:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   294
                    image = "<img src=\":/res/StatsMedal3.png\">";
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   295
                    break;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   296
                default:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   297
                    image = "<img src=\":/res/StatsMedal4.png\">";
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   298
                    break;
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   299
            }
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   300
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   301
            QString message;
9178
c0902317c823 created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9177
diff changeset
   302
            QString killstring;
c0902317c823 created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9177
diff changeset
   303
            if(kindOfPoints.compare("") == 0) {
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   304
                killstring = PageGameStats::tr("(%1 kill)", "", kills).arg(kills);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   305
            } else {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   306
                killstring = PageGameStats::tr("(%1 %2)", "", kills).arg(kills).arg(kindOfPoints);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   307
                kindOfPoints = QString("");
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 9998
diff changeset
   308
            }
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   309
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   310
            message = QString("<p><h2>%1 %2. <font color=\"%4\">%3</font> ").arg(image, QString::number(playerPosition), playername, clanColor.name()) + killstring + "</h2></p>";
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   311
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   312
            labelGameRank->setText(labelGameRank->text() + message);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   313
            break;
4176
4e3942f5827c Fix i18n of plural forms
unc0rr
parents: 3815
diff changeset
   314
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   315
        case 's' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   316
        {
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   317
            int i = info.indexOf(' ');
4177
6acd599eee52 Fix some more messages
unc0rr
parents: 4176
diff changeset
   318
            int num = info.left(i).toInt();
4192
67e1a683e9b3 Fix stats messages
unc0rr
parents: 4177
diff changeset
   319
            QString message = "<p><img src=\":/res/StatsMostSelfDamage.png\"> " + PageGameStats::tr("<b>%1</b> thought it's good to shoot his own hedgehogs with <b>%2</b> pts.", "", num).arg(info.mid(i + 1)).arg(num) + "</p>";
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   320
            AddStatText(message);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   321
            break;
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   322
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   323
        case 'S' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   324
        {
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   325
            int i = info.indexOf(' ');
4177
6acd599eee52 Fix some more messages
unc0rr
parents: 4176
diff changeset
   326
            int num = info.left(i).toInt();
4192
67e1a683e9b3 Fix stats messages
unc0rr
parents: 4177
diff changeset
   327
            QString message = "<p><img src=\":/res/StatsSelfKilled.png\"> " + PageGameStats::tr("<b>%1</b> killed <b>%2</b> of his own hedgehogs.", "", num).arg(info.mid(i + 1)).arg(num) + "</p>";
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   328
            AddStatText(message);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   329
            break;
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   330
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   331
        case 'B' :
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   332
        {
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   333
            int i = info.indexOf(' ');
4177
6acd599eee52 Fix some more messages
unc0rr
parents: 4176
diff changeset
   334
            int num = info.left(i).toInt();
4192
67e1a683e9b3 Fix stats messages
unc0rr
parents: 4177
diff changeset
   335
            QString message = "<p><img src=\":/res/StatsSkipped.png\"> " + PageGameStats::tr("<b>%1</b> was scared and skipped turn <b>%2</b> times.", "", num).arg(info.mid(i + 1)).arg(num) + "</p>";
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   336
            AddStatText(message);
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   337
            break;
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   338
        }
9172
72bfa6a3e8e2 added custom stats message
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9080
diff changeset
   339
        case 'c' :
72bfa6a3e8e2 added custom stats message
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9080
diff changeset
   340
        {
72bfa6a3e8e2 added custom stats message
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9080
diff changeset
   341
            QString message = "<p><img src=\":/res/StatsCustomAchievement.png\"> "+info+" </p>";
72bfa6a3e8e2 added custom stats message
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9080
diff changeset
   342
            AddStatText(message);
72bfa6a3e8e2 added custom stats message
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9080
diff changeset
   343
            break;
72bfa6a3e8e2 added custom stats message
Periklis Ntanasis <pntanasis@gmail.com>
parents: 9080
diff changeset
   344
        }
3788
9aa8a832e296 adds prettier after-game statistics page with more stats
TheXception
parents: 3381
diff changeset
   345
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
   346
    }
1622
8e0d62727f01 Fully separate statistics code from main form code
unc0rr
parents: 1621
diff changeset
   347
}