QTfrontend/ui/page/pagenetserver.cpp
author dag10
Sun, 27 Jan 2013 20:17:30 -0500
changeset 8453 06541556df53
parent 6952 7f70f37bbf08
child 8609 3f6c08223aa1
permissions -rw-r--r--
Reorganized layout and appearance of rooms list page. Creating a new room uses a dialog prompt for the room name, which is preset to whatever your last room name was. Removed dotted rectangle around selected cell in rooms list. Removed bug where gamecfgwidget would be in master mode when joining a game as a slave. Can now join selected room when return is pressed. Can also move room selection while room search box has focus.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     1
/*
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
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>
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     4
 *
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     8
 *
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    12
 * GNU General Public License for more details.
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    13
 *
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    17
 */
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    18
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    19
#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: 6009
diff changeset
    20
#include <QHBoxLayout>
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: 6009
diff changeset
    21
#include <QVBoxLayout>
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    22
#include <QPushButton>
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    23
#include <QGroupBox>
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    24
#include <QLabel>
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    25
#include <QLineEdit>
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    26
#include <QSpinBox>
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    27
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 5080
diff changeset
    28
#include "pagenetserver.h"
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    29
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: 6009
diff changeset
    30
QLayout * PageNetServer::bodyLayoutDefinition()
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    31
{
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: 6009
diff changeset
    32
    QVBoxLayout * pageLayout = new QVBoxLayout();
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    33
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    34
    QWidget * wg = new QWidget(this);
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: 6009
diff changeset
    35
    pageLayout->addWidget(wg);
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    36
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    37
    QGridLayout * wgLayout = new QGridLayout(wg);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    38
    wgLayout->setColumnStretch(0, 1);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    39
    wgLayout->setColumnStretch(1, 3);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    40
    wgLayout->setColumnStretch(2, 1);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    41
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    42
    wgLayout->setRowStretch(0, 0);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    43
    wgLayout->setRowStretch(1, 1);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    44
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    45
    QGroupBox * gb = new QGroupBox(wg);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    46
    wgLayout->addWidget(gb, 0, 1);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    47
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    48
    QGridLayout * gbLayout = new QGridLayout(gb);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    49
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    50
    labelSD = new QLabel(gb);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    51
    labelSD->setText(QLabel::tr("Server name:"));
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    52
    gbLayout->addWidget(labelSD, 0, 0);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    53
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    54
    leServerDescr = new QLineEdit(gb);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    55
    gbLayout->addWidget(leServerDescr, 0, 1);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    56
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    57
    labelPort = new QLabel(gb);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    58
    labelPort->setText(QLabel::tr("Server port:"));
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    59
    gbLayout->addWidget(labelPort, 1, 0);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    60
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    61
    sbPort = new QSpinBox(gb);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    62
    sbPort->setMinimum(0);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    63
    sbPort->setMaximum(65535);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    64
    gbLayout->addWidget(sbPort, 1, 1);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    65
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    66
    BtnDefault = new QPushButton(gb);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    67
    BtnDefault->setText(QPushButton::tr("default"));
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    68
    gbLayout->addWidget(BtnDefault, 1, 2);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    69
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: 6009
diff changeset
    70
    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: 6009
diff changeset
    71
}
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: 6009
diff changeset
    72
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: 6009
diff changeset
    73
QLayout * PageNetServer::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: 6009
diff changeset
    74
{
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: 6009
diff changeset
    75
    QHBoxLayout * bottomLayout = new QHBoxLayout();
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: 6009
diff changeset
    76
6171
8627698134b6 fix layout of net page
sheepluva
parents: 6060
diff changeset
    77
    BtnStart = formattedButton(QPushButton::tr("Start"));
8627698134b6 fix layout of net page
sheepluva
parents: 6060
diff changeset
    78
    BtnStart->setMinimumWidth(180);
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: 6009
diff changeset
    79
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: 6009
diff changeset
    80
    bottomLayout->addStretch();
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: 6009
diff changeset
    81
    bottomLayout->addWidget(BtnStart);
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: 6009
diff changeset
    82
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: 6009
diff changeset
    83
    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: 6009
diff changeset
    84
}
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: 6009
diff changeset
    85
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: 6009
diff changeset
    86
void PageNetServer::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: 6009
diff changeset
    87
{
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    88
    connect(BtnDefault, SIGNAL(clicked()), this, SLOT(setDefaultPort()));
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    89
}
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    90
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: 6009
diff changeset
    91
PageNetServer::PageNetServer(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: 6009
diff changeset
    92
{
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: 6009
diff changeset
    93
    initPage();
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: 6009
diff changeset
    94
}
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: 6009
diff changeset
    95
5080
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    96
void PageNetServer::setDefaultPort()
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    97
{
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    98
    sbPort->setValue(46631);
2e29c1e1c9cd I forgot to add this file.
Zorg <zorgiepoo@gmail.com>
parents:
diff changeset
    99
}