QTfrontend/ui/widget/teamselect.cpp
author Wuzzy <Wuzzy2@mail.ru>
Wed, 25 Oct 2017 23:09:41 +0200
changeset 12763 ad67a3804981
parent 12688 e095ed002652
child 13230 d5a029299407
permissions -rw-r--r--
Fix sometimes ammo schemes not being saved after changing before an ammo scheme got deleted in session This was because the bool isDeleting is not initialized, so its initial value is unpredictable. Which means there's chance it starts with true, confusing the frontend.
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: 884
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4410
diff changeset
     3
 * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10248
diff changeset
     4
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    16
 * 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: 9998
diff changeset
    17
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    19
572
302ad5c3836d gcc 4.3 related patch - missing header added :)
displacer
parents: 535
diff changeset
    20
#include <algorithm>
302ad5c3836d gcc 4.3 related patch - missing header added :)
displacer
parents: 535
diff changeset
    21
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    22
#include <QLabel>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    23
#include <QPixmap>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include <QPushButton>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    25
#include <QFrame>
884
99cc72c8a812 - Some debug info
unc0rr
parents: 572
diff changeset
    26
#include <QDebug>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    27
2522
42986b9ebc74 moves project files to proper directory
koda
parents: 2377
diff changeset
    28
#include "vertScrollArea.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    29
#include "teamselect.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    30
#include "teamselhelper.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    31
#include "frameTeam.h"
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    32
339
7535ab6c3820 Run game message added, team and config info provided for net game
displacer
parents: 322
diff changeset
    33
void TeamSelWidget::addTeam(HWTeam team)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    34
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    35
    if(team.isNetTeam())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    36
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    37
        framePlaying->addTeam(team, true);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    38
        curPlayingTeams.push_back(team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    39
        connect(framePlaying->getTeamWidget(team), SIGNAL(hhNmChanged(const HWTeam&)),
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    40
                this, SLOT(hhNumChanged(const HWTeam&)));
8910
a60f7ebab219 Fix hedgehogs number desync. Now all desyncs except the one from issue 521 should be fixed. Please, test.
unc0rr
parents: 8886
diff changeset
    41
        blockSignals(true);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    42
        dynamic_cast<TeamShowWidget*>(framePlaying->getTeamWidget(team))->hhNumChanged();
8910
a60f7ebab219 Fix hedgehogs number desync. Now all desyncs except the one from issue 521 should be fixed. Please, test.
unc0rr
parents: 8886
diff changeset
    43
        blockSignals(false);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    44
        connect(framePlaying->getTeamWidget(team), SIGNAL(teamColorChanged(const HWTeam&)),
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    45
                this, SLOT(proxyTeamColorChanged(const HWTeam&)));
12688
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
    46
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
    47
        // Hide team notice if at least two teams.
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
    48
        if (curPlayingTeams.size() >= 2)
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
    49
        {
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
    50
            numTeamNotice->hide();
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
    51
        }
373
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
    52
    }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    53
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    54
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    55
        frameDontPlaying->addTeam(team, false);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    56
        m_curNotPlayingTeams.push_back(team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    57
        if(m_acceptOuter)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    58
        {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    59
            connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    60
                    this, SLOT(pre_changeTeamStatus(HWTeam)));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    61
        }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    62
        else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    63
        {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    64
            connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    65
                    this, SLOT(changeTeamStatus(HWTeam)));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    66
        }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    67
    }
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
    68
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    69
    emit setEnabledGameStart(curPlayingTeams.size()>1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
1475
bab5650fc894 - Fix ConfigAsked not sending full config (leads to team divide checkbox inconsistency)
unc0rr
parents: 1425
diff changeset
    72
void TeamSelWidget::setInteractivity(bool interactive)
362
b28e0dd48269 hedgehogs num modification now allowed to chief client only
displacer
parents: 356
diff changeset
    73
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    74
    framePlaying->setInteractivity(interactive);
362
b28e0dd48269 hedgehogs num modification now allowed to chief client only
displacer
parents: 356
diff changeset
    75
}
b28e0dd48269 hedgehogs num modification now allowed to chief client only
displacer
parents: 356
diff changeset
    76
352
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
    77
void TeamSelWidget::hhNumChanged(const HWTeam& team)
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
    78
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    79
    QList<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    80
    if(itPlay==curPlayingTeams.end())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    81
    {
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: 5773
diff changeset
    82
        qWarning() << QString("hhNumChanged: team '%1' not found").arg(team.name());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    83
        return;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    84
    }
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: 5773
diff changeset
    85
    itPlay->setNumHedgehogs(team.numHedgehogs());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    86
    emit hhogsNumChanged(team);
352
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
    87
}
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
    88
372
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
    89
void TeamSelWidget::proxyTeamColorChanged(const HWTeam& team)
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
    90
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    91
    QList<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    92
    if(itPlay==curPlayingTeams.end())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    93
    {
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: 5773
diff changeset
    94
        qWarning() << QString("proxyTeamColorChanged: team '%1' not found").arg(team.name());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    95
        return;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    96
    }
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: 5773
diff changeset
    97
    itPlay->setColor(team.color());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
    98
    emit teamColorChanged(team);
372
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
    99
}
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
   100
352
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
   101
void TeamSelWidget::changeHHNum(const HWTeam& team)
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
   102
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   103
    QList<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   104
    if(itPlay==curPlayingTeams.end())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   105
    {
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: 5773
diff changeset
   106
        qWarning() << QString("changeHHNum: team '%1' not found").arg(team.name());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   107
        return;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   108
    }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   109
    itPlay->setNumHedgehogs(team.numHedgehogs());
352
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
   110
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   111
    framePlaying->setHHNum(team);
352
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
   112
}
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
   113
372
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
   114
void TeamSelWidget::changeTeamColor(const HWTeam& team)
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
   115
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   116
    QList<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   117
    if(itPlay==curPlayingTeams.end())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   118
    {
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: 5773
diff changeset
   119
        qWarning() << QString("changeTeamColor: team '%1' not found").arg(team.name());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   120
        return;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   121
    }
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: 5773
diff changeset
   122
    itPlay->setColor(team.color());
372
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
   123
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   124
    framePlaying->setTeamColor(team);
372
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
   125
}
4bac77f8cd38 network colors (alpha)
displacer
parents: 362
diff changeset
   126
347
6521e1b2cd40 more correct remove net teams
displacer
parents: 341
diff changeset
   127
void TeamSelWidget::removeNetTeam(const HWTeam& team)
6521e1b2cd40 more correct remove net teams
displacer
parents: 341
diff changeset
   128
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   129
    //qDebug() << QString("removeNetTeam: removing team '%1'").arg(team.TeamName);
10248
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   130
    QList<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   131
    if(itPlay==curPlayingTeams.end())
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   132
    {
10248
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   133
        qWarning() << QString("removeNetTeam: team '%1' not found").arg(team.name());
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   134
        return;
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   135
    }
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   136
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   137
    if(itPlay->isNetTeam())
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   138
    {
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   139
        QObject::disconnect(framePlaying->getTeamWidget(*itPlay), SIGNAL(teamStatusChanged(HWTeam)));
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   140
        framePlaying->removeTeam(team);
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   141
        curPlayingTeams.erase(itPlay);
12688
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   142
        // Show team notice if less than two teams.
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   143
        if (curPlayingTeams.size() < 2)
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   144
        {
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   145
            numTeamNotice->show();
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   146
        }
10248
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   147
    }
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   148
    else
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   149
    {
7b9b44a051f8 Fix some of issues found by coverity
unc0rr
parents: 10108
diff changeset
   150
        qWarning() << QString("removeNetTeam: team '%1' was actually a local team!").arg(team.name());
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   151
    }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   152
    emit setEnabledGameStart(curPlayingTeams.size()>1);
347
6521e1b2cd40 more correct remove net teams
displacer
parents: 341
diff changeset
   153
}
6521e1b2cd40 more correct remove net teams
displacer
parents: 341
diff changeset
   154
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   155
void TeamSelWidget::changeTeamStatus(HWTeam team)
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   156
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   157
    QList<HWTeam>::iterator itDontPlay=std::find(m_curNotPlayingTeams.begin(), m_curNotPlayingTeams.end(), team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   158
    QList<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   159
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   160
    bool willBePlaying=itDontPlay!=m_curNotPlayingTeams.end();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   161
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   162
    if(!willBePlaying)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   163
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   164
        // playing team => dont playing
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   165
        m_curNotPlayingTeams.push_back(*itPlay);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   166
        emit teamNotPlaying(*itPlay);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   167
        curPlayingTeams.erase(itPlay);
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   168
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   169
        // Show team notice if less than two teams.
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   170
        if (curPlayingTeams.size() < 2)
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   171
        {
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   172
            numTeamNotice->show();
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   173
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   174
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   175
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   176
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   177
        // return if max playing teams reached
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   178
        if(framePlaying->isFullTeams()) return;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   179
        // dont playing team => playing
7145
1d1a14b39400 Fix a bug with wrong state of teams list when color isn't changed manually
unc0rr
parents: 6952
diff changeset
   180
        itDontPlay->setColor(framePlaying->getNextColor());
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   181
        team=*itDontPlay; // for net team info saving in framePlaying (we have only name with netID from network)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   182
        curPlayingTeams.push_back(*itDontPlay);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   183
        if(!m_acceptOuter) emit teamWillPlay(*itDontPlay);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   184
        m_curNotPlayingTeams.erase(itDontPlay);
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   185
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   186
        // Hide team notice if at least two teams.
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   187
        if (curPlayingTeams.size() >= 2)
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   188
        {
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   189
            numTeamNotice->hide();
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   190
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   191
    }
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   192
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   193
    FrameTeams* pRemoveTeams;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   194
    FrameTeams* pAddTeams;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   195
    if(!willBePlaying)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   196
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   197
        pRemoveTeams=framePlaying;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   198
        pAddTeams=frameDontPlaying;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   199
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   200
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   201
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   202
        pRemoveTeams=frameDontPlaying;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   203
        pAddTeams=framePlaying;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   204
    }
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   205
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   206
    pAddTeams->addTeam(team, willBePlaying);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   207
    pRemoveTeams->removeTeam(team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   208
    if(!team.isNetTeam() && m_acceptOuter && !willBePlaying)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   209
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   210
        connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   211
                this, SLOT(pre_changeTeamStatus(HWTeam)));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   212
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   213
    else
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   214
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   215
        connect(pAddTeams->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   216
                this, SLOT(changeTeamStatus(HWTeam)));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   217
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   218
    if(willBePlaying)
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   219
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   220
        connect(framePlaying->getTeamWidget(team), SIGNAL(hhNmChanged(const HWTeam&)),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   221
                this, SLOT(hhNumChanged(const HWTeam&)));
8910
a60f7ebab219 Fix hedgehogs number desync. Now all desyncs except the one from issue 521 should be fixed. Please, test.
unc0rr
parents: 8886
diff changeset
   222
        blockSignals(true);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   223
        dynamic_cast<TeamShowWidget*>(framePlaying->getTeamWidget(team))->hhNumChanged();
8910
a60f7ebab219 Fix hedgehogs number desync. Now all desyncs except the one from issue 521 should be fixed. Please, test.
unc0rr
parents: 8886
diff changeset
   224
        blockSignals(false);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   225
        connect(framePlaying->getTeamWidget(team), SIGNAL(teamColorChanged(const HWTeam&)),
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   226
                this, SLOT(proxyTeamColorChanged(const HWTeam&)));
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   227
        emit teamColorChanged(((TeamShowWidget*)framePlaying->getTeamWidget(team))->getTeam());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   228
    }
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   229
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   230
    QSize szh=pAddTeams->sizeHint();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   231
    QSize szh1=pRemoveTeams->sizeHint();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   232
    if(szh.isValid() && szh1.isValid())
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   233
    {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   234
        pAddTeams->resize(pAddTeams->size().width(), szh.height());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   235
        pRemoveTeams->resize(pRemoveTeams->size().width(), szh1.height());
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   236
    }
492
78e80f899b59 disable start game button with teams num < 2
displacer
parents: 486
diff changeset
   237
8430
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   238
    repaint();
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   239
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   240
    emit setEnabledGameStart(curPlayingTeams.size()>1);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   241
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   242
12298
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   243
void TeamSelWidget::addScrArea(FrameTeams* pfteams, QColor color, int minHeight, int maxHeight, bool setFrame)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   244
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   245
    VertScrArea* area = new VertScrArea(color);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   246
    area->setWidget(pfteams);
12298
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   247
    mainLayout.addWidget(area);
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   248
    if (minHeight > 0)
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   249
        area->setMinimumHeight(minHeight);
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   250
    if (maxHeight > 0)
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   251
        area->setMaximumHeight(maxHeight);
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   252
    if (setFrame)
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   253
    {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   254
        area->setStyleSheet(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   255
            "FrameTeams{"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   256
            "border: solid;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   257
            "border-width: 1px;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   258
            "border-radius: 16px;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   259
            "border-color: #ffcc00;"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   260
            "}"
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   261
        );
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   262
    }
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   263
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   264
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   265
TeamSelWidget::TeamSelWidget(QWidget* parent) :
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   266
    QGroupBox(parent), mainLayout(this), m_acceptOuter(false)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   267
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   268
    setTitle(QGroupBox::tr("Playing teams"));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   269
    framePlaying = new FrameTeams();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   270
    frameDontPlaying = new FrameTeams();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2110
diff changeset
   271
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   272
    // Add notice about number of required teams.
8726
ef2abeafa7cb better message, as suggested by inu
koda
parents: 8432
diff changeset
   273
    numTeamNotice = new QLabel(tr("At least two teams are required to play!"));
8886
5c521d1fdd63 Fixed map preview overlap on certain locales (Fixes issue 549).
dag10
parents: 8726
diff changeset
   274
    numTeamNotice->setWordWrap(true);
8140
a098374b847b A bit of refactoring
unc0rr
parents: 8129
diff changeset
   275
    mainLayout.addWidget(numTeamNotice);
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
   276
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   277
    QPalette p;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2522
diff changeset
   278
    p.setColor(QPalette::Window, QColor(0x00, 0x00, 0x00));
12298
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   279
    addScrArea(framePlaying, p.color(QPalette::Window).light(105), 161, 325, true);
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
   280
    addScrArea(frameDontPlaying, p.color(QPalette::Window).dark(105), 80, 0, false);
8886
5c521d1fdd63 Fixed map preview overlap on certain locales (Fixes issue 549).
dag10
parents: 8726
diff changeset
   281
5c521d1fdd63 Fixed map preview overlap on certain locales (Fixes issue 549).
dag10
parents: 8726
diff changeset
   282
    this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
5c521d1fdd63 Fixed map preview overlap on certain locales (Fixes issue 549).
dag10
parents: 8726
diff changeset
   283
    this->setMinimumWidth(200);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   284
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   285
373
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
   286
void TeamSelWidget::setAcceptOuter(bool acceptOuter)
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
   287
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   288
    m_acceptOuter=acceptOuter;
373
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
   289
}
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
   290
231
c77b16e48273 bots power icons added
displacer
parents: 207
diff changeset
   291
void TeamSelWidget::resetPlayingTeams(const QList<HWTeam>& teamslist)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   292
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   293
    //for(it=curPlayingTeams.begin(); it!=curPlayingTeams.end(); it++) {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   294
    //framePlaying->removeTeam(*it);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   295
    //}
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   296
    framePlaying->resetTeams();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   297
    framePlaying->resetColors();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   298
    curPlayingTeams.clear();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   299
    //for(it=curDontPlayingTeams.begin(); it!=curDontPlayingTeams.end(); it++) {
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   300
    //frameDontPlaying->removeTeam(*it);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   301
    //}
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   302
    frameDontPlaying->resetTeams();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   303
    m_curNotPlayingTeams.clear();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   304
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   305
    foreach(HWTeam team, teamslist)
8430
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   306
        addTeam(team);
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   307
12688
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   308
    numTeamNotice->show();
e095ed002652 Fix "at least 2 teams" warning not updated when net team is added/removed
Wuzzy <almikes@aol.com>
parents: 12298
diff changeset
   309
8430
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   310
    repaint();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   311
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   312
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 7523
diff changeset
   313
bool TeamSelWidget::isPlaying(const HWTeam &team) const
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   314
{
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 7523
diff changeset
   315
    return curPlayingTeams.contains(team);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   316
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   317
352
4665bfe25470 first buggy hedgehogs num net change
displacer
parents: 348
diff changeset
   318
QList<HWTeam> TeamSelWidget::getPlayingTeams() const
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   319
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   320
    return curPlayingTeams;
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   321
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   322
5773
c277657854a2 Some renaming
unc0rr
parents: 5772
diff changeset
   323
QList<HWTeam> TeamSelWidget::getNotPlayingTeams() const
535
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 523
diff changeset
   324
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   325
    return m_curNotPlayingTeams;
535
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 523
diff changeset
   326
}
a14eaf35cf4b "Setup" button instead of "New team", exclude playing teams from setup
displacer
parents: 523
diff changeset
   327
12217
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   328
unsigned short TeamSelWidget::getNumHedgehogs() const
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   329
{
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   330
    unsigned short numHogs = 0;
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   331
    QList<HWTeam>::const_iterator team;
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   332
    for(team = curPlayingTeams.begin(); team != curPlayingTeams.end(); ++team)
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   333
    {
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   334
        numHogs += (*team).numHedgehogs();
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   335
    }
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   336
    return numHogs;
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   337
}
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   338
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 7523
diff changeset
   339
void TeamSelWidget::pre_changeTeamStatus(const HWTeam & team)
373
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
   340
{
7145
1d1a14b39400 Fix a bug with wrong state of teams list when color isn't changed manually
unc0rr
parents: 6952
diff changeset
   341
    //team.setColor(framePlaying->getNextColor());
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
   342
    emit acceptRequested(team);
373
df912aab6b7e network team add can be denied by server
displacer
parents: 372
diff changeset
   343
}
8430
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   344
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   345
void TeamSelWidget::repaint()
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   346
{
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   347
    QWidget::repaint();
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   348
    framePlaying->repaint();
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8424
diff changeset
   349
    frameDontPlaying->repaint();
8432
f2d57e987ba9 small cleanup, fix ancient warning (the "itPlay" one)
sheepluva
parents: 8430
diff changeset
   350
}