static int terms_of_use_declined (SsdWidget widget, const char *new_value, void *context){ roadmap_main_exit(); return 1; }
static void on_terms_declined( void ) { roadmap_main_exit(); }
static void restart_msg_cb (int exit_code) { roadmap_main_exit(); }
void roadmap_geo_config_failed_cb(int exit_code ){ roadmap_main_exit(); }
static void roadmap_main_close (GtkWidget *widget, GdkEvent *event, gpointer data) { roadmap_main_exit (); }
TKeyResponse roadmap_main_process_key( const TKeyEvent& aKeyEvent, TEventCode aType ) { char regular_key[2]; EVirtualKey vk = VK_None; const char* pCode; TUint code = aKeyEvent.iScanCode; if ( aType != EEventKey ) { return EKeyWasNotConsumed; } /* * Let the OS handle it - Background key * NOTE: * TODO: Add background handling to reduce unnecessary drawings */ if ( code == EStdKeyApplication0 ) { return EKeyWasNotConsumed; } if ( code == EStdKeyDevice3 ) {//handle center key here because it's not virtual regular_key[0] = ENTER_KEY; regular_key[1] = '\0'; roadmap_keyboard_handler__key_pressed( regular_key, KEYBOARD_ASCII ); return EKeyWasConsumed; } if ( code == EStdKeyBackspace) { regular_key[0] = BACKSPACE; regular_key[1] = '\0'; roadmap_keyboard_handler__key_pressed( regular_key, KEYBOARD_ASCII ); return EKeyWasConsumed; } // Virtual keys first switch(code) { case EStdKeyDevice0 : vk = VK_Softkey_left; break; case EStdKeyDevice1 : vk = VK_Softkey_right; break; case EStdKeyUpArrow : vk = VK_Arrow_up; break; case EStdKeyDownArrow : vk = VK_Arrow_down; break; case EStdKeyLeftArrow : vk = VK_Arrow_left; break; case EStdKeyRightArrow : vk = VK_Arrow_right; break; case EStdKeyNo : roadmap_main_exit(); return EKeyWasConsumed; default: break; } // Handle virtual key if necessary if( vk != VK_None ) { regular_key[0] = ( char ) ( vk & 0xFF ); regular_key[1] = '\0'; if ( roadmap_keyboard_handler__key_pressed( regular_key, KEYBOARD_VIRTUAL_KEY ) ) { return EKeyWasConsumed; } } #ifndef __WINS__ // Conversions for the not standard codes switch( code ) { case 133 : /* This is star in Samsung's Symbian... */ code = '*'; break; case EStdKeyHash : code = '#'; break; default : break; } #endif // Regular keys - phone or qwerty if ( USING_PHONE_KEYPAD || ( aKeyEvent.iModifiers & EModifierFunc ) ) { regular_key[0] = ( char ) ( aKeyEvent.iCode & 0xFF ); /* In case of keypad iCode and iScanCode are the same */ regular_key[1] = '\0'; pCode = regular_key; } else { // Qwerty keyboard TUint16 qwertyCode = code; TUint32 qwertyCodeNullEnd = 0; CFreeMapAppUi* pAppUi = static_cast<CFreeMapAppUi*>( CEikonEnv::Static()->EikAppUi() ); pAppUi->GetUnicodeForScanCodeL( aKeyEvent, qwertyCode ); // Little endian: first byte = first char, null terminated qwertyCodeNullEnd = qwertyCode & 0xFFFF; pCode = reinterpret_cast<const char*>( &qwertyCodeNullEnd ); } // Handle regular keys. pCode - pointer to the null terminated bytes // of the utf character if( roadmap_keyboard_handler__key_pressed( pCode, KEYBOARD_ASCII)) { return EKeyWasConsumed; } else { return EKeyWasNotConsumed; } }