mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed handling the "Power" key in case a timer is about to start recording
This commit is contained in:
parent
8bd9bf5e1b
commit
c7af51870a
@ -1424,6 +1424,7 @@ Udo Richter <udo_richter@gmx.de>
|
|||||||
no plugin is active
|
no plugin is active
|
||||||
for suggesting to add 'eval' to the $VDRCMD call in 'runvdr' to avoid problems with
|
for suggesting to add 'eval' to the $VDRCMD call in 'runvdr' to avoid problems with
|
||||||
quoting
|
quoting
|
||||||
|
for fixing handling the "Power" key in case a timer is about to start recording
|
||||||
|
|
||||||
Sven Kreiensen <svenk@kammer.uni-hannover.de>
|
Sven Kreiensen <svenk@kammer.uni-hannover.de>
|
||||||
for his help in keeping 'channels.conf.terr' up to date
|
for his help in keeping 'channels.conf.terr' up to date
|
||||||
|
2
HISTORY
2
HISTORY
@ -4698,3 +4698,5 @@ Video Disk Recorder Revision History
|
|||||||
(suggested by Udo Richter).
|
(suggested by Udo Richter).
|
||||||
- Fixed missing ',' in the Italian and Polish OSD texts (thanks to Marko Mäkelä).
|
- Fixed missing ',' in the Italian and Polish OSD texts (thanks to Marko Mäkelä).
|
||||||
- Updated the Czech OSD texts (thanks to Vladimír Bárta).
|
- Updated the Czech OSD texts (thanks to Vladimír Bárta).
|
||||||
|
- Fixed handling the "Power" key in case a timer is about to start recording
|
||||||
|
(thanks to Udo Richter).
|
||||||
|
25
vdr.c
25
vdr.c
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.cadsoft.de/vdr
|
* The project's page is at http://www.cadsoft.de/vdr
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 1.267 2006/04/29 09:14:06 kls Exp $
|
* $Id: vdr.c 1.268 2006/05/05 13:43:32 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -970,7 +970,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
// Power off:
|
// Power off:
|
||||||
case kPower:
|
case kPower: {
|
||||||
isyslog("Power button pressed");
|
isyslog("Power button pressed");
|
||||||
DELETE_MENU;
|
DELETE_MENU;
|
||||||
if (!Shutdown) {
|
if (!Shutdown) {
|
||||||
@ -985,8 +985,20 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
if (cPluginManager::Active(tr("shut down anyway?")))
|
if (cPluginManager::Active(tr("shut down anyway?")))
|
||||||
break;
|
break;
|
||||||
|
cTimer *timer = Timers.GetNextActiveTimer();
|
||||||
|
time_t Next = timer ? timer->StartTime() : 0;
|
||||||
|
time_t Delta = timer ? Next - time(NULL) : 0;
|
||||||
|
if (Next && Delta <= Setup.MinEventTimeout * 60) {
|
||||||
|
char *buf;
|
||||||
|
asprintf(&buf, tr("Recording in %ld minutes, shut down anyway?"), Delta / 60);
|
||||||
|
bool confirm = Interface->Confirm(buf);
|
||||||
|
free(buf);
|
||||||
|
if (!confirm)
|
||||||
|
break;
|
||||||
|
}
|
||||||
ForceShutdown = true;
|
ForceShutdown = true;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time
|
Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time
|
||||||
@ -1121,15 +1133,6 @@ int main(int argc, char *argv[])
|
|||||||
else
|
else
|
||||||
LastActivity = 1;
|
LastActivity = 1;
|
||||||
}
|
}
|
||||||
if (UserShutdown && Next && Delta <= Setup.MinEventTimeout * 60 && !ForceShutdown) {
|
|
||||||
char *buf;
|
|
||||||
asprintf(&buf, tr("Recording in %ld minutes, shut down anyway?"), Delta / 60);
|
|
||||||
if (Interface->Confirm(buf))
|
|
||||||
ForceShutdown = true;
|
|
||||||
else
|
|
||||||
UserShutdown = false;
|
|
||||||
free(buf);
|
|
||||||
}
|
|
||||||
if (!Next || Delta > Setup.MinEventTimeout * 60 || ForceShutdown) {
|
if (!Next || Delta > Setup.MinEventTimeout * 60 || ForceShutdown) {
|
||||||
ForceShutdown = false;
|
ForceShutdown = false;
|
||||||
if (timer)
|
if (timer)
|
||||||
|
Loading…
Reference in New Issue
Block a user