2 // configdialog.cpp - Configuration dialog
5 // (C) 2010 Underground Software
7 // JLH = James L. Hammons <jlhamm@acm.org>
10 // --- ---------- -------------------------------------------------------------
11 // JLH 01/29/2010 Created this file
12 // JLH 06/23/2011 Added initial implementation
15 #include "configdialog.h"
17 #include "generaltab.h"
18 #include "controllertab.h"
19 #include "alpinetab.h"
23 ConfigDialog::ConfigDialog(QWidget * parent/*= 0*/): QDialog(parent)
25 tabWidget = new QTabWidget;
26 generalTab = new GeneralTab(this);
27 controllerTab = new ControllerTab(this);
29 if (vjs.hardwareTypeAlpine)
30 alpineTab = new AlpineTab(this);
32 tabWidget->addTab(generalTab, tr("General"));
33 tabWidget->addTab(controllerTab, tr("Controller"));
35 if (vjs.hardwareTypeAlpine)
36 tabWidget->addTab(alpineTab, tr("Alpine"));
38 buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
40 connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
41 connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
43 QVBoxLayout * mainLayout = new QVBoxLayout;
44 mainLayout->addWidget(tabWidget);
45 mainLayout->addWidget(buttonBox);
46 setLayout(mainLayout);
48 setWindowTitle(tr("Virtual Jaguar Settings"));
50 LoadDialogFromSettings();
53 ConfigDialog::~ConfigDialog()
57 void ConfigDialog::LoadDialogFromSettings(void)
59 generalTab->edit1->setText(vjs.jagBootPath);
60 generalTab->edit2->setText(vjs.CDBootPath);
61 generalTab->edit3->setText(vjs.EEPROMPath);
62 generalTab->edit4->setText(vjs.ROMPath);
64 generalTab->useBIOS->setChecked(vjs.useJaguarBIOS);
65 generalTab->useDSP->setChecked(vjs.DSPEnabled);
66 generalTab->useHostAudio->setChecked(vjs.audioEnabled);
68 if (vjs.hardwareTypeAlpine)
70 alpineTab->edit1->setText(vjs.alpineROMPath);
71 alpineTab->edit2->setText(vjs.absROMPath);
72 alpineTab->writeROM->setChecked(vjs.allowWritesToROM);
76 void ConfigDialog::UpdateVJSettings(void)
78 strcpy(vjs.jagBootPath, generalTab->edit1->text().toAscii().data());
79 strcpy(vjs.CDBootPath, generalTab->edit2->text().toAscii().data());
80 strcpy(vjs.EEPROMPath, generalTab->edit3->text().toAscii().data());
81 strcpy(vjs.ROMPath, generalTab->edit4->text().toAscii().data());
83 vjs.useJaguarBIOS = generalTab->useBIOS->isChecked();
84 vjs.DSPEnabled = generalTab->useDSP->isChecked();
85 vjs.audioEnabled = generalTab->useHostAudio->isChecked();
87 if (vjs.hardwareTypeAlpine)
89 strcpy(vjs.alpineROMPath, alpineTab->edit1->text().toAscii().data());
90 strcpy(vjs.absROMPath, alpineTab->edit2->text().toAscii().data());
91 vjs.allowWritesToROM = alpineTab->writeROM->isChecked();