diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2010-03-06 12:47:47 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2010-03-06 12:47:47 +0100 |
commit | e7148f3beeb1d1b8efb34874c7a791410b3a6b59 (patch) | |
tree | 2db45f98521848a53217706634a24c8ec6d1fc74 | |
parent | ab9af4cea16b6d3875e60b7809c02f3b6794e6b4 (diff) | |
download | vdr-e7148f3beeb1d1b8efb34874c7a791410b3a6b59.tar.gz vdr-e7148f3beeb1d1b8efb34874c7a791410b3a6b59.tar.bz2 |
The "Source" item in the "Edit channel" menu now wraps around the list of sources
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | menu.c | 17 |
3 files changed, 16 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f4a44f91..13f4e76e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2389,6 +2389,8 @@ Halim Sahin <halim.sahin@t-online.de> works if the "EPG scan" is active for reporting a problem with adding new transponders in case there is only a single channel in the channel list + for suggesting to make the "Source" item in the "Edit channel" menu wrap around the + list of sources Denis Knauf <denis.knauf@gmail.com> for reporting a missing '-' at the next to last line of SVDRP help texts @@ -6391,3 +6391,5 @@ Video Disk Recorder Revision History - Assigned the source character 'V' to "Analog Video" (suggested by Lars Hanisch). - Added support for ATSC devices (thanks to Alex Lasnier). This obsoletes the ATSC patch. +- The "Source" item in the "Edit channel" menu now wraps around the list of sources + (suggested by Halim Sahin). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 2.17 2010/02/21 14:09:19 kls Exp $ + * $Id: menu.c 2.18 2010/03/06 12:43:15 kls Exp $ */ #include "menu.h" @@ -160,16 +160,23 @@ eOSState cMenuEditSrcItem::ProcessKey(eKeys Key) eOSState state = cMenuEditItem::ProcessKey(Key); if (state == osUnknown) { - if (NORMALKEY(Key) == kLeft) { // TODO might want to increase the delta if repeated quickly? - if (source && source->Prev()) { - source = (cSource *)source->Prev(); + bool IsRepeat = Key & k_Repeat; + Key = NORMALKEY(Key); + if (Key == kLeft) { // TODO might want to increase the delta if repeated quickly? + if (source) { + if (source->Prev()) + source = (cSource *)source->Prev(); + else if (!IsRepeat) + source = Sources.Last(); *value = source->Code(); } } - else if (NORMALKEY(Key) == kRight) { + else if (Key == kRight) { if (source) { if (source->Next()) source = (cSource *)source->Next(); + else if (!IsRepeat) + source = Sources.First(); } else source = Sources.First(); |