]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/configdialog.cpp
Added auto-pause when going into/out of the file selector.
[virtualjaguar] / src / gui / configdialog.cpp
index f2cc06e708857d585252d1e96f20d991b1d53ebf..23b2008adbfa0ed8cd34d592f0707723efa21dfd 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "generaltab.h"
 #include "controllertab.h"
+#include "alpinetab.h"
 #include "settings.h"
 
 
@@ -24,9 +25,16 @@ ConfigDialog::ConfigDialog(QWidget * parent/*= 0*/): QDialog(parent)
        tabWidget = new QTabWidget;
        generalTab = new GeneralTab(this);
        controllerTab = new ControllerTab(this);
+
+       if (vjs.hardwareTypeAlpine)
+               alpineTab = new AlpineTab(this);
+
        tabWidget->addTab(generalTab, tr("General"));
        tabWidget->addTab(controllerTab, tr("Controller"));
 
+       if (vjs.hardwareTypeAlpine)
+               tabWidget->addTab(alpineTab, tr("Alpine"));
+
        buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
 
        connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
@@ -40,6 +48,7 @@ ConfigDialog::ConfigDialog(QWidget * parent/*= 0*/): QDialog(parent)
        setWindowTitle(tr("Virtual Jaguar Settings"));
 
        LoadDialogFromSettings();
+       controllerTab->UpdateLabel();                           // Now it's safe to do this... ;-)
 }
 
 ConfigDialog::~ConfigDialog()
@@ -56,6 +65,16 @@ void ConfigDialog::LoadDialogFromSettings(void)
        generalTab->useBIOS->setChecked(vjs.useJaguarBIOS);
        generalTab->useDSP->setChecked(vjs.DSPEnabled);
        generalTab->useHostAudio->setChecked(vjs.audioEnabled);
+
+       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++)
+               controllerTab->p1Keys[i] = vjs.p1KeyBindings[i];
 }
 
 void ConfigDialog::UpdateVJSettings(void)
@@ -68,4 +87,14 @@ void ConfigDialog::UpdateVJSettings(void)
        vjs.useJaguarBIOS = generalTab->useBIOS->isChecked();
        vjs.DSPEnabled    = generalTab->useDSP->isChecked();
        vjs.audioEnabled  = generalTab->useHostAudio->isChecked();
+
+       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] = controllerTab->p1Keys[i];
 }