Implemented kNext and kPrev keys

This commit is contained in:
Klaus Schmidinger
2006-04-15 13:46:55 +02:00
parent 12ea50fceb
commit 4611af4339
8 changed files with 78 additions and 8 deletions

View File

@@ -1836,3 +1836,6 @@ Peter Dittmann <peter.dittmann@philips.com>
Helge Lenz <h.lenz@gmx.de>
for reporting a bug in setting the 'Delta' parameter when calling the shutdown
script with no active timer
Peter Juszack <vdr@unterbrecher.de>
for a patch that was used as a base to implement kNext and kPrev

View File

@@ -4534,4 +4534,5 @@ Video Disk Recorder Revision History
other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config
file (see also INSTALL). Any reference to DVBDIR should be removed from all
plugins' Makefiles. Thanks to Marco Schl<68><6C>ler for pointing out this problem.
- Implemented kNext and kPrev keys (based on a patch from Peter Juszack).
See MANUAL for details.

3
MANUAL
View File

@@ -45,6 +45,9 @@ Version 1.3
FastFwd fast forward
FastRew fast rewind
Next Next/previous channel group (in live tv mode)
Prev or next/previous editing mark (in replay mode)
Channel+ channel up
Channel- channel down

46
i18n.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: i18n.c 1.258 2006/04/15 11:05:27 kls Exp $
* $Id: i18n.c 1.259 2006/04/15 13:39:35 kls Exp $
*
* Translations provided by:
*
@@ -5289,6 +5289,50 @@ const tI18nPhrase Phrases[] = {
"Spol tilbage",
"Dozadu",
},
{ "Key$Next",
"Vorw<EFBFBD>rts",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "Key$Prev",
"Zur<EFBFBD>ck",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "Key$Power",
"Ausschalten",
"Izklop",

4
keys.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: keys.c 1.11 2006/01/16 17:01:25 kls Exp $
* $Id: keys.c 1.12 2006/04/15 13:35:07 kls Exp $
*/
#include "keys.h"
@@ -39,6 +39,8 @@ static tKey keyTable[] = { // "Up" and "Down" must be the first two keys!
{ kRecord, "Record" },
{ kFastFwd, "FastFwd" },
{ kFastRew, "FastRew" },
{ kNext, "Next" },
{ kPrev, "Prev" },
{ kPower, "Power" },
{ kChanUp, "Channel+" },
{ kChanDn, "Channel-" },

4
keys.h
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: keys.h 1.7 2006/01/05 15:39:06 kls Exp $
* $Id: keys.h 1.8 2006/04/15 13:34:08 kls Exp $
*/
#ifndef __KEYS_H
@@ -33,6 +33,8 @@ enum eKeys { // "Up" and "Down" must be the first two keys!
kRecord,
kFastFwd,
kFastRew,
kNext,
kPrev,
kPower,
kChanUp,
kChanDn,

14
menu.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 1.430 2006/04/15 10:30:52 kls Exp $
* $Id: menu.c 1.431 2006/04/15 13:37:09 kls Exp $
*/
#include "menu.h"
@@ -3158,6 +3158,10 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
case kLeft:
case kRight|k_Repeat:
case kRight:
case kNext|k_Repeat:
case kNext:
case kPrev|k_Repeat:
case kPrev:
withInfo = false;
number = 0;
if (group < 0) {
@@ -3167,7 +3171,7 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
}
if (group >= 0) {
int SaveGroup = group;
if (NORMALKEY(Key) == kRight)
if (NORMALKEY(Key) == kRight || NORMALKEY(Key) == kNext)
group = Channels.GetNextGroup(group) ;
else
group = Channels.GetPrevGroup(group < 1 ? 1 : group);
@@ -3201,6 +3205,8 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
case kDown|k_Release:
case kChanUp|k_Release:
case kChanDn|k_Release:
case kNext|k_Release:
case kPrev|k_Release:
if (!(Key & k_Repeat) && channel && channel->Number() != cDevice::CurrentChannel())
NewChannel = channel;
withInfo = true;
@@ -4146,8 +4152,12 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
switch (Key) {
// Editing:
case kMarkToggle: MarkToggle(); break;
case kPrev|k_Repeat:
case kPrev:
case kMarkJumpBack|k_Repeat:
case kMarkJumpBack: MarkJump(false); break;
case kNext|k_Repeat:
case kNext:
case kMarkJumpForward|k_Repeat:
case kMarkJumpForward: MarkJump(true); break;
case kMarkMoveBack|k_Repeat:

9
vdr.c
View File

@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
* $Id: vdr.c 1.258 2006/04/15 11:29:13 kls Exp $
* $Id: vdr.c 1.259 2006/04/15 13:35:40 kls Exp $
*/
#include <getopt.h>
@@ -1061,11 +1061,16 @@ int main(int argc, char *argv[])
}
// Direct Channel Select:
case k1 ... k9:
// Left/Right rotates trough channel groups:
// Left/Right rotates through channel groups:
case kLeft|k_Repeat:
case kLeft:
case kRight|k_Repeat:
case kRight:
// Previous/Next rotates through channel groups:
case kPrev|k_Repeat:
case kPrev:
case kNext|k_Repeat:
case kNext:
// Up/Down Channel Select:
case kUp|k_Repeat:
case kUp: