summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2007-02-25 18:00:00 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2007-02-25 18:00:00 +0100
commit9f42c33ef6793482a5c2515f9a87c13c0d189c60 (patch)
tree45025e95c0774761760c9bc6a44f4e69a1baf43b /menu.c
parent66ab78a40f5b57e20142a33484e32c785a0c4017 (diff)
downloadvdr-patch-lnbsharing-9f42c33ef6793482a5c2515f9a87c13c0d189c60.tar.gz
vdr-patch-lnbsharing-9f42c33ef6793482a5c2515f9a87c13c0d189c60.tar.bz2
Version 1.5.1vdr-1.5.1
- Added cDevice::HasCi() so that devices with Common Interface can be avoided when tuning to an FTA channel, thus preserving the CAM resources even on budget DVB cards (suggested by Petri Helin). - Fixed i18n characters for the Hungarian texts (thanks to Thomas Günther). - Now using cPipe instead of popen() in cCommand::Execute() to avoid problems with open file handles when starting background commands (thanks to Reinhard Nissl). - Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler). - Fixed a possible crash when loading an invalid XPM file (thanks to Martin Wache). - Updated satellite names in 'sources.conf' (thanks to Thilo Wunderlich). - Adapted 'libsi' to DVB-S2 (thanks to Marco Schlüßler). - Fixed handling error status in cDvbTuner::GetFrontendStatus() (thanks to Reinhard Nissl). - Shutdown handling has been rewritten (thanks to Udo Richter). - Plugins can now implement the new function WakeupTime() to request VDR to wake up at a particular time (thanks to Udo Richter). - The HUP signal now forces a restart of VDR (thanks to Udo Richter). - cThread::EmergencyExit() has been replaced by ShutdownHandler.RequestEmergencyExit(). - Several references to "button" in a remote control context have been changed to "key" (based on a report from Marko Mäkelä regarding the "Menu button closes" text). The "MenuButtonCloses" parameter in 'setup.conf' has therefore been renamed to "MenuKeyCloses", accordingly. This will result in an "unknown config parameter: MenuButtonCloses" error message in the log file, so you may want to remove that entry from your 'setup.conf' file. - Simplified the error handling in cDvbTuner::GetFrontendStatus() (based on a discussion with Reinhard Nissl). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Increased the maximum number of DVB devices to 8 (thanks to Rolf Ahrenberg). - The new Setup parameter "Channel entry timeout" can be used to customize the time since the last keypress until a numerically entered channel number is considered complete, and the channel is switched (suggested by Helmut Auer). Setting this parameter to 0 turns off the automatic channel switching, and the user will have to confirm the entry by pressing the "Ok" key.
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/menu.c b/menu.c
index 203eee0..9e76ebe 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.447 2007/01/07 12:19:48 kls Exp $
+ * $Id: menu.c 1.450 2007/02/25 14:04:33 kls Exp $
*/
#include "menu.h"
@@ -22,6 +22,7 @@
#include "plugin.h"
#include "recording.h"
#include "remote.h"
+#include "shutdown.h"
#include "sources.h"
#include "status.h"
#include "themes.h"
@@ -2206,7 +2207,7 @@ void cMenuSetupOSD::Set(void)
Add(new cMenuEditBoolItem(tr("Setup.OSD$Timeout requested channel info"), &data.TimeoutRequChInfo));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Scroll pages"), &data.MenuScrollPage));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Scroll wraps"), &data.MenuScrollWrap));
- Add(new cMenuEditBoolItem(tr("Setup.OSD$Menu button closes"), &data.MenuButtonCloses));
+ Add(new cMenuEditBoolItem(tr("Setup.OSD$Menu key closes"), &data.MenuKeyCloses));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Recording directories"), &data.RecordingDirs));
SetCurrent(Get(current));
Display();
@@ -2661,6 +2662,7 @@ cMenuSetupMisc::cMenuSetupMisc(void)
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. user inactivity (min)"), &data.MinUserInactivity));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout));
+ 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")));
}
@@ -2770,10 +2772,8 @@ void cMenuSetup::Set(void)
eOSState cMenuSetup::Restart(void)
{
- if (Interface->Confirm(tr("Really restart?"))
- && (!cRecordControls::Active() || Interface->Confirm(tr("Recording - restart anyway?")))
- && !cPluginManager::Active(tr("restart anyway?"))) {
- cThread::EmergencyExit(true);
+ if (Interface->Confirm(tr("Really restart?")) && ShutdownHandler.ConfirmRestart(true)) {
+ ShutdownHandler.Exit(1);
return osEnd;
}
return osContinue;
@@ -3090,8 +3090,6 @@ static void SetTrackDescriptions(int LiveChannel)
// --- cDisplayChannel -------------------------------------------------------
-#define DIRECTCHANNELTIMEOUT 1000 //ms
-
cDisplayChannel *cDisplayChannel::currentDisplayChannel = NULL;
cDisplayChannel::cDisplayChannel(int Number, bool Switched)
@@ -3290,7 +3288,7 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
Refresh();
break;
case kNone:
- if (number && lastTime.Elapsed() > DIRECTCHANNELTIMEOUT) {
+ if (number && Setup.ChannelEntryTimeout && int(lastTime.Elapsed()) > Setup.ChannelEntryTimeout) {
channel = Channels.GetByNumber(number);
if (channel)
NewChannel = channel;
@@ -3699,7 +3697,7 @@ bool cRecordControls::Start(cTimer *Timer, bool Pause)
if (device) {
dsyslog("switching device %d to channel %d", device->DeviceNumber() + 1, channel->Number());
if (!device->SwitchChannel(channel, false)) {
- cThread::EmergencyExit(true);
+ ShutdownHandler.RequestEmergencyExit();
return false;
}
if (!Timer || Timer->Matches()) {