diff options
Diffstat (limited to 'backends/platform/PalmOS/Src/launcher/forms/formSkins.cpp')
-rw-r--r-- | backends/platform/PalmOS/Src/launcher/forms/formSkins.cpp | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/backends/platform/PalmOS/Src/launcher/forms/formSkins.cpp b/backends/platform/PalmOS/Src/launcher/forms/formSkins.cpp deleted file mode 100644 index b4c1e222d0..0000000000 --- a/backends/platform/PalmOS/Src/launcher/forms/formSkins.cpp +++ /dev/null @@ -1,267 +0,0 @@ -#include <PalmOS.h> - -#include "palmdefs.h" -#include "start.h" -#include "forms.h" -#include "skin.h" -#include "globals.h" - -static Int16 SkinsFormCompare(SkinInfoType *a, SkinInfoType *b, SortRecordInfoPtr, SortRecordInfoPtr, MemHandle) { - return StrCompare(a->nameP, b->nameP); -} - -static void SkinsFormInit(Boolean bDraw) { - MemHandle skins = NULL; - SkinInfoType *skinsInfo; - UInt16 numSkins = 0; - - FormPtr frmP; - ListType *listP; - MemHandle items = NULL; - ControlType *cck1P; - DmSearchStateType stateInfo; - UInt16 cardNo; - LocalID dbID; - - Err errInfo; - Char nameP[32]; - - itemsText = NULL; - - // parse and save skins - Err err = DmGetNextDatabaseByTypeCreator(true, &stateInfo, 'skin', appFileCreator, false, &cardNo, &dbID); - while (!err && dbID) { - errInfo = DmDatabaseInfo (cardNo, dbID, nameP, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - if (!errInfo) - { - if (!skins) - skins = MemHandleNew(sizeof(SkinInfoType)); - else - MemHandleResize(skins, MemHandleSize(skins) + sizeof(SkinInfoType)); - - skinsInfo = (SkinInfoType *)MemHandleLock(skins); - StrCopy(skinsInfo[numSkins].nameP, nameP); - skinsInfo[numSkins].cardNo = cardNo; - skinsInfo[numSkins].dbID = dbID; - MemHandleUnlock(skins); - numSkins++; - } - err = DmGetNextDatabaseByTypeCreator(false, &stateInfo, 'skin', appFileCreator, false, &cardNo, &dbID); - } - - Int16 selected = -1; - - cck1P = (ControlType *)GetObjectPtr(SkinsSoundClickCheckbox); - CtlSetValue(cck1P, gPrefs->soundClick); - - listP = (ListType *)GetObjectPtr(SkinsSkinList); - skinsInfo = (SkinInfoType *)MemHandleLock(skins); - SysQSort(skinsInfo, numSkins, sizeof(SkinInfoType), (CmpFuncPtr)SkinsFormCompare, 0); - - // create itemsText (TODO: create a custom draw function) - for (UInt16 index=0; index < numSkins; index++) - { - if (!items) - items = MemHandleNew(sizeof(Char *)); - else - MemHandleResize(items, MemHandleSize(items) + sizeof(Char *)); - - itemsText = (Char **)MemHandleLock(items); - itemsText[index] = skinsInfo[index].nameP; - MemHandleUnlock(items); - - if ( gPrefs->skin.cardNo == skinsInfo[index].cardNo && - gPrefs->skin.dbID == skinsInfo[index].dbID && - StrCompare(gPrefs->skin.nameP, skinsInfo[index].nameP) == 0) - selected = index; - } - // save globals and set list - itemsText = (Char **)MemHandleLock(items); - itemsList = (void *)skinsInfo; - itemsType = ITEM_TYPE_SKIN; - - LstSetListChoices (listP, itemsText, numSkins); - LstSetSelection(listP, selected); - - // bDraw = true -> draw whole from - // bDraw = false -> redraw list - if (bDraw) { - frmP = FrmGetActiveForm(); - FrmDrawForm(frmP); - } else { - WinScreenLock(winLockCopy); - LstDrawList(listP); - WinScreenUnlock(); -// LstSetSelection(listP, 0); - } -} - -static void SkinsFormExit(Boolean bSave) { - MemHandle skins; - MemHandle items; - SkinInfoType *skinsInfo; - - ListType *listP; - Int16 selected; - - listP = (ListType *)GetObjectPtr(SkinsSkinList); - selected = LstGetSelection(listP); - - if (bSave && selected == -1) { // may never occured... - FrmCustomAlert(FrmWarnAlert, "You didn't select a skin.", 0, 0); - return; - } - - skinsInfo = (SkinInfoType *)itemsList; - skins = MemPtrRecoverHandle(skinsInfo); - items = MemPtrRecoverHandle(itemsText); - - itemsText = NULL; - itemsList = NULL; - itemsType = ITEM_TYPE_UNKNOWN; - - if (bSave) { - ControlType *cck1P; - - StrCopy(gPrefs->skin.nameP, skinsInfo[selected].nameP); - gPrefs->skin.cardNo = skinsInfo[selected].cardNo; - gPrefs->skin.dbID = skinsInfo[selected].dbID; - -/* DmOpenRef skinDB = SknOpenSkin(); - UInt32 depth = SknGetDepth(skinDB); - SknCloseSkin(skinDB); - - if (depth != 8 && depth != 16) depth = 8; - - if (depth == 16 && !OPTIONS_TST(kOptMode16Bit)) { - FrmCustomAlert(FrmInfoAlert, "You can only use 8bit skin on your device.", 0, 0); - gPrefs->skin.cardNo = cardNo; - gPrefs->skin.dbID = dbID; - } -*/ - cck1P = (ControlType *)GetObjectPtr(SkinsSoundClickCheckbox); - gPrefs->soundClick = CtlGetValue(cck1P); - } - - FrmReturnToMain(); - - MemHandleUnlock(items); - MemHandleUnlock(skins); - MemHandleFree(items); - MemHandleFree(skins); - - if (bSave) - SknApplySkin(); -} - -static void SkinsFormBeam() { - SkinInfoType *skinsInfo; - - ListType *listP; - Int16 selected; - Err err; - - listP = (ListType *)GetObjectPtr(SkinsSkinList); - selected = LstGetSelection(listP); - - if (selected == -1) { // may never occured... - FrmCustomAlert(FrmWarnAlert, "You didn't select a skin.", 0, 0); - return; - } - - skinsInfo = (SkinInfoType *)itemsList; - err = SendDatabase(0, skinsInfo[selected].dbID, "skin.pdb", "\nScummVM Skin"); - -// if (err) -// FrmCustomAlert(FrmErrorAlert, "Unable to beam this skin.",0,0); -} - -static void SkinsFormDelete() { - MemHandle skins; - MemHandle items; - SkinInfoType *skinsInfo; - - ListType *listP; - Int16 selected; - - listP = (ListType *)GetObjectPtr(SkinsSkinList); - selected = LstGetSelection(listP); - - if (selected == -1) { // may never occured... - FrmCustomAlert(FrmInfoAlert, "You didn't select a skin.", 0, 0); - return; - } - - skinsInfo = (SkinInfoType *)itemsList; - skins = MemPtrRecoverHandle(skinsInfo); - items = MemPtrRecoverHandle(itemsText); - - if ( gPrefs->skin.cardNo == skinsInfo[selected].cardNo && - gPrefs->skin.dbID == skinsInfo[selected].dbID && - StrCompare(gPrefs->skin.nameP, skinsInfo[selected].nameP) == 0) { - FrmCustomAlert(FrmInfoAlert, "You cannot delete the active skin.",0,0); - return; - - } else { - Err err = DmDeleteDatabase(0, skinsInfo[selected].dbID); - if (!err) { - - itemsText = NULL; - itemsList = NULL; - itemsType = ITEM_TYPE_UNKNOWN; - - MemHandleUnlock(items); - MemHandleUnlock(skins); - MemHandleFree(items); - MemHandleFree(skins); - - SkinsFormInit(false); - } else { - FrmCustomAlert(FrmErrorAlert, "Skin deletion failed.",0,0); - } - } - -} -Boolean SkinsFormHandleEvent(EventPtr eventP) { - Boolean handled = false; - - switch (eventP->eType) { - - case frmOpenEvent: - SkinsFormInit(true); - handled = true; - break; - - case frmCloseEvent: - SkinsFormExit(false); - handled = true; - break; - - case ctlSelectEvent: - switch (eventP->data.ctlSelect.controlID) - { - case SkinsOKButton: - SkinsFormExit(true); - break; - - case SkinsCancelButton: - SkinsFormExit(false); - break; - - case SkinsBeamButton: - SkinsFormBeam(); - break; - - case SkinsDeleteButton: - SkinsFormDelete(); - break; - } - handled = true; - break; - - default: - break; - } - - return handled; -} |