allow wrapping slider menu items with <= 4 keys (M. Dolze)

This commit is contained in:
marschap
2007-10-04 17:15:41 +00:00
parent 6a6b44778c
commit e55dc82402
2 changed files with 16 additions and 3 deletions
+3 -1
View File
@@ -12,7 +12,7 @@ v.0.5dev (ongoing development)
* glk driver: bignum support fixed
* update local snprintf to the last one, which is GPL
- server core: cleanup - remove unnecessary cruft
* server core: refactor renderin code
* server core: refactor rendering code
+ LCDd: config options TitleSpeed= and Heartbeat=
* overhauled CwLnx driver (Dave Platt)
* overhauled picolcd driver (Nicu Pavel)
@@ -27,6 +27,8 @@ v.0.5dev (ongoing development)
+ key support for hd44780/lcd2usb (M. Dolze)
+ option Priority for NoritakeVFD (idea: Richard Muratti)
* overhauled NoritakeVFD driver (idea: Richard Muratti)
* allow wrapping slider menu items with <= 4 keys (M. Dolze)
* a bit more Doxygen-ation
v.0.5.2
* fix switching on/off the Load screen in lcdproc client using the menu
+13 -2
View File
@@ -991,14 +991,25 @@ MenuResult menuitem_process_input_slider(MenuItem *item, MenuToken token, const
item->successor_id, MENURESULT_CLOSE);
case MENUTOKEN_UP:
case MENUTOKEN_RIGHT:
item->data.slider.value = min(item->data.slider.maxvalue,
/* Wrap slider around if max value is reached.
* Note: The max value is actually reached,
* because of min(maxvalue, value + stepsize) below.
* Wrapping then happens on the next key press.
*/
if ((!extended) && (item->data.slider.value == item->data.slider.maxvalue))
item->data.slider.value = item->data.slider.minvalue;
else
item->data.slider.value = min(item->data.slider.maxvalue,
item->data.slider.value + item->data.slider.stepsize);
if (item->event_func)
item->event_func(item, MENUEVENT_PLUS);
return MENURESULT_NONE;
case MENUTOKEN_DOWN:
case MENUTOKEN_LEFT:
item->data.slider.value = max(item->data.slider.minvalue,
if ((!extended) && item->data.slider.value == item->data.slider.minvalue))
item->data.slider.value = item->data.slider.maxvalue;
else
item->data.slider.value = max(item->data.slider.minvalue,
item->data.slider.value - item->data.slider.stepsize);
if (item->event_func)
item->event_func(item, MENUEVENT_MINUS);