home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
linuxmafia.com 2016
/
linuxmafia.com.tar
/
linuxmafia.com
/
pub
/
palmos
/
linkmaster-src-1.0.4.tar.gz
/
linkmaster-src-1.0.4.tar
/
linkmaster-1.0.4
/
prefsform.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-09-05
|
3KB
|
108 lines
/* prefsform.c
Copyright (C) 1999 Ben Darnell
This file is a part of LinkMaster,
which is distributed under the GNU GPL.
*/
#include <Pilot.h>
#include "callback.h"
#include "linkaware.h"
#include "linkmaster.h"
#include "linkmasterRsc.h"
static VoidPtr GetObjectPtr(Word id)
{
FormPtr frm;
frm=FrmGetActiveForm();
return FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, id));
}
static void InitForm()
{
LinkHistoryPrefsType histprefs;
LinkHistoryPrefsType2 histprefs2;
Word prefssize;
SWord prefsver;
Char buffer[10];
prefssize=sizeof(histprefs);
prefsver=PrefGetAppPreferences('Link', 0, &histprefs, &prefssize, true);
if (prefsver<0) {
histprefs.max=50;
histprefs.current=0;
}
prefssize=sizeof(histprefs2);
prefsver=PrefGetAppPreferences('Link', 2, &histprefs2, &prefssize, true);
if (prefsver<0) {
histprefs2.mintime=2;
histprefs2.allowdups=0;
};
StrIToA(buffer, histprefs.max);
FldInsert(GetObjectPtr(PrefsHistMaxField), buffer, StrLen(buffer));
StrIToA(buffer, histprefs2.mintime);
FldInsert(GetObjectPtr(PrefsHistMinTimeField), buffer, StrLen(buffer));
CtlSetValue(GetObjectPtr(PrefsHistAllowDups), histprefs2.allowdups);
}
static void SavePrefs()
{
LinkHistoryPrefsType histprefs;
LinkHistoryPrefsType2 histprefs2;
Word prefssize;
SWord prefsver;
/* have to get previous current value */
prefssize=sizeof(histprefs);
prefsver=PrefGetAppPreferences('Link', 0, &histprefs, &prefssize, true);
if (prefsver<0)
histprefs.current=0;
histprefs.max=StrAToI(FldGetTextPtr(GetObjectPtr(PrefsHistMaxField)));
histprefs2.mintime=StrAToI(FldGetTextPtr
(GetObjectPtr(PrefsHistMinTimeField)));
histprefs2.allowdups=CtlGetValue(GetObjectPtr(PrefsHistAllowDups));
PrefSetAppPreferences('Link', 0, 0, &histprefs, sizeof(histprefs), true);
PrefSetAppPreferences('Link', 2, 0, &histprefs2, sizeof(histprefs2), true);
}
Boolean PrefsFormHandleEvent(EventPtr e)
{
Boolean handled=false;
CALLBACK_PROLOGUE;
switch (e->eType) {
case frmOpenEvent:
InitForm();
FrmDrawForm(FrmGetActiveForm());
handled=true;
break;
case ctlSelectEvent:
switch (e->data.ctlSelect.controlID) {
case OK:
SavePrefs();
FrmReturnToForm(0);
handled=true;
break;
case Cancel:
FrmReturnToForm(0);
handled=true;
break;
};
break;
default:
break;
};
CALLBACK_EPILOGUE;
return handled;
}