Go to the source code of this file.
Defines | |
#define | MENU_STATE_NORMAL "normal"; |
#define | MENU_STATE_SELECTED "selected"; |
#define | MENU_STATE_DISABLED "disabled"; |
Functions | |
void | menu_init (void) |
Initialise popup menus. | |
void | menu_destroy (void) |
Remove the popup menus. | |
void | menu_show (void) |
Display the proper popup menu for the current context. | |
void | menu_set_text (void) |
Initiliase text items in popup menu(s). | |
void | menu_select_view_type (const viewtypes_t view_type) |
Set the specified option in the "View" group to selected. | |
void | menu_on_item_activated (const gchar *item, const gchar *group, const gchar *menu, const gchar *state) |
Handle a menu button that has been pressed by the user. |
#define MENU_STATE_DISABLED "disabled"; |
Definition at line 47 of file hello-world/include/menu.h.
Referenced by fill_add_group(), find_route(), get_pixbuf(), menustore_activate_item_iter(), set_menuitem_markup(), and string2state().
#define MENU_STATE_NORMAL "normal"; |
File Name : menu.h
Description: Control the popup menus Copyright (C) 2009 iRex Technologies B.V. All rights reserved.
Definition at line 45 of file hello-world/include/menu.h.
Referenced by fill_add_group(), find_route(), get_pixbuf(), menustore_activate_item_iter(), menustore_add_group(), menustore_add_item(), printfunc(), and string2state().
#define MENU_STATE_SELECTED "selected"; |
Definition at line 46 of file hello-world/include/menu.h.
Referenced by get_pixbuf(), set_menuitem_markup(), and string2state().
void menu_destroy | ( | void | ) |
Remove the popup menus.
---------------------------------------------------------------------------
Name : menu_destroy
-- |
--------------------------------------------------------------------------
Definition at line 145 of file erbrowser/src/menu.c.
00146 { 00147 LOGPRINTF("entry"); 00148 00149 // remove the main menu 00150 ipc_remove_menu( MENU_MAIN ); 00151 }
void menu_init | ( | void | ) |
Initialise popup menus.
---------------------------------------------------------------------------
Name : menu_init
-- |
--------------------------------------------------------------------------
Initialise popup menus.
---------------------------------------------------------------------------
Name : menu_init
-- |
--------------------------------------------------------------------------
Definition at line 101 of file ctb/src/menu.c.
00102 { 00103 g_sort_item = g_string_new(""); 00104 00105 // add groups 00106 const char *group = GROUP_VIEWS; 00107 ipc_menu_add_group( group, "", "folder" ); 00108 ipc_menu_add_item ( ITEM_VIEW_ICON, group, "view_small" ); 00109 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00110 ipc_menu_add_item ( ITEM_VIEW_DETAIL, group, "view_detail" ); 00111 #endif 00112 ipc_menu_add_item ( ITEM_VIEW_CONTENT, group, "view_content" ); 00113 00114 group = GROUP_SORT; 00115 ipc_menu_add_group( group, "", "folder" ); 00116 ipc_menu_add_item ( ITEM_SORT_NAME, group, "sort_name" ); 00117 ipc_menu_add_item ( ITEM_SORT_AUTHOR, group, "sort_author" ); 00118 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00119 ipc_menu_add_item ( ITEM_SORT_TYPE, group, "sort_type" ); 00120 ipc_menu_add_item ( ITEM_SORT_SIZE, group, "sort_size" ); 00121 #endif 00122 ipc_menu_add_item ( ITEM_SORT_DATE_ADDED, group, "sort_date_added" ); 00123 ipc_menu_add_item ( ITEM_SORT_DATE_READ, group, "sort_date_read" ); 00124 00125 group = GROUP_ACTIONS; 00126 ipc_menu_add_group( group, "", "folder" ); 00127 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00128 ipc_menu_add_item ( ITEM_ACTION_SHORTCUT, group, "create_shortcut" ); 00129 #endif 00130 ipc_menu_add_item ( ITEM_ACTION_DELETE, group, "delete" ); 00131 00132 // add menus 00133 ipc_menu_add_menu(MENU_CONTENT_MEDIA, GROUP_VIEWS, GROUP_SORT, GROUP_ACTIONS); 00134 ipc_menu_add_menu(MENU_CONTENT, GROUP_VIEWS, NULL, NULL); 00135 ipc_menu_add_menu(MENU_CONTENT_DELETE_MODE, GROUP_ACTIONS, NULL, NULL); 00136 ipc_menu_add_menu(MENU_CONTENT_RECENT_MODE, GROUP_VIEWS, GROUP_ACTIONS, NULL); 00137 00138 ipc_menu_set_item_state(BACK_TO_LIBRARY, SYSTEM_TOP, STATE_NORMAL); 00139 00140 menu_set_text(); 00141 }
void menu_on_item_activated | ( | const gchar * | item, | |
const gchar * | group, | |||
const gchar * | menu, | |||
const gchar * | state | |||
) |
Handle a menu button that has been pressed by the user.
---------------------------------------------------------------------------
Name : menu_on_item_activated
[in] | item | - item name of the activated item |
[in] | group | - name of the parent group of the activated item |
[in] | menu | - name of the current menu |
[in] | state | - state of the item when activated |
--------------------------------------------------------------------------
Definition at line 381 of file ctb/src/menu.c.
00385 { 00386 START_TIMER(); 00387 gboolean ok = TRUE; 00388 00389 LOGPRINTF("entry: item [%s] group [%s]", item, group); 00390 00391 if ( strcmp(group, GROUP_VIEWS) == 0 ) 00392 { 00393 if ( strcmp(state, STATE_NORMAL) == 0 ) 00394 { 00395 ctb_viewtypes_t view_type = 0; 00396 if (strcmp(item, ITEM_VIEW_ICON) == 0 ) 00397 { 00398 view_type = CTB_ICONVIEW; 00399 } 00400 else if (strcmp(item, ITEM_VIEW_DETAIL) == 0 ) 00401 { 00402 view_type = CTB_LISTVIEW; 00403 } 00404 else if (strcmp(item, ITEM_VIEW_CONTENT) == 0 ) 00405 { 00406 view_type = CTB_CONTENTVIEW; 00407 } 00408 else 00409 { 00410 WARNPRINTF("unexpected menu item [%s] in group [%s]", item, group); 00411 ok = FALSE; 00412 } 00413 00414 if (ok) fileview_set_view_type( view_type, TRUE ); 00415 } 00416 else 00417 { 00418 WARNPRINTF("ignore state [%s] item [%s][%s]", state, item, group); 00419 } 00420 } 00421 else if ( strcmp(group, GROUP_SORT) == 0 ) 00422 { 00423 ctb_sort_order_t sort_order = 0; 00424 if ( strcmp(state, STATE_NORMAL) == 0 ) 00425 { 00426 if ( strcmp(item, ITEM_SORT_NAME ) == 0 ) 00427 { 00428 sort_order = CTB_SORT_BY_NAME; 00429 } 00430 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00431 else if ( strcmp(item, ITEM_SORT_TYPE ) == 0 ) 00432 { 00433 sort_order = CTB_SORT_BY_TYPE; 00434 } 00435 else if ( strcmp(item, ITEM_SORT_SIZE ) == 0 ) 00436 { 00437 sort_order = CTB_SORT_BY_SIZE; 00438 } 00439 #endif 00440 else if ( strcmp(item, ITEM_SORT_DATE_ADDED ) == 0 ) 00441 { 00442 sort_order = CTB_SORT_BY_DATE_ADDED; 00443 } 00444 else if ( strcmp(item, ITEM_SORT_DATE_READ ) == 0 ) 00445 { 00446 sort_order = CTB_SORT_BY_DATE_READ; 00447 } 00448 else if ( strcmp(item, ITEM_SORT_AUTHOR) == 0 ) 00449 { 00450 sort_order = CTB_SORT_BY_AUTHOR; 00451 } 00452 else 00453 { 00454 WARNPRINTF("unexpected menu item [%s] in group [%s]", item, group); 00455 ok = FALSE; 00456 } 00457 00458 if (ok) 00459 { 00460 fileview_set_sort_order( sort_order ); 00461 } 00462 } 00463 else 00464 { 00465 WARNPRINTF("ignore state [%s] item [%s][%s]", state, item, group); 00466 } 00467 } 00468 else if ( strcmp(group, GROUP_ACTIONS) == 0 ) 00469 { 00470 if ( strcmp(state, STATE_NORMAL) == 0 ) 00471 { 00472 if ( strcmp(item, ITEM_ACTION_DELETE ) == 0 ) 00473 { 00474 fileview_toggle_delete_mode(); 00475 } 00476 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00477 else if ( strcmp(item, ITEM_ACTION_SHORTCUT ) == 0 ) 00478 { 00479 fileview_create_shortcut(); 00480 } 00481 #endif 00482 else 00483 { 00484 WARNPRINTF("unexpected menu item [%s] in group [%s]", item, group); 00485 ok = FALSE; 00486 } 00487 } 00488 else 00489 { 00490 WARNPRINTF("ignore state [%s] item [%s][%s]", state, item, group); 00491 } 00492 } 00493 else 00494 { 00495 WARNPRINTF("unexpected menu group [%s]", group); 00496 } 00497 ipc_menu_updates_finished(); 00498 }
void menu_select_view_type | ( | const viewtypes_t | view_type | ) |
Set the specified option in the "View" group to selected.
---------------------------------------------------------------------------
Name : menu_select_view_type
[in] | view_type | - currently active view type |
--------------------------------------------------------------------------
Definition at line 191 of file hello-world/src/menu.c.
References GROUP_VIEWS, ICONVIEW, ipc_menu_set_item_state(), ITEM_VIEW_ICON, ITEM_VIEW_LIST, LISTVIEW, LOGPRINTF, N_VIEWTYPES, STATE_NORMAL, and STATE_SELECTED.
00192 { 00193 static const char *item_old = ""; 00194 const char *item_new = ""; 00195 00196 LOGPRINTF("entry: view_type [%d]", view_type); 00197 g_assert(view_type < N_VIEWTYPES); 00198 00199 switch (view_type) 00200 { 00201 case ICONVIEW: 00202 item_new = ITEM_VIEW_ICON; 00203 break; 00204 case LISTVIEW: 00205 item_new = ITEM_VIEW_LIST; 00206 break; 00207 default: 00208 ; // ignore: handled by assert at function entry 00209 } 00210 00211 if ( strcmp(item_old, item_new) != 0 ) 00212 { 00213 if ( item_old[0] != '\0' ) 00214 { 00215 ipc_menu_set_item_state ( item_old, GROUP_VIEWS, STATE_NORMAL ); 00216 } 00217 ipc_menu_set_item_state ( item_new, GROUP_VIEWS, STATE_SELECTED ); 00218 00219 item_old = item_new; 00220 } 00221 }
void menu_set_text | ( | void | ) |
Initiliase text items in popup menu(s).
---------------------------------------------------------------------------
Name : menu_set_text
-- |
--------------------------------------------------------------------------
Initiliase text items in popup menu(s).
---------------------------------------------------------------------------
Name : menu_set_text
-- |
--------------------------------------------------------------------------
Definition at line 191 of file ctb/src/menu.c.
00192 { 00193 const char *group; 00194 00195 // set groups + items 00196 group = GROUP_VIEWS; 00197 ipc_menu_set_group_label( group, _("View") ); 00198 #if MACHINE_IS_DR800S || MACHINE_IS_DR800SG || MACHINE_IS_DR800SW 00199 ipc_menu_set_item_label ( ITEM_VIEW_ICON, group, _("View as Covers") ); 00200 #elif MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00201 ipc_menu_set_item_label ( ITEM_VIEW_ICON, group, _("View as Thumbnails")); 00202 ipc_menu_set_item_label ( ITEM_VIEW_DETAIL, group, _("View as Details") ); 00203 #else 00204 #error Unhandled machine type 00205 #endif 00206 ipc_menu_set_item_label ( ITEM_VIEW_CONTENT, group, _("View as List") ); 00207 // 00208 group = GROUP_SORT; 00209 ipc_menu_set_group_label( group, _("Sort by") ); 00210 ipc_menu_set_item_label ( ITEM_SORT_NAME, group, _("Sort by Title") ); 00211 ipc_menu_set_item_label ( ITEM_SORT_AUTHOR, group, _("Sort by Author") ); 00212 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00213 ipc_menu_set_item_label ( ITEM_SORT_TYPE, group, _("Sort by Type") ); 00214 ipc_menu_set_item_label ( ITEM_SORT_SIZE, group, _("Sort by Size") ); 00215 #endif 00216 ipc_menu_set_item_label ( ITEM_SORT_DATE_ADDED, group, _("Sort by Date Added") ); 00217 ipc_menu_set_item_label ( ITEM_SORT_DATE_READ, group, _("Sort by Recently Opened")); 00218 // 00219 group = GROUP_ACTIONS; 00220 ipc_menu_set_group_label( group, _("Actions") ); 00221 #if MACHINE_IS_DR1000S || MACHINE_IS_DR1000SW 00222 ipc_menu_set_item_label ( ITEM_ACTION_SHORTCUT, group, _("Add Shortcut") ); 00223 #endif 00224 00225 update_viewmode_text(); 00226 update_category(); 00227 }
void menu_show | ( | void | ) |
Display the proper popup menu for the current context.
---------------------------------------------------------------------------
Name : menu_show
-- |
--------------------------------------------------------------------------
Display the proper popup menu for the current context.
---------------------------------------------------------------------------
Name : menu_show
-- |
--------------------------------------------------------------------------
Definition at line 230 of file ctb/src/menu.c.
00231 { 00232 if (!filemodel_window_is_on_top()) return; 00233 00234 ipc_status_set_stylus( STYLUS_NONE ); 00235 update_category(); 00236 ipc_menu_show_menu(filemodel_get_menu_content()); 00237 filemodel_update_pagecounter(); 00238 }