QTfrontend/gamecfgwidget.cpp
changeset 4410 f9e38ce1e813
parent 4396 3cfd2e15464a
child 4416 29d2d1548387
--- a/QTfrontend/gamecfgwidget.cpp	Sun Nov 21 18:12:20 2010 -0500
+++ b/QTfrontend/gamecfgwidget.cpp	Mon Nov 22 00:34:53 2010 +0100
@@ -47,7 +47,7 @@
     QGridLayout *GBoxOptionsLayout = new QGridLayout(GBoxOptions);
 
     GameSchemes = new QComboBox(GBoxOptions);
-    GBoxOptionsLayout->addWidget(GameSchemes, 0, 1);
+    GBoxOptionsLayout->addWidget(GameSchemes, 0, 2);
     connect(GameSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeChanged(int)));
 
     GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Game scheme"), GBoxOptions), 0, 0);
@@ -59,13 +59,13 @@
     goToSchemePage->setIconSize(pmEdit.size());
     goToSchemePage->setIcon(pmEdit);
     goToSchemePage->setMaximumWidth(pmEdit.width() + 6);
-    GBoxOptionsLayout->addWidget(goToSchemePage, 0, 2);
-    connect(goToSchemePage, SIGNAL(clicked()), this, SIGNAL(goToSchemes()));
+    GBoxOptionsLayout->addWidget(goToSchemePage, 0, 3);
+    connect(goToSchemePage, SIGNAL(clicked()), this, SLOT(jumpToSchemes()));
 
     GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Weapons"), GBoxOptions), 1, 0);
 
     WeaponsName = new QComboBox(GBoxOptions);
-    GBoxOptionsLayout->addWidget(WeaponsName, 1, 1);
+    GBoxOptionsLayout->addWidget(WeaponsName, 1, 2);
 
     connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int)));
 
@@ -74,16 +74,19 @@
     goToWeaponPage->setIconSize(pmEdit.size());
     goToWeaponPage->setIcon(pmEdit);
     goToWeaponPage->setMaximumWidth(pmEdit.width() + 6);
-    GBoxOptionsLayout->addWidget(goToWeaponPage, 1, 2);
-
+    GBoxOptionsLayout->addWidget(goToWeaponPage, 1, 3);
     connect(goToWeaponPage, SIGNAL(clicked()), this, SLOT(jumpToWeapons()));
 
-    GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Bind schemes and weapons"), GBoxOptions), 2, 0);
+    //GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Bind schemes with weapons"), GBoxOptions), 2, 0);
 
     bindEntries = new QCheckBox(GBoxOptions);
-    bindEntries->setToolTip(tr("When this option is enabled selecting a game scheme will auto-select a weapon (and viceversa)"));
+    bindEntries->setToolTip(tr("When this option is enabled selecting a game scheme will auto-select a weapon"));
     bindEntries->setChecked(true);
-    GBoxOptionsLayout->addWidget(bindEntries, 2, 2);
+    bindEntries->setMaximumWidth(42);
+    bindEntries->setStyleSheet( "QCheckBox::indicator:checked   { image: url(\":/res/lock.png\"); }"
+                                "QCheckBox::indicator:unchecked { image: url(\":/res/unlock.png\");   }" );
+    GBoxOptionsLayout->addWidget(bindEntries, 0, 1, 0, 1, Qt::AlignVCenter);
+    //GBoxOptionsLayout->addWidget(bindEntries, 2, 2);
 
     connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SLOT(seedChanged(const QString &)));
     connect(pMapContainer, SIGNAL(mapChanged(const QString &)), this, SLOT(mapChanged(const QString &)));
@@ -93,6 +96,11 @@
     connect(pMapContainer, SIGNAL(newTemplateFilter(int)), this, SLOT(templateFilterChanged(int)));
 }
 
+void GameCFGWidget::jumpToSchemes()
+{
+    emit goToSchemes(GameSchemes->currentIndex());
+}
+
 void GameCFGWidget::jumpToWeapons()
 {
     emit goToWeapons(WeaponsName->currentText());
@@ -280,17 +288,6 @@
             "AMMO",
             QStringList() << WeaponsName->itemText(index) << WeaponsName->itemData(index).toString()
         );
-        if (bindEntries->isChecked() == true) {
-            QString weapName = WeaponsName->itemText(index);
-            for (int i = 0; i < GameSchemes->count(); i++) {
-                 QString schemeName = GameSchemes->itemText(i);
-                 int res = QString::compare(weapName, schemeName, Qt::CaseSensitive);
-                 if (0 == res) {
-                     GameSchemes->setCurrentIndex(i);
-                     break;
-                 }
-            }
-        }
     }
 }
 
@@ -345,6 +342,7 @@
              int res = QString::compare(weapName, schemeName, Qt::CaseSensitive);
              if (0 == res) {
                  WeaponsName->setCurrentIndex(i);
+                 emit ammoChanged(i);
                  break;
              }
         }