mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.5.14
- Fixed the Play function in the pictures plugin. - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Updated the Makefile of the skincurses plugin (thanks to Rolf Ahrenberg). - The new option --localedir can be used to set the locale directory at runtime (based on a patch from Stefan Huelswitt). - Fixed finding new transponders (thanks to Winfried Köhler). - Implemented handling of DVB-S2 (thanks to Marco Schlüßler and Reinhard Nissl for a patch that was used to implement this). VDR now requires the "multiproto" DVB driver, e.g. from http://jusst.de/hg/multiproto. - Removed switching to the next higher or lower channel if the current channel is not available, in order to allow staying on an encrypted channel that takes a while for the CAM to start decrypting.
This commit is contained in:
60
menuitems.c
60
menuitems.c
@@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menuitems.c 1.55 2007/11/03 15:01:01 kls Exp $
|
||||
* $Id: menuitems.c 1.56 2008/01/26 16:07:07 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menuitems.h"
|
||||
@@ -937,6 +937,64 @@ eOSState cMenuEditTimeItem::ProcessKey(eKeys Key)
|
||||
return state;
|
||||
}
|
||||
|
||||
// --- cMenuEditMapItem ------------------------------------------------------
|
||||
|
||||
cMenuEditMapItem::cMenuEditMapItem(const char *Name, int *Value, const tChannelParameterMap *Map, const char *ZeroString)
|
||||
:cMenuEditItem(Name)
|
||||
{
|
||||
value = Value;
|
||||
map = Map;
|
||||
zeroString = ZeroString;
|
||||
Set();
|
||||
}
|
||||
|
||||
void cMenuEditMapItem::Set(void)
|
||||
{
|
||||
const char *s = NULL;
|
||||
int n = MapToUser(*value, map, &s);
|
||||
if (n == 999)
|
||||
SetValue(tr("auto"));
|
||||
else if (n == 0 && zeroString)
|
||||
SetValue(zeroString);
|
||||
else if (n >= 0) {
|
||||
if (s)
|
||||
SetValue(s);
|
||||
else {
|
||||
char buf[16];
|
||||
snprintf(buf, sizeof(buf), "%d", n);
|
||||
SetValue(buf);
|
||||
}
|
||||
}
|
||||
else
|
||||
SetValue("???");
|
||||
}
|
||||
|
||||
eOSState cMenuEditMapItem::ProcessKey(eKeys Key)
|
||||
{
|
||||
eOSState state = cMenuEditItem::ProcessKey(Key);
|
||||
|
||||
if (state == osUnknown) {
|
||||
int newValue = *value;
|
||||
int n = DriverIndex(*value, map);
|
||||
if (NORMALKEY(Key) == kLeft) { // TODO might want to increase the delta if repeated quickly?
|
||||
if (n-- > 0)
|
||||
newValue = map[n].driverValue;
|
||||
}
|
||||
else if (NORMALKEY(Key) == kRight) {
|
||||
if (map[++n].userValue >= 0)
|
||||
newValue = map[n].driverValue;
|
||||
}
|
||||
else
|
||||
return state;
|
||||
if (newValue != *value) {
|
||||
*value = newValue;
|
||||
Set();
|
||||
}
|
||||
state = osContinue;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
// --- cMenuSetupPage --------------------------------------------------------
|
||||
|
||||
cMenuSetupPage::cMenuSetupPage(void)
|
||||
|
Reference in New Issue
Block a user