]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/configdialog.cpp
Small code cleanups, file picker now grabs everything it knows about by
[virtualjaguar] / src / gui / configdialog.cpp
index 3ee9a92108e31649770992c7022f113962a86460..ab12b13f02631d9f94c311f9be957156b4a4c274 100644 (file)
 
 #include "configdialog.h"
 
-#include "generaltab.h"
-#include "controllertab.h"
 #include "alpinetab.h"
+#include "controllertab.h"
+#include "controllerwidget.h"
+#include "generaltab.h"
 #include "settings.h"
 
 
@@ -24,13 +25,15 @@ ConfigDialog::ConfigDialog(QWidget * parent/*= 0*/): QDialog(parent)
 {
        tabWidget = new QTabWidget;
        generalTab = new GeneralTab(this);
-       controllerTab = new ControllerTab(this);
+       controllerTab1 = new ControllerTab(this);
+       controllerTab2 = new ControllerTab(this);
 
        if (vjs.hardwareTypeAlpine)
                alpineTab = new AlpineTab(this);
 
        tabWidget->addTab(generalTab, tr("General"));
-       tabWidget->addTab(controllerTab, tr("Controller"));
+       tabWidget->addTab(controllerTab1, tr("Controller #1"));
+       tabWidget->addTab(controllerTab2, tr("Controller #2"));
 
        if (vjs.hardwareTypeAlpine)
                tabWidget->addTab(alpineTab, tr("Alpine"));
@@ -48,6 +51,8 @@ ConfigDialog::ConfigDialog(QWidget * parent/*= 0*/): QDialog(parent)
        setWindowTitle(tr("Virtual Jaguar Settings"));
 
        LoadDialogFromSettings();
+//     controllerTab1->UpdateLabel();                          // Now it's safe to do this... ;-)
+//     controllerTab2->UpdateLabel();                          // Now it's safe to do this... ;-)
 }
 
 ConfigDialog::~ConfigDialog()
@@ -68,8 +73,17 @@ void ConfigDialog::LoadDialogFromSettings(void)
        if (vjs.hardwareTypeAlpine)
        {
                alpineTab->edit1->setText(vjs.alpineROMPath);
+               alpineTab->edit2->setText(vjs.absROMPath);
                alpineTab->writeROM->setChecked(vjs.allowWritesToROM);
        }
+
+       for(int i=0; i<21; i++)
+       {
+//             controllerTab1->p1Keys[i] = vjs.p1KeyBindings[i];
+//             controllerTab2->p1Keys[i] = vjs.p2KeyBindings[i];
+               controllerTab1->controllerWidget->keys[i] = vjs.p1KeyBindings[i];
+               controllerTab2->controllerWidget->keys[i] = vjs.p2KeyBindings[i];
+       }
 }
 
 void ConfigDialog::UpdateVJSettings(void)
@@ -86,6 +100,15 @@ void ConfigDialog::UpdateVJSettings(void)
        if (vjs.hardwareTypeAlpine)
        {
                strcpy(vjs.alpineROMPath, alpineTab->edit1->text().toAscii().data());
+               strcpy(vjs.absROMPath,    alpineTab->edit2->text().toAscii().data());
                vjs.allowWritesToROM = alpineTab->writeROM->isChecked();
        }
+
+       for(int i=0; i<21; i++)
+       {
+//             vjs.p1KeyBindings[i] = controllerTab1->p1Keys[i];
+//             vjs.p2KeyBindings[i] = controllerTab2->p1Keys[i];
+               vjs.p1KeyBindings[i] = controllerTab1->controllerWidget->keys[i];
+               vjs.p2KeyBindings[i] = controllerTab2->controllerWidget->keys[i];
+       }
 }