From 41298f1f32e40644b2837c96c45b02e9ad27f95f Mon Sep 17 00:00:00 2001 From: Dieter Hametner Date: Sun, 24 Feb 2008 19:37:21 +0100 Subject: Added functionality to display timer conflicts when polled through the statusbox updates. Created the layout and look of the status message. --- pages/ibox.ecpp | 19 +++++++++++++++---- pages/menu.ecpp | 17 +++++++++++++++++ pages/xmlresponse.ecpp | 12 ++++++++++++ 3 files changed, 44 insertions(+), 4 deletions(-) (limited to 'pages') diff --git a/pages/ibox.ecpp b/pages/ibox.ecpp index 147dcfa..eeada61 100644 --- a/pages/ibox.ecpp +++ b/pages/ibox.ecpp @@ -11,6 +11,7 @@ #include "tools.h" #include "epg_events.h" #include "recman.h" +#include "timerconflict.h" using namespace vdrlive; using namespace std; @@ -22,6 +23,7 @@ using namespace std; <%session scope="global"> bool logged_in(false); int update_status(1); +TimerConflictNotifier timerNotifier(); <%cpp> if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); @@ -33,6 +35,15 @@ int update_status(1); if (update_status != update) { update_status = update; } + + string infoMsg; + string infoUrl; + + if (timerNotifier.ShouldNotify()) { + infoMsg = timerNotifier.Message(); + infoUrl = "timerconflicts.html"; + } + #if VDRVERSNUM >= 10403 const char* NowReplaying = cReplayControl::NowReplaying(); #else @@ -110,22 +121,22 @@ int update_status(1); if (prev_chan.Valid() && next_chan.Valid()) { -<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) prev_chan=(prev_chan) next_chan=(next_chan) &> + <& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) prev_chan=(prev_chan) next_chan=(next_chan) infoMsg=(infoMsg) infoUrl=(infoUrl) &> <%cpp> } else if (prev_chan.Valid()) { -<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) prev_chan=(prev_chan) &> +<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) prev_chan=(prev_chan) infoMsg=(infoMsg) infoUrl=(infoUrl) &> <%cpp> } else if (next_chan.Valid()) { -<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) next_chan=(next_chan) &> +<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) next_chan=(next_chan) infoMsg=(infoMsg) infoUrl=(infoUrl) &> <%cpp> } else { -<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) &> +<& xmlresponse.ibox update=(update_status) type=(epgEvent->Id()) caption=(epgEvent->Caption()) currentTime=(epgEvent->CurrentTime(tr("%I:%M:%S %p"))) duration=(epgEvent->StartTime(tr("%I:%M %p")) + string(" - ") + epgEvent->EndTime(tr("%I:%M %p"))) title=(epgEvent->Title()) elapsed=(epgEvent->Elapsed()) infoMsg=(infoMsg) infoUrl=(infoUrl) &> <%cpp> } } diff --git a/pages/menu.ecpp b/pages/menu.ecpp index bb7f47a..a998169 100644 --- a/pages/menu.ecpp +++ b/pages/menu.ecpp @@ -60,6 +60,23 @@ if (LiveSetup().UseAuth()) { | >? +
"> +
+
+ <$ tr("Your attention is required") $>: + <$ timerNotifier.Message() $> + <$ tr("React") $> +<%cpp> +if (LiveSetup().GetUseAjax()) { + + ">| + <$ tr("Dismiss") $> +<%cpp> +} + +
+
+
<%cpp> if (!component.empty()) { diff --git a/pages/xmlresponse.ecpp b/pages/xmlresponse.ecpp index 4bca87f..bf0a6c1 100644 --- a/pages/xmlresponse.ecpp +++ b/pages/xmlresponse.ecpp @@ -42,6 +42,8 @@ string const XMLHEADER = " <$$ XMLHEADER $> @@ -63,5 +65,15 @@ string const XMLHEADER = "<$ prev_chan $> +<%cpp> +if (!infoMsg.empty()) { + + + <$ infoMsg $> + <$ infoUrl $> + +<%cpp> +} + -- cgit v1.2.3