]> 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 f9b3fe40de6fac0053d7ffd6a0401c45d36bd032..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()
@@ -52,6 +61,20 @@ void ConfigDialog::LoadDialogFromSettings(void)
        generalTab->edit2->setText(vjs.CDBootPath);
        generalTab->edit3->setText(vjs.EEPROMPath);
        generalTab->edit4->setText(vjs.ROMPath);
+
+       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)
@@ -60,4 +83,18 @@ void ConfigDialog::UpdateVJSettings(void)
        strcpy(vjs.CDBootPath,  generalTab->edit2->text().toAscii().data());
        strcpy(vjs.EEPROMPath,  generalTab->edit3->text().toAscii().data());
        strcpy(vjs.ROMPath,     generalTab->edit4->text().toAscii().data());
+
+       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];
 }