QTfrontend/model/netserverslist.cpp
author unc0rr
Sun, 02 Dec 2012 01:25:11 +0400
changeset 8178 8bd087478b48
parent 6952 7f70f37bbf08
child 9080 9b42757d7e71
permissions -rw-r--r--
Fix QSettings problems: - Reopen file in ReadOnly mode if it was open in ReadWrite mode and is being read. This is needed for stupid QSettings which opens file in ReadWrite mode just to call readAll() on it. - Implement setSize(0)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 883
diff changeset
     2
 * Hedgewars, a free turn based strategy game
6952
7f70f37bbf08 license header year range adjustments
sheepluva
parents: 6700
diff changeset
     3
 * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     4
 *
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     8
 *
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    13
 *
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    17
 */
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    18
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    19
#include <QUdpSocket>
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    20
#include <QListWidget>
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    21
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    22
#include "netserverslist.h"
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    23
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 664
diff changeset
    24
HWNetServersModel::HWNetServersModel(QObject* parent) :
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    25
    QAbstractTableModel(parent)
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    26
{
664
f0af2401f981 Fully implement www server list via model
unc0rr
parents: 632
diff changeset
    27
632
5e09ae25729f Half implement possibility for different backends of servers list
unc0rr
parents:
diff changeset
    28
}
665
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 664
diff changeset
    29
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 664
diff changeset
    30
void HWNetServersModel::updateList()
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 664
diff changeset
    31
{
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 664
diff changeset
    32
5c7bfc8bac6a Start move from custom widgets to custom models
unc0rr
parents: 664
diff changeset
    33
}
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    34
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    35
QVariant HWNetServersModel::headerData(int section,
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    36
                                       Qt::Orientation orientation, int role) const
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    37
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    38
    if (role != Qt::DisplayRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    39
        return QVariant();
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    40
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    41
    if (orientation == Qt::Horizontal)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    42
    {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    43
        switch (section)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    44
        {
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    45
            case 0:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    46
                return tr("Title");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    47
            case 1:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    48
                return tr("IP");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    49
            case 2:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    50
                return tr("Port");
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    51
            default:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    52
                return QVariant();
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    53
        }
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    54
    }
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6061
diff changeset
    55
    else
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    56
        return QString("%1").arg(section + 1);
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    57
}
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    58
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    59
int HWNetServersModel::rowCount(const QModelIndex &parent) const
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    60
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    61
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    62
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    63
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    64
        return games.size();
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    65
}
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    66
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    67
int HWNetServersModel::columnCount(const QModelIndex & parent) const
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    68
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    69
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    70
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    71
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1066
diff changeset
    72
        return 3;
668
0d7683a66d61 - Share much code between models
unc0rr
parents: 665
diff changeset
    73
}