QTfrontend/ui/widget/roomnameprompt.cpp
changeset 8456 cc76826f14c2
child 8622 2045bdf1b11b
equal deleted inserted replaced
8455:c86c7d1fc9fc 8456:cc76826f14c2
       
     1 /*
       
     2  * Hedgewars, a free turn based strategy game
       
     3  * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
       
     4  *
       
     5  * This program is free software; you can redistribute it and/or modify
       
     6  * it under the terms of the GNU General Public License as published by
       
     7  * the Free Software Foundation; version 2 of the License
       
     8  *
       
     9  * This program is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12  * GNU General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU General Public License
       
    15  * along with this program; if not, write to the Free Software
       
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
       
    17  */
       
    18 
       
    19 #include <QDialog>
       
    20 #include <QVBoxLayout>
       
    21 #include <QHBoxLayout>
       
    22 #include <QPushButton>
       
    23 #include <QLineEdit>
       
    24 #include <QLabel>
       
    25 #include <QDebug>
       
    26 
       
    27 #include "roomnameprompt.h"
       
    28 
       
    29 RoomNamePrompt::RoomNamePrompt(QWidget* parent, const QString & roomName) : QDialog(parent)
       
    30 {
       
    31     setModal(true);
       
    32     setWindowFlags(Qt::Sheet);
       
    33     setWindowModality(Qt::WindowModal);
       
    34     setMinimumSize(360, 130);
       
    35     resize(360, 130);
       
    36     setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
       
    37 
       
    38     // Layout
       
    39     QVBoxLayout * dialogLayout = new QVBoxLayout(this);
       
    40 
       
    41     // Label
       
    42     label = new QLabel(tr("Enter a name for your room."));
       
    43     label->setWordWrap(true);
       
    44     dialogLayout->addWidget(label, 0);
       
    45 
       
    46     // Input box
       
    47     editBox = new QLineEdit();
       
    48     editBox->setText(roomName);
       
    49     editBox->setMaxLength(59); // It didn't like 60 :(
       
    50     editBox->setStyleSheet("QLineEdit { padding: 3px; }");
       
    51     editBox->selectAll();
       
    52     dialogLayout->addWidget(editBox, 1);
       
    53 
       
    54     dialogLayout->addStretch(1);
       
    55 
       
    56     // Buttons
       
    57     QHBoxLayout * buttonLayout = new QHBoxLayout();
       
    58     buttonLayout->addStretch(1);
       
    59     dialogLayout->addLayout(buttonLayout);
       
    60 
       
    61     QPushButton * btnCancel = new QPushButton(tr("Cancel"));
       
    62     QPushButton * btnOkay = new QPushButton(tr("Create room"));
       
    63     connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
       
    64     connect(btnOkay, SIGNAL(clicked()), this, SLOT(accept()));
       
    65     buttonLayout->addWidget(btnCancel);
       
    66     buttonLayout->addWidget(btnOkay);
       
    67     btnOkay->setDefault(true);
       
    68 
       
    69     setStyleSheet("QPushButton { padding: 5px; }");
       
    70 
       
    71     connect(btnOkay, SIGNAL(clicked()), this, SLOT(setRoomName()));
       
    72 }
       
    73 
       
    74 void RoomNamePrompt::setRoomName()
       
    75 {
       
    76     emit roomNameChosen(editBox->text());
       
    77 }