summaryrefslogtreecommitdiff
path: root/apps/menu.c
diff options
context:
space:
mode:
authorShachar Liberman <lshachar@hotmail.com>2006-08-12 13:40:49 +0000
committerShachar Liberman <lshachar@hotmail.com>2006-08-12 13:40:49 +0000
commitf53779d2f41fc2bcfff5196a279e2192992880e2 (patch)
tree1864b3fad8203705f2d07f16ed61e0c13d3c10a9 /apps/menu.c
parent54ec1f5f6db24ab90046b7cbab371c99e239f67e (diff)
downloadrockbox-f53779d2f41fc2bcfff5196a279e2192992880e2.tar.gz
rockbox-f53779d2f41fc2bcfff5196a279e2192992880e2.zip
Committing FS#5182 - One button hold for Horizontal screen scrolling.
=>hold RIGHT or LEFT button on a GUI based list to scroll horizontally. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10545 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/apps/menu.c b/apps/menu.c
index f67c0633c6..a1c70824ce 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -124,6 +124,7 @@ int menu_show(int m)
124#endif 124#endif
125 bool exit = false; 125 bool exit = false;
126 int key; 126 int key;
127 unsigned lastbutton = 0;
127 128
128 gui_synclist_draw(&(menus[m].synclist)); 129 gui_synclist_draw(&(menus[m].synclist));
129 gui_syncstatusbar_draw(&statusbars, true); 130 gui_syncstatusbar_draw(&statusbars, true);
@@ -143,7 +144,9 @@ int menu_show(int m)
143 if(gui_synclist_do_button(&(menus[m].synclist), key)) 144 if(gui_synclist_do_button(&(menus[m].synclist), key))
144 menu_talk_selected(m); 145 menu_talk_selected(m);
145 switch( key ) { 146 switch( key ) {
146 case MENU_ENTER: 147 case MENU_ENTER | BUTTON_REL:
148 if (lastbutton != MENU_ENTER)
149 break;
147#ifdef MENU_ENTER2 150#ifdef MENU_ENTER2
148 case MENU_ENTER2: 151 case MENU_ENTER2:
149#endif 152#endif
@@ -156,12 +159,18 @@ int menu_show(int m)
156 return gui_synclist_get_sel_pos(&(menus[m].synclist)); 159 return gui_synclist_get_sel_pos(&(menus[m].synclist));
157 160
158 161
159 case MENU_EXIT: 162 case MENU_EXIT | BUTTON_REL:
163 if (lastbutton != MENU_EXIT)
164 break;
160#ifdef MENU_EXIT2 165#ifdef MENU_EXIT2
161 case MENU_EXIT2: 166 case MENU_EXIT2:
162#endif 167#endif
163#ifdef MENU_EXIT_MENU 168#ifdef MENU_EXIT_MENU
164 case MENU_EXIT_MENU: 169 case MENU_EXIT_MENU | BUTTON_REL:
170 /* This is important for the Ondio's */
171 if ((key == (MENU_EXIT_MENU | BUTTON_REL)) &&
172 (lastbutton != MENU_EXIT_MENU))
173 break;
165#endif 174#endif
166#ifdef MENU_RC_EXIT 175#ifdef MENU_RC_EXIT
167 case MENU_RC_EXIT: 176 case MENU_RC_EXIT:
@@ -178,6 +187,8 @@ int menu_show(int m)
178 break; 187 break;
179 } 188 }
180 gui_syncstatusbar_draw(&statusbars, false); 189 gui_syncstatusbar_draw(&statusbars, false);
190 if ( key )
191 lastbutton = key;
181 } 192 }
182 return MENU_SELECTED_EXIT; 193 return MENU_SELECTED_EXIT;
183} 194}