+void MainWin::Configure(void)
+{
+ // Call the configuration dialog and update settings
+ ConfigDialog dlg(this);
+ //ick.
+ dlg.generalTab->useUnknownSoftware->setChecked(allowUnknownSoftware);
+
+ if (dlg.exec() == false)
+ return;
+
+ QString before = vjs.ROMPath;
+ bool audioBefore = vjs.audioEnabled;
+ dlg.UpdateVJSettings();
+ QString after = vjs.ROMPath;
+ bool audioAfter = vjs.audioEnabled;
+
+ bool allowOld = allowUnknownSoftware;
+ //ick.
+ allowUnknownSoftware = dlg.generalTab->useUnknownSoftware->isChecked();
+
+ // We rescan the "software" folder if the user either changed the path or
+ // checked/unchecked the "Allow unknown files" option in the config dialog.
+ if ((before != after) || (allowOld != allowUnknownSoftware))
+ filePickWin->ScanSoftwareFolder(allowUnknownSoftware);
+
+ // If the "Enable audio" checkbox changed, then we have to re-init the DAC...
+ if (audioBefore != audioAfter)
+ {
+ DACDone();
+ DACInit();
+ }
+
+ // Just in case we crash before a clean exit...
+ WriteSettings();
+}
+