// See the README and GPLv3 files for licensing and warranty information
//
// JLH = James Hammons <jlhamm@acm.org>
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
//
// WHO WHEN WHAT
// --- ---------- ------------------------------------------------------------
// JLH 06/23/2011 Created this file
+// JPM Sept./2018 Added a Models & Bios tab, slashes / backslashes formatting, and screenshot path
+//
+
+// STILL TO DO:
+// To scan the bios folder for the 5 known BIOSes, and just present a radio button to choose between them...
+//
+
+#include "configdialog.h"
#include "generaltab.h"
#include "settings.h"
+//
GeneralTab::GeneralTab(QWidget * parent/*= 0*/): QWidget(parent)
{
-// I'm thinking we should scan the bios folder for the 5 known BIOSes, and
-// just present a radio button to choose between them...
-// (BIOS is built-in now...)
// QLabel * label1 = new QLabel("Boot ROM:");
// QLabel * label2 = new QLabel("CD Boot ROM:");
QLabel * label3 = new QLabel("EEPROMs:");
QLabel * label4 = new QLabel("Software:");
+ QLabel * label5 = new QLabel("Screenshots:");
// edit1 = new QLineEdit("");
// edit2 = new QLineEdit("");
edit3 = new QLineEdit("");
edit4 = new QLineEdit("");
+ edit5 = new QLineEdit("");
// edit1->setPlaceholderText("Boot ROM location");
// edit2->setPlaceholderText("CD Boot ROM location");
edit3->setPlaceholderText("EEPROM path");
edit4->setPlaceholderText("Software path");
+ edit5->setPlaceholderText("Screenshot path");
QVBoxLayout * layout1 = new QVBoxLayout;
// layout1->addWidget(label1);
// layout1->addWidget(label2);
layout1->addWidget(label3);
layout1->addWidget(label4);
+ layout1->addWidget(label5);
QVBoxLayout * layout2 = new QVBoxLayout;
// layout2->addWidget(edit1);
// layout2->addWidget(edit2);
layout2->addWidget(edit3);
layout2->addWidget(edit4);
+ layout2->addWidget(edit5);
QHBoxLayout * layout3 = new QHBoxLayout;
layout3->addLayout(layout1);
layout4->addLayout(layout3);
// Checkboxes...
+#ifndef NEWMODELSBIOSHANDLER
useBIOS = new QCheckBox(tr("Enable Jaguar BIOS"));
+#endif
useGPU = new QCheckBox(tr("Enable GPU"));
useDSP = new QCheckBox(tr("Enable DSP"));
useFullScreen = new QCheckBox(tr("Start Virtual Jaguar in full screen"));
useUnknownSoftware = new QCheckBox(tr("Show all files in file chooser"));
useFastBlitter = new QCheckBox(tr("Use fast blitter"));
+#ifndef NEWMODELSBIOSHANDLER
layout4->addWidget(useBIOS);
+#endif
layout4->addWidget(useGPU);
layout4->addWidget(useDSP);
layout4->addWidget(useFullScreen);
}
+//
GeneralTab::~GeneralTab()
{
}
// generalTab->edit2->setText(vjs.CDBootPath);
edit3->setText(vjs.EEPROMPath);
edit4->setText(vjs.ROMPath);
+ edit5->setText(vjs.screenshotPath);
+#ifndef NEWMODELSBIOSHANDLER
useBIOS->setChecked(vjs.useJaguarBIOS);
+#endif
useGPU->setChecked(vjs.GPUEnabled);
useDSP->setChecked(vjs.DSPEnabled);
useFullScreen->setChecked(vjs.fullscreen);
}
-// Save / Update the settings from the tabs dialog
+// Save & Update the settings from the tabs dialog
void GeneralTab::SetSettings(void)
{
// strcpy(vjs.jagBootPath, generalTab->edit1->text().toAscii().data());
// strcpy(vjs.CDBootPath, generalTab->edit2->text().toAscii().data());
strcpy(vjs.EEPROMPath, CheckForTrailingSlash(edit3->text()).toUtf8().data());
strcpy(vjs.ROMPath, CheckForTrailingSlash(edit4->text()).toUtf8().data());
+ strcpy(vjs.screenshotPath, CheckForTrailingSlash(edit5->text()).toUtf8().data());
+#ifndef NEWMODELSBIOSHANDLER
vjs.useJaguarBIOS = useBIOS->isChecked();
+#endif
vjs.GPUEnabled = useGPU->isChecked();
vjs.DSPEnabled = useDSP->isChecked();
vjs.fullscreen = useFullScreen->isChecked();
// Append a slash or a backslash at the end of the string
+// Depend the platform transform slashes or backslashes
QString GeneralTab::CheckForTrailingSlash(QString s)
{
if (!s.endsWith('/') && !s.endsWith('\\'))
+ {
s.append('/');
-
+ }
+#ifdef _WIN32
+ s.replace(QString("/"), QString("\\"));
+#else
+ s.replace(QString("\\"), QString("/"));
+#endif
return s;
}