aboutsummaryrefslogtreecommitdiff
path: root/backends/PalmOS/Src/forms/formMisc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/PalmOS/Src/forms/formMisc.cpp')
-rw-r--r--backends/PalmOS/Src/forms/formMisc.cpp115
1 files changed, 115 insertions, 0 deletions
diff --git a/backends/PalmOS/Src/forms/formMisc.cpp b/backends/PalmOS/Src/forms/formMisc.cpp
new file mode 100644
index 0000000000..f62ef88136
--- /dev/null
+++ b/backends/PalmOS/Src/forms/formMisc.cpp
@@ -0,0 +1,115 @@
+#include <PalmOS.h>
+
+#include "start.h"
+#include "forms.h"
+
+/***********************************************************************
+ *
+ * FUNCTION: MiscOptionsFormSave
+ * FUNCTION: MiscOptionsFormInit
+ * FUNCTION: MiscOptionsFormHandleEvent
+ *
+ * DESCRIPTION: Misc. Options form functions
+ *
+ * REVISION HISTORY:
+ *
+ *
+ ***********************************************************************/
+
+static void MiscOptionsFormSave() {
+
+ FieldType *fld1P;
+ ControlType *cck1P, *cck2P, *cck3P, *cck4P, *cck5P, *cck6P, *cck7P, *cck8P;
+ FormPtr frmP;
+
+ fld1P = (FieldType *)GetObjectPtr(MiscOptionsDebugLevelField);
+
+ cck1P = (ControlType *)GetObjectPtr(MiscOptionsVibratorCheckbox);
+ cck2P = (ControlType *)GetObjectPtr(MiscOptionsNoAutoOffCheckbox);
+ cck3P = (ControlType *)GetObjectPtr(MiscOptionsStdPaletteCheckbox);
+ cck4P = (ControlType *)GetObjectPtr(MiscOptionsDebugCheckbox);
+ cck5P = (ControlType *)GetObjectPtr(MiscOptionsWriteIniCheckbox);
+ cck6P = (ControlType *)GetObjectPtr(MiscOptionsAutoResetCheckbox);
+ cck7P = (ControlType *)GetObjectPtr(MiscOptionsDemoCheckbox);
+ cck8P = (ControlType *)GetObjectPtr(MiscOptionsFullscreenCheckbox);
+
+ frmP = FrmGetActiveForm();
+
+ if (FldGetTextLength(fld1P) == 0 && CtlGetValue(cck4P) == 1) {
+ FrmCustomAlert(FrmWarnAlert,"You must specified a debug level.",0,0);
+ FrmSetFocus(frmP, FrmGetObjectIndex(frmP, MiscOptionsDebugLevelField));
+ return;
+ }
+
+ gPrefs->vibrator = CtlGetValue(cck1P);
+ gPrefs->autoOff = !CtlGetValue(cck2P);
+ gPrefs->stdPalette = CtlGetValue(cck3P);
+ gPrefs->debug = CtlGetValue(cck4P);
+ gPrefs->saveConfig = CtlGetValue(cck5P);
+ gPrefs->autoReset = CtlGetValue(cck6P);
+ gPrefs->demoMode = CtlGetValue(cck7P);
+ gPrefs->fullscreen = CtlGetValue(cck8P);
+
+ gPrefs->debugLevel = StrAToI(FldGetTextPtr(fld1P));
+
+ FrmReturnToMain();
+}
+
+static void MiscOptionsFormInit() {
+
+ FieldType *fld1P;
+ FormPtr frmP;
+
+ Char *levelP;
+ MemHandle levelH;
+
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsVibratorCheckbox), gPrefs->vibrator);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsNoAutoOffCheckbox), !gPrefs->autoOff);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsStdPaletteCheckbox), gPrefs->stdPalette);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsAutoResetCheckbox), gPrefs->autoReset);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsDebugCheckbox), gPrefs->debug);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsWriteIniCheckbox), gPrefs->saveConfig);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsDemoCheckbox), gPrefs->demoMode);
+ CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsFullscreenCheckbox), gPrefs->fullscreen);
+
+ fld1P = (FieldType *)GetObjectPtr(MiscOptionsDebugLevelField);
+
+ levelH = MemHandleNew(FldGetMaxChars(fld1P)+1);
+ levelP = (Char *)MemHandleLock(levelH);
+ StrIToA(levelP, gPrefs->debugLevel);
+ MemHandleUnlock(levelH);
+
+ FldSetTextHandle(fld1P, levelH);
+ frmP = FrmGetActiveForm();
+ FrmDrawForm(frmP);
+}
+
+Boolean MiscOptionsFormHandleEvent(EventPtr eventP) {
+ Boolean handled = false;
+
+ switch (eventP->eType) {
+ case frmOpenEvent:
+ MiscOptionsFormInit();
+ handled = true;
+ break;
+
+ case ctlSelectEvent:
+ switch (eventP->data.ctlSelect.controlID)
+ {
+ case MiscOptionsOKButton:
+ MiscOptionsFormSave();
+ break;
+
+ case MiscOptionsCancelButton:
+ FrmReturnToMain();
+ break;
+ }
+ handled = true;
+ break;
+
+ default:
+ break;
+ }
+
+ return handled;
+} \ No newline at end of file