X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Fconfigdialog.cpp;h=709940c3f4a63efafbefec3743b74923e394e78e;hb=f30bf746981a99079e766b0d4e9de5391a4175ff;hp=5c8e0b33a2d64ed76aa655922d550e0ee3e2ce4b;hpb=166019baeee39e3867ecf6c4eddd0855dc3507a4;p=virtualjaguar diff --git a/src/gui/configdialog.cpp b/src/gui/configdialog.cpp index 5c8e0b3..709940c 100644 --- a/src/gui/configdialog.cpp +++ b/src/gui/configdialog.cpp @@ -1,22 +1,24 @@ // // configdialog.cpp - Configuration dialog // -// by James L. Hammons +// by James Hammons // (C) 2010 Underground Software // -// JLH = James L. Hammons +// JLH = James Hammons // // Who When What // --- ---------- ------------------------------------------------------------- // JLH 01/29/2010 Created this file // JLH 06/23/2011 Added initial implementation +// JLH 10/14/2011 Fixed possibly missing final slash in paths // #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 +26,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 +52,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() @@ -62,6 +68,7 @@ void ConfigDialog::LoadDialogFromSettings(void) generalTab->edit4->setText(vjs.ROMPath); generalTab->useBIOS->setChecked(vjs.useJaguarBIOS); + generalTab->useGPU->setChecked(vjs.GPUEnabled); generalTab->useDSP->setChecked(vjs.DSPEnabled); generalTab->useHostAudio->setChecked(vjs.audioEnabled); @@ -73,17 +80,23 @@ void ConfigDialog::LoadDialogFromSettings(void) } for(int i=0; i<21; i++) - controllerTab->p1Keys[i] = vjs.p1KeyBindings[i]; + { + controllerTab1->controllerWidget->keys[i] = vjs.p1KeyBindings[i]; + controllerTab2->controllerWidget->keys[i] = vjs.p2KeyBindings[i]; + } } void ConfigDialog::UpdateVJSettings(void) { strcpy(vjs.jagBootPath, generalTab->edit1->text().toAscii().data()); strcpy(vjs.CDBootPath, generalTab->edit2->text().toAscii().data()); - strcpy(vjs.EEPROMPath, generalTab->edit3->text().toAscii().data()); - strcpy(vjs.ROMPath, generalTab->edit4->text().toAscii().data()); + strcpy(vjs.EEPROMPath, CheckForTrailingSlash( + generalTab->edit3->text()).toAscii().data()); + strcpy(vjs.ROMPath, CheckForTrailingSlash( + generalTab->edit4->text()).toAscii().data()); vjs.useJaguarBIOS = generalTab->useBIOS->isChecked(); + vjs.GPUEnabled = generalTab->useGPU->isChecked(); vjs.DSPEnabled = generalTab->useDSP->isChecked(); vjs.audioEnabled = generalTab->useHostAudio->isChecked(); @@ -95,5 +108,16 @@ void ConfigDialog::UpdateVJSettings(void) } for(int i=0; i<21; i++) - vjs.p1KeyBindings[i] = controllerTab->p1Keys[i]; + { + vjs.p1KeyBindings[i] = controllerTab1->controllerWidget->keys[i]; + vjs.p2KeyBindings[i] = controllerTab2->controllerWidget->keys[i]; + } +} + +QString ConfigDialog::CheckForTrailingSlash(QString s) +{ + if (!s.endsWith('/') && !s.endsWith('\\')) + s.append('/'); + + return s; }