#include "configdialog.h"
-#include "generaltab.h"
+#include "alpinetab.h"
#include "controllertab.h"
+#include "controllerwidget.h"
+#include "generaltab.h"
#include "settings.h"
{
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"));
buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
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()
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++)
+ {
+// 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)
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] = controllerTab1->p1Keys[i];
+// vjs.p2KeyBindings[i] = controllerTab2->p1Keys[i];
+ vjs.p1KeyBindings[i] = controllerTab1->controllerWidget->keys[i];
+ vjs.p2KeyBindings[i] = controllerTab2->controllerWidget->keys[i];
+ }
}