mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Menu items derived from cMenuEditIntItem now loop though their values if they have a dedicated minimum or maximum limit
This commit is contained in:
parent
35884ec732
commit
8f2f3e9ac2
@ -341,6 +341,8 @@ Andy Grobb <Charly98@01019freenet.de>
|
||||
for reporting a bug in handling min/max borders when entering integer values
|
||||
for reporting a problem with replaying in fast forward mode if the video directory
|
||||
is mounted via a Samba share
|
||||
for suggesting to make menu items that are derived from cMenuEditIntItem loop
|
||||
though their values if they have a dedicated minimum or maximum limit
|
||||
|
||||
Thomas Heiligenmann <thomas@heiligenmann.de>
|
||||
for implementing the SVDRP commands LSTR and DELR
|
||||
|
4
HISTORY
4
HISTORY
@ -4830,3 +4830,7 @@ Video Disk Recorder Revision History
|
||||
require detatching receivers (suggested by Anssi Hannula).
|
||||
- Fixed handling numeric keys in the channel display after switching channel groups
|
||||
(thanks to Andreas Regel).
|
||||
- Menu items derived from cMenuEditIntItem now loop though their values if they
|
||||
have a dedicated minimum or maximum limit (suggested by Andy Grobb). Looping is
|
||||
only done for normal keypresses, not for repeated ones. This allows the user to
|
||||
scroll the value all the way to the limit by keeping the key pressed.
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menuitems.c 1.45 2006/06/03 13:20:01 kls Exp $
|
||||
* $Id: menuitems.c 1.46 2006/07/23 09:42:17 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menuitems.h"
|
||||
@ -75,6 +75,7 @@ eOSState cMenuEditIntItem::ProcessKey(eKeys Key)
|
||||
|
||||
if (state == osUnknown) {
|
||||
int newValue = *value;
|
||||
bool IsRepeat = Key & k_Repeat;
|
||||
Key = NORMALKEY(Key);
|
||||
switch (Key) {
|
||||
case kNone: break;
|
||||
@ -88,10 +89,14 @@ eOSState cMenuEditIntItem::ProcessKey(eKeys Key)
|
||||
case kLeft: // TODO might want to increase the delta if repeated quickly?
|
||||
newValue = *value - 1;
|
||||
fresh = true;
|
||||
if (!IsRepeat && newValue < min && max != INT_MAX)
|
||||
newValue = max;
|
||||
break;
|
||||
case kRight:
|
||||
newValue = *value + 1;
|
||||
fresh = true;
|
||||
if (!IsRepeat && newValue > max && min != INT_MIN)
|
||||
newValue = min;
|
||||
break;
|
||||
default:
|
||||
if (*value < min) { *value = min; Set(); }
|
||||
|
Loading…
Reference in New Issue
Block a user