allow wrapping slider menu items with <= 4 keys (M. Dolze)
This commit is contained in:
@@ -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
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user