summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2008-01-13 18:00:00 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2008-01-13 18:00:00 +0100
commitfc4c8740a72e6c7cea5a001e19fdacb63c3cc538 (patch)
tree6ab0ae16b8d588e34d86f8a1a69c101ce8ba2809 /menu.c
parent29b2d48bb53df75f1cb978e72bc709a6658d6e5c (diff)
downloadvdr-patch-lnbsharing-fc4c8740a72e6c7cea5a001e19fdacb63c3cc538.tar.gz
vdr-patch-lnbsharing-fc4c8740a72e6c7cea5a001e19fdacb63c3cc538.tar.bz2
Version 1.5.13vdr-1.5.13
- Fixed the declaration of cSubtitleObject::Decode8BppCodeString() (thanks to Gregoire Favre). - The new setup option "Miscellaneous/Emergency exit" can be used to turn off the automatic restart of VDR in case a recording fails for some reason. - The kInfo key is now propagated to any open menu, so that it can react to it in a context sensitive manner (suggested by Andreas Brugger). If there is no menu open it will show the info of the current broadcast or replay. - cTimeMs now uses the monotonic clock, if available (thanks to Petri Hintukainen). - Fixed cVector::Clear() and cStringList::Clear(). - Added cString::Truncate(). - Fixed the "i18n:" target in the "newplugin" script, so that it can create the initial *.pot file. - Fixed handling the '-l' option. - Fixed error handling in cCuttingThread::Action() (thanks to Udo Richter). - Fixed a loss of the date display in the "classic" skin's main menu (reported by Andreas Brugger). - Added a missing setting of lastFreeMB in cMenuMain::Update() (reported by Andreas Brugger). - Added '-Wno-parentheses' to the compiler options in order to avoid silly compiler warnings for expressions like 'a || b && c', where GCC 4.3 wants to force the programmer to write 'a || (b && c)', while everybody knows that '&&' links stronger than '||' (reported by Tobias Grimm). - Updated the Hungarian language texts (thanks to István Füley). - Fixed displaying weekday names in the Schedule menu if the system uses UTF-8 (reported by Jiri Dobry). - The new plugin "pictures" implements a simple picture viewer. See PLUGINS/src/pictures/README for details. - The automatic shutdown is now suppressed if the remote control is currently disabled (suggested by Helmut Auer, implemented by Udo Richter). - Added a section about "Logging" to PLUGINS.html (suggested by Torsten Kunkel). - Enhanced the SVDRP command CLRE to allow clearing the EPG data of a particular channel (thanks to Benjamin Hess).
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/menu.c b/menu.c
index 7b8ce9a..b7ecf2a 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 1.465 2007/11/03 15:02:00 kls Exp $
+ * $Id: menu.c 1.469 2008/01/13 13:59:33 kls Exp $
*/
#include "menu.h"
@@ -931,6 +931,7 @@ eOSState cMenuTimers::ProcessKey(eKeys Key)
case kRed: state = OnOff(); break; // must go through SetHelpKeys()!
case kGreen: return New();
case kYellow: state = Delete(); break;
+ case kInfo:
case kBlue: return Info();
break;
default: break;
@@ -986,6 +987,7 @@ eOSState cMenuEvent::ProcessKey(eKeys Key)
DisplayMenu()->Scroll(NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft, NORMALKEY(Key) == kLeft || NORMALKEY(Key) == kRight);
cStatus::MsgOsdTextItem(NULL, NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft);
return osContinue;
+ case kInfo: return osBack;
default: break;
}
@@ -1057,12 +1059,13 @@ bool cMenuScheduleItem::Update(bool Force)
char v = event->Vps() && (event->Vps() - event->StartTime()) ? 'V' : ' ';
char r = event->SeenWithin(30) && event->IsRunning() ? '*' : ' ';
const char *csn = channel ? channel->ShortName(true) : NULL;
+ cString eds = event->GetDateString();
if (channel && withDate)
- asprintf(&buffer, "%d\t%.*s\t%.*s\t%s\t%c%c%c\t%s", channel->Number(), Utf8SymChars(csn, 6), csn, 6, *event->GetDateString(), *event->GetTimeString(), t, v, r, event->Title());
+ asprintf(&buffer, "%d\t%.*s\t%.*s\t%s\t%c%c%c\t%s", channel->Number(), Utf8SymChars(csn, 6), csn, Utf8SymChars(eds, 6), *eds, *event->GetTimeString(), t, v, r, event->Title());
else if (channel)
asprintf(&buffer, "%d\t%.*s\t%s\t%c%c%c\t%s", channel->Number(), Utf8SymChars(csn, 6), csn, *event->GetTimeString(), t, v, r, event->Title());
else
- asprintf(&buffer, "%.*s\t%s\t%c%c%c\t%s", 6, *event->GetDateString(), *event->GetTimeString(), t, v, r, event->Title());
+ asprintf(&buffer, "%.*s\t%s\t%c%c%c\t%s", Utf8SymChars(eds, 6), *eds, *event->GetTimeString(), t, v, r, event->Title());
SetText(buffer, false);
result = true;
}
@@ -1216,6 +1219,7 @@ eOSState cMenuWhatsOn::ProcessKey(eKeys Key)
}
break;
case kBlue: return Switch();
+ case kInfo:
case kOk: if (Count())
return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, true, true));
break;
@@ -1486,6 +1490,7 @@ eOSState cMenuSchedule::ProcessKey(eKeys Key)
case kBlue: if (Count() && otherChannel)
return Switch();
break;
+ case kInfo:
case kOk: if (Count())
return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, otherChannel, true));
break;
@@ -1815,6 +1820,7 @@ eOSState cMenuRecording::ProcessKey(eKeys Key)
DisplayMenu()->Scroll(NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft, NORMALKEY(Key) == kLeft || NORMALKEY(Key) == kRight);
cStatus::MsgOsdTextItem(NULL, NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft);
return osContinue;
+ case kInfo: return osBack;
default: break;
}
@@ -2112,6 +2118,7 @@ eOSState cMenuRecordings::ProcessKey(eKeys Key)
case kRed: return (helpKeys > 1 && RecordingCommands.Count()) ? Commands() : Play();
case kGreen: return Rewind();
case kYellow: return Delete();
+ case kInfo:
case kBlue: return Info();
case k1...k9: return Commands(Key);
case kNone: if (Recordings.StateChanged(recordingsState))
@@ -2760,6 +2767,7 @@ cMenuSetupMisc::cMenuSetupMisc(void)
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Channel entry timeout (ms)"), &data.ChannelEntryTimeout, 0));
Add(new cMenuEditChanItem(tr("Setup.Miscellaneous$Initial channel"), &data.InitialChannel, tr("Setup.Miscellaneous$as before")));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Initial volume"), &data.InitialVolume, -1, 255, tr("Setup.Miscellaneous$as before")));
+ Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Emergency exit"), &data.EmergencyExit));
}
// --- cMenuSetupPluginItem --------------------------------------------------
@@ -3008,6 +3016,7 @@ bool cMenuMain::Update(bool Force)
Minutes %= 60;
//XXX -> skin function!!!
SetTitle(cString::sprintf("%s - %s %d%% - %2d:%02d %s", tr("VDR"), tr("Disk"), Percent, Hours, Minutes, tr("free")));
+ lastFreeMB = FreeMB;
result = true;
}
lastDiskSpaceCheck = time(NULL);