QTfrontend/pagescheme.cpp
changeset 6042 8b5345758f62
parent 6009 14f6fc9869f2
equal deleted inserted replaced
6040:a740069c21e3 6042:8b5345758f62
    15  * along with this program; if not, write to the Free Software
    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
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    17  */
    17  */
    18 
    18 
    19 #include <QGridLayout>
    19 #include <QGridLayout>
       
    20 #include <QHBoxLayout>
    20 #include <QPushButton>
    21 #include <QPushButton>
    21 #include <QGroupBox>
    22 #include <QGroupBox>
    22 #include <QComboBox>
    23 #include <QComboBox>
    23 #include <QLabel>
    24 #include <QLabel>
    24 #include <QLineEdit>
    25 #include <QLineEdit>
    28 
    29 
    29 #include "ammoSchemeModel.h"
    30 #include "ammoSchemeModel.h"
    30 #include "pagescheme.h"
    31 #include "pagescheme.h"
    31 #include "misc.h"
    32 #include "misc.h"
    32 
    33 
    33 PageScheme::PageScheme(QWidget* parent) :
    34 
    34     AbstractPage(parent)
    35 QLayout * PageScheme::bodyLayoutDefinition()
    35 {
    36 {
    36     QGridLayout * pageLayout = new QGridLayout(this);
    37     QGridLayout * pageLayout = new QGridLayout();
    37     QGroupBox * gb = new QGroupBox(this);
    38     QGroupBox * gb = new QGroupBox(this);
    38 
    39 
    39     QGridLayout * gl = new QGridLayout();
    40     QGridLayout * gl = new QGridLayout();
    40     gb->setLayout(gl);
    41     gb->setLayout(gl);
    41     QSizePolicy sp;
    42     QSizePolicy sp;
    45     pageLayout->addWidget(gb, 1,0,13,5);
    46     pageLayout->addWidget(gb, 1,0,13,5);
    46 
    47 
    47     gbGameModes = new QGroupBox(QGroupBox::tr("Game Modifiers"), gb);
    48     gbGameModes = new QGroupBox(QGroupBox::tr("Game Modifiers"), gb);
    48     gbBasicSettings = new QGroupBox(QGroupBox::tr("Basic Settings"), gb);
    49     gbBasicSettings = new QGroupBox(QGroupBox::tr("Basic Settings"), gb);
    49 
    50 
       
    51     // TODO name stuff and put CSS into main style sheet
    50     gbGameModes->setStyleSheet(".QGroupBox {"
    52     gbGameModes->setStyleSheet(".QGroupBox {"
    51             "background-color: #130f2c; background-image:url();"
    53             "background-color: #130f2c; background-image:url();"
    52             "}");
    54             "}");
    53     gbBasicSettings->setStyleSheet(".QGroupBox {"
    55     gbBasicSettings->setStyleSheet(".QGroupBox {"
    54             "background-color: #130f2c; background-image:url();"
    56             "background-color: #130f2c; background-image:url();"
   386     LE_name = new QLineEdit(this);
   388     LE_name = new QLineEdit(this);
   387 
   389 
   388     gl->addWidget(LE_name,15,1,1,5);
   390     gl->addWidget(LE_name,15,1,1,5);
   389     gl->addWidget(l,15,0,1,1);
   391     gl->addWidget(l,15,0,1,1);
   390 
   392 
   391     mapper = new QDataWidgetMapper(this);
   393     return pageLayout;
   392 
   394 }
   393 
   395 
   394     BtnBack = addButton(":/res/Exit.png", pageLayout, 16, 0, true);
   396 QLayout * PageScheme::footerLayoutDefinition()
   395     connect(BtnBack, SIGNAL(clicked()), this, SIGNAL(goBack()));
   397 {
   396 
   398     QHBoxLayout * bottomLayout = new QHBoxLayout();
   397 
       
   398     BtnCopy = addButton(tr("Copy"), pageLayout, 16, 2);
       
   399     BtnNew = addButton(tr("New"), pageLayout, 16, 3);
       
   400     BtnDelete = addButton(tr("Delete"), pageLayout, 16, 4);
       
   401 
       
   402     selectScheme = new QComboBox(this);
   399     selectScheme = new QComboBox(this);
   403     pageLayout->addWidget(selectScheme, 16, 1);
   400 
   404 
   401     bottomLayout->addWidget(selectScheme, 0);
       
   402     BtnCopy = addButton(tr("Copy"), bottomLayout, 1);
       
   403     BtnNew = addButton(tr("New"), bottomLayout, 2);
       
   404     BtnDelete = addButton(tr("Delete"), bottomLayout, 3);
       
   405 
       
   406     bottomLayout->setStretch(1,1);
       
   407     bottomLayout->setStretch(2,1);
       
   408     bottomLayout->setStretch(3,1);
       
   409 
       
   410     return bottomLayout;
       
   411 }
       
   412 
       
   413 void PageScheme::connectSignals()
       
   414 {
   405     connect(BtnCopy, SIGNAL(clicked()), this, SLOT(copyRow()));
   415     connect(BtnCopy, SIGNAL(clicked()), this, SLOT(copyRow()));
   406     connect(BtnNew, SIGNAL(clicked()), this, SLOT(newRow()));
   416     connect(BtnNew, SIGNAL(clicked()), this, SLOT(newRow()));
   407     connect(BtnDelete, SIGNAL(clicked()), this, SLOT(deleteRow()));
   417     connect(BtnDelete, SIGNAL(clicked()), this, SLOT(deleteRow()));
       
   418     mapper = new QDataWidgetMapper(this);
   408     connect(selectScheme, SIGNAL(currentIndexChanged(int)), mapper, SLOT(setCurrentIndex(int)));
   419     connect(selectScheme, SIGNAL(currentIndexChanged(int)), mapper, SLOT(setCurrentIndex(int)));
   409     connect(selectScheme, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeSelected(int)));
   420     connect(selectScheme, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeSelected(int)));
       
   421 }
       
   422 
       
   423 PageScheme::PageScheme(QWidget* parent) : AbstractPage(parent)
       
   424 {
       
   425     initPage();
   410 }
   426 }
   411 
   427 
   412 void PageScheme::setModel(QAbstractItemModel * model)
   428 void PageScheme::setModel(QAbstractItemModel * model)
   413 {
   429 {
   414     mapper->setModel(model);
   430     mapper->setModel(model);
   488     int c = ((AmmoSchemeModel*)mapper->model())->numberOfDefaultSchemes;
   504     int c = ((AmmoSchemeModel*)mapper->model())->numberOfDefaultSchemes;
   489     gbGameModes->setEnabled(n >= c);
   505     gbGameModes->setEnabled(n >= c);
   490     gbBasicSettings->setEnabled(n >= c);
   506     gbBasicSettings->setEnabled(n >= c);
   491     LE_name->setEnabled(n >= c);
   507     LE_name->setEnabled(n >= c);
   492 }
   508 }
       
   509 
       
   510