static void SelectTo() { FormPtr frmP = FrmGetActiveForm(); if (FormIsNot(frmP, FormReply)) return; SendPref pref; ReadSendPreference(pref); if (pref.useFingerAddress) { if (FasSearchAvailable()) { SelectUsingFingerAddr(); return; } } FieldPtr fieldTo = (FieldPtr) GetObjectPtr(frmP, FieldTo); FldSetSelection(fieldTo, 0, StrLen(FldGetTextPtr(fieldTo))); AddrLookupParamsType params; MemSet(¶ms, sizeof(AddrLookupParamsType), 0); params.formatStringP = "^mobile"; params.field1 = addrLookupSortField; params.field2 = addrLookupMobile; params.field2Optional = false; params.userShouldInteract = true; PhoneNumberLookupCustom (fieldTo, ¶ms, true); FrmSetFocus(frmP, FrmGetObjectIndex(frmP, FieldCompose)); }
static void AnnotationFormInit( void ) { FormType* annotationForm; annotationForm = FrmGetFormPtr( frmAnnotation ); if ( ( entryP->flags & ANNOTATION_BOOKMARK ) && entryP->id.indexInParagraph == NEW_ANNOTATION ) { SetFormTitle( annotationForm, strAddBookmarkTitle ); } else { SetFormTitle( annotationForm, strAnnotationTitle ); } scrollBar = GetObjectPtr( frmAnnotationScrollBar ); if ( Prefs()->scrollbar == SCROLLBAR_LEFT ) { SetObjectPosition( annotationForm, frmAnnotationField, false ); SetObjectPosition( annotationForm, frmAnnotationScrollBar, true ); } field = GetObjectPtr( frmAnnotationField ); CtlSetUsable( GetObjectPtr( frmAnnotationDelete ), entryP->id.indexInParagraph != NEW_ANNOTATION ); FrmDrawForm( annotationForm ); InsertText( field, data ); if ( entryP->id.indexInParagraph == NEW_ANNOTATION ) FldSetSelection( field, 0, StrLen( data ) ); else FldSetInsertionPoint( field, 0 ); UpdateFieldScrollbar( field, scrollBar ); FrmSetFocus( annotationForm, FrmGetObjectIndex( annotationForm, frmAnnotationField ) ); }
static Err UserCredentialsFormInit(FormType* form, const FlickrPrefs& prefs) { FieldType* field; MemHandle handle; MemHandle newText; UInt16 len; FrmSetEventHandler(form, UserCredentialsFormHandleEvent); field = (FieldType*)FrmGetObjectPtr(form, FrmGetObjectIndex(form, emailField)); assert(field != NULL); // FldSetMaxVisibleLines(field, 2); if (0 != (len = StrLen(prefs.email))) { newText = StrCopyToHandle(prefs.email, len); if (NULL == newText) return exgMemError; handle = FldGetTextHandle(field); if (NULL != handle) MemHandleFree(handle); FldSetTextHandle(field, newText); FldSetSelection(field, 0, len); FldRecalculateField(field, false); } if (0 != (len = StrLen(prefs.password))) { field = (FieldType*)FrmGetObjectPtr(form, FrmGetObjectIndex(form, passwordField)); assert(field != NULL); newText = StrCopyToHandle(prefs.password, len); if (NULL == newText) return exgMemError; handle = FldGetTextHandle(field); if (NULL != handle) MemHandleFree(handle); FldSetTextHandle(field, newText); FldSetSelection(field, 0, len); FldRecalculateField(field, false); } return errNone; }
static void URLFormInit(FormType *frmP) { GlobalsPtr gP = GetGlobals(); if (gP->navigationOpen) { FieldPtr urlFldP = GetObjectPtr(kURLField); // TODO: Get current page's URL instead! FldInsert(urlFldP, gP->navigationOpen, StrLen(gP->navigationOpen)); FldSetSelection(urlFldP, 0, StrLen(gP->navigationOpen)); } FrmSetFocus(frmP, FrmGetObjectIndex(frmP, kURLField)); }
static Err ForwardCurrentRecord(DmOpenRef db) { FormPtr form = FrmGetActiveForm(); if (FormIsNot(form, FormReply)) return frmErrNotTheForm; MemHandle memHandle = 0; SMSDbRecordType smsRecord; Err err = GetSMSRecord(db, g_SelectedCategory, GetCurrentIndex(), smsRecord, memHandle, true); RETURN_ERR_ON_ERR(err); CheckNullPointer(memHandle); FieldPtr fieldTo = (FieldPtr) GetObjectPtr(form, FieldTo); SetFieldText(fieldTo, smsRecord.phoneNumber); SetFieldText((FieldPtr) GetObjectPtr(form, FieldCompose), smsRecord.content); FldSetSelection(fieldTo, 0, StrLen(FldGetTextPtr(fieldTo))); FrmSetFocus(form, FrmGetObjectIndex(form, FieldTo)); MemHandleUnlock(memHandle); return errNone; }
static Boolean MyMainFormHandleEvent( EventPtr event ) { Boolean handled = false; Int i; FieldPtr fld; FormPtr frm; Word readerNum; #ifdef __GCC__ CALLBACK_PROLOGUE #endif frm = FrmGetActiveForm(); switch( event->eType ) { case frmOpenEvent: UpdateScrollbar( dataFieldID, dataSbarID ); FrmDrawForm( frm ); break; case ctlSelectEvent: if( event->data.ctlSelect.controlID==updateButtonID ) { handled=true; if( readerType==SC_READER_UNKNOWN ) { FrmAlert( alert6FormID ); break; } FrmHideObject(frm, FrmGetObjectIndex(frm, updateButtonID)); i=scdir(); UpdateScrollbar( dataFieldID, dataSbarID ); if( i==1 ) FrmAlert(alert1FormID); else if( i==2 ) FrmAlert(alert2FormID); else if( i==3 ) FrmAlert(alert3FormID); else if( i==4 ) FrmAlert(alert4FormID); else if( i>4 ) FrmAlert(alert5FormID); FrmShowObject(frm, FrmGetObjectIndex(frm, updateButtonID)); } break; case menuEvent: fld = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, dataFieldID)); switch( event->data.menu.itemID ) { case selectMenuID: handled = true; FldSetSelection (fld, 0, FldGetTextLength (fld)); break; case copyMenuID: handled = true; FldCopy(fld); break; case readerMenuID: handled = true; switch(readerType) { case SC_READER_DUMBMOUSE: readerNum=0; break; case SC_READER_TOWITOKO: readerNum=1; break; default: readerNum=-1; break; } readerNum = ChooseReader( readerNum ); switch(readerNum) { case 0: readerType=SC_READER_DUMBMOUSE; break; case 1: readerType=SC_READER_TOWITOKO; break; default: readerType=SC_READER_UNKNOWN; break; } break; case aboutMenuID: handled = true; FrmAlert(aboutFormID); break; case helpMenuID: handled = true; FrmAlert(helpFormID); break; default: break; } case fldChangedEvent: if( event->data.fldChanged.fieldID==dataFieldID ) { UpdateScrollbar( dataFieldID, dataSbarID ); handled=true; } break; case sclRepeatEvent: if( event->data.sclRepeat.scrollBarID==dataSbarID ) { ScrollLines( dataFieldID, dataSbarID, event->data.sclRepeat.newValue - event->data.sclRepeat.value, false ); } break; case keyDownEvent: if( event->data.keyDown.chr == pageUpChr ) { PageScroll( dataFieldID, dataSbarID, up ); handled = true; } else if( event->data.keyDown.chr == pageDownChr ) { PageScroll( dataFieldID, dataSbarID, down ); handled = true; } break; default: break; } #ifdef __GCC__ CALLBACK_EPILOGUE #endif return handled; }
/******************************************************************************** * Description: this is the function responsible for checking the * input password value of the authentication form. * ******************************************************************************/ static void checkPassword (void) { MemPtr pass1, scratch = NULL; char *input; UInt16 index = 0; MemHandle rec; mdKey in; ListType *list; // compact text and get a pointer. FldCompactText (GetObjectFromActiveForm (PasswordField)); input = FldGetTextPtr (GetObjectFromActiveForm (PasswordField)); list = GetObjectFromActiveForm (selPopupList); // if SysPass is defined, free it. this happens when Strip locks // itself after the timeout. if (SysPass) MemPtrFree (SysPass); // if its the first time the user has used the program we need // to set some things up. if (input && StrLen (input)) { // read the password from the database, decrypt with the input text. if ((rec = DmQueryRecord (PasswordDB, index))) { pass1 = MemHandleLock (rec); if ((scratch = MemPtrNew (24))) { UInt16 chk = LstGetSelection (list); //printf("%d\n", LstGetSelection(list)); switch (chk) { case 0: UnpackPassword_old (pass1, scratch, input, 1); break; case 1: UnpackPassword_old (pass1, scratch, input, 2); break; case 2: UnpackPassword_old (pass1, scratch, input, 0); break; } } MemHandleUnlock (rec); } // the message digest of the password they provided should be exactly the // same as the message digest that was just decrypted out of the password // database. Do a MemCmp to make sure they are the same. md5_string (input, in); if ((!MemCmp (in, scratch, 16)) && input) { // if so, copy the password onto the system-password if ((SysPass = MemPtrNew (StrLen (input) + 1))) StrCopy (SysPass, input); if (scratch) MemPtrFree (scratch); md_string(SysPass, NewSysPass); cryptSwitch (LstGetSelection (list)); } else { // FAILURE!!!!!! // free the memory and tell the user they entered the wrong password. FieldType *fld = GetObjectFromActiveForm (PasswordField); FrmCustomAlert (GenericError, "The password you entered is incorrect", NULL, NULL); FldSetSelection (fld, 0, FldGetTextLength (fld)); LstDrawList (list); if (scratch) { MemPtrFree (scratch); SysPass = NULL; } } } // null string is always wrong!!! else { FrmCustomAlert (GenericError, "You forgot to enter a password!!", NULL, NULL); LstDrawList (list); } }