diff options
author | Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de> | 2008-02-24 19:37:21 +0100 |
---|---|---|
committer | Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de> | 2008-02-24 19:37:21 +0100 |
commit | 41298f1f32e40644b2837c96c45b02e9ad27f95f (patch) | |
tree | 19d0ba2874a237e27344a0b56c2e881d0f65f5f6 | |
parent | 503a94cd38b65b686fe898aba960b55ab47ddbf5 (diff) | |
download | vdr-plugin-live-41298f1f32e40644b2837c96c45b02e9ad27f95f.tar.gz vdr-plugin-live-41298f1f32e40644b2837c96c45b02e9ad27f95f.tar.bz2 |
Added functionality to display timer conflicts when polled through the
statusbox updates.
Created the layout and look of the status message.
-rw-r--r-- | css/styles.css | 46 | ||||
-rw-r--r-- | live/css/siteprefs.css | 3 | ||||
-rw-r--r-- | live/img/msgbar_line_bg.png | bin | 0 -> 144 bytes | |||
-rw-r--r-- | live/js/live/vdr_status.js | 135 | ||||
-rw-r--r-- | pages/ibox.ecpp | 19 | ||||
-rw-r--r-- | pages/menu.ecpp | 17 | ||||
-rw-r--r-- | pages/xmlresponse.ecpp | 12 | ||||
-rw-r--r-- | po/ca_ES.po | 17 | ||||
-rw-r--r-- | po/cs_CZ.po | 17 | ||||
-rw-r--r-- | po/da_DK.po | 17 | ||||
-rw-r--r-- | po/de_DE.po | 22 | ||||
-rw-r--r-- | po/el_GR.po | 17 | ||||
-rw-r--r-- | po/es_ES.po | 17 | ||||
-rw-r--r-- | po/et_EE.po | 17 | ||||
-rw-r--r-- | po/fi_FI.po | 22 | ||||
-rw-r--r-- | po/fr_FR.po | 22 | ||||
-rw-r--r-- | po/hr_HR.po | 17 | ||||
-rw-r--r-- | po/hu_HU.po | 17 | ||||
-rw-r--r-- | po/it_IT.po | 22 | ||||
-rw-r--r-- | po/nl_NL.po | 22 | ||||
-rw-r--r-- | po/nn_NO.po | 17 | ||||
-rw-r--r-- | po/pl_PL.po | 17 | ||||
-rw-r--r-- | po/pt_PT.po | 17 | ||||
-rw-r--r-- | po/ro_RO.po | 17 | ||||
-rw-r--r-- | po/ru_RU.po | 17 | ||||
-rw-r--r-- | po/sl_SI.po | 17 | ||||
-rw-r--r-- | po/sv_SE.po | 17 | ||||
-rw-r--r-- | po/tr_TR.po | 17 | ||||
-rw-r--r-- | timerconflict.cpp | 13 | ||||
-rw-r--r-- | timerconflict.h | 4 |
30 files changed, 557 insertions, 74 deletions
diff --git a/css/styles.css b/css/styles.css index 3e64f09..f8ff476 100644 --- a/css/styles.css +++ b/css/styles.css @@ -413,6 +413,8 @@ div.inhalt { padding: 10px; } +/* styles for pagemenu */ + div#pagemenu { margin-top: 2px; padding-top: 6px; @@ -451,6 +453,50 @@ div#pagemenu a.active { font-weight: bold; } +/* styles for messagebar */ + +div#messagebar { + margin-top: 8px; + margin-bottom: 2px; + line-height: 20px; + min-height: 27px; + vertical-align: middle; + background: #7CAD3F url(img/msgbar_line_bg.png) top repeat-x; + border-top: 1px solid #2B6B00; + border-bottom: 1px solid #2B6B00; +} + +div#messagebar div { + color: black; +} + +div#messagebar div div { + padding-left: 10px; + background: transparent; +} + +div#messagebar div div div { + border: 0; + padding: 0; + margin: 0; +} + +div#messagebar a { + color: black; + font-weight: bold; +} + +div#messagebar a.active { + color: blue; + font-weight: bold; +} + +div#messagebar span#mbmessage { + padding: 0em 1em 0em 1em; + color: #A14040; + font-weight: bold; +} + /* ####################### # Info Box (near logo) diff --git a/live/css/siteprefs.css b/live/css/siteprefs.css index 5056813..5e16262 100644 --- a/live/css/siteprefs.css +++ b/live/css/siteprefs.css @@ -23,3 +23,6 @@ table { .info-win span.epg_images { width: 120px; } + + + diff --git a/live/img/msgbar_line_bg.png b/live/img/msgbar_line_bg.png Binary files differnew file mode 100644 index 0000000..75e5981 --- /dev/null +++ b/live/img/msgbar_line_bg.png diff --git a/live/js/live/vdr_status.js b/live/js/live/vdr_status.js index 13e4a0d..84afac2 100644 --- a/live/js/live/vdr_status.js +++ b/live/js/live/vdr_status.js @@ -28,51 +28,13 @@ var LiveVdrInfo = Ajax.extend({ showInfo: function(text, xmldoc) { try { - var infoType = xmldoc.getElementsByTagName('type').item(0); - - var channel = $(this.boxId + '_channel_buttons'); - var playback = $(this.boxId + '_recording_buttons'); - - if (infoType.firstChild.nodeValue != "channel") { - channel.style.display = 'none'; - playback.style.display = 'block'; - this.setTextContent('pause', infoType.firstChild.nodeValue); - this.setTextContent('play', infoType.firstChild.nodeValue); - this.setTextContent('rwd', infoType.firstChild.nodeValue); - this.setTextContent('ffw', infoType.firstChild.nodeValue); - this.setTextContent('stop', infoType.firstChild.nodeValue); - } - else { - playback.style.display = 'none'; - channel.style.display = 'block'; - } - - var epgInfo = xmldoc.getElementsByTagName('epginfo').item(0); + this.selectInfoElems(xmldoc); - for (var i = 0; i < epgInfo.childNodes.length; i++) { - var node = epgInfo.childNodes.item(i); - if (node.nodeType == 1) { - var textContent = ""; - if (node.firstChild != null) - textContent = node.firstChild.nodeValue; - this.setTextContent(node.nodeName, textContent); - } - } + this.setEpgInfo(xmldoc); - /* check if we still need to update the status */ - var upd = xmldoc.getElementsByTagName('update').item(0); - var rel = (upd.firstChild.nodeValue == "1"); + this.setInfoMessage(xmldoc); - if (rel != this.reload) { - this.reload = rel; - var img = $('statusReloadBtn'); - if (img != null) { - // change image according to state. - img.src = this.reload ? 'img/stop_update.png' : 'img/reload.png'; - } - } - if (this.reload) - this.timer = this.request.delay(1000, this, true); + this.setUpdate(xmldoc); } catch (e) { this.reportError(null); @@ -92,6 +54,75 @@ var LiveVdrInfo = Ajax.extend({ this.setTextContent('name', message); }, + // private function to switch visibility of controls. + selectInfoElems: function(xmldoc) + { + var infoType = xmldoc.getElementsByTagName('type').item(0); + + var channel = $(this.boxId + '_channel_buttons'); + var playback = $(this.boxId + '_recording_buttons'); + + if (infoType.firstChild.nodeValue != "channel") { + channel.style.display = 'none'; + playback.style.display = 'block'; + this.setTextContent('pause', infoType.firstChild.nodeValue); + this.setTextContent('play', infoType.firstChild.nodeValue); + this.setTextContent('rwd', infoType.firstChild.nodeValue); + this.setTextContent('ffw', infoType.firstChild.nodeValue); + this.setTextContent('stop', infoType.firstChild.nodeValue); + } + else { + playback.style.display = 'none'; + channel.style.display = 'block'; + } + }, + + // private function to activate the info message display if the + // corresponding element is found in the current page. + setInfoMessage: function(xmldoc) + { + var info = xmldoc.getElementsByTagName('info').item(0); + if (! $defined(info)) + return; + + var messagebar = $('messagebar'); + if (! $defined(messagebar)) + return; + + var message = xmldoc.getElementsByTagName('message').item(0); + var url = xmldoc.getElementsByTagName('url').item(0); + + if (message.firstChild.nodeValue != "") { + $('mbmessage').setText(message.firstChild.nodeValue); + if ($defined(url.firstChild)) { + $('mbdelimiter').removeClass('notpresent'); + $('mbreact').setProperty('href', url.firstChild.nodeValue); + } + else { + $('mbdelimiter').addClass('notpresent'); + $('mbreact').addClass('notpresent'); + } + messagebar.removeClass('notpresent'); + } + }, + + // private function to display information from epg info. + setEpgInfo: function(xmldoc) + { + var epgInfo = xmldoc.getElementsByTagName('epginfo').item(0); + + for (var i = 0; i < epgInfo.childNodes.length; i++) { + var node = epgInfo.childNodes.item(i); + if (node.nodeType == 1) { + var textContent = ""; + if (node.firstChild != null) + textContent = node.firstChild.nodeValue; + this.setTextContent(node.nodeName, textContent); + } + } + }, + + // private function to update text contents. setTextContent: function(nodeName, textContent) { var docNode = $(this.boxId + '_' + nodeName); @@ -148,6 +179,26 @@ var LiveVdrInfo = Ajax.extend({ } }, + // private function to determine update status and to trigger + // the next update. + setUpdate: function(xmldoc) + { + /* check if we still need to update the status */ + var upd = xmldoc.getElementsByTagName('update').item(0); + var rel = (upd.firstChild.nodeValue == "1"); + + if (rel != this.reload) { + this.reload = rel; + var img = $('statusReloadBtn'); + if (img != null) { + // change image according to state. + img.src = this.reload ? 'img/stop_update.png' : 'img/reload.png'; + } + } + if (this.reload) + this.timer = this.request.delay(1000, this, true); + }, + toggleUpdate: function() { if (this.reload) { 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(); </%session> <%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()) { </%cpp> -<& 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()) { </%cpp> -<& 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()) { </%cpp> -<& 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 { </%cpp> -<& 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()) { </%cpp> | <a <& tooltip.display domId=("aboutBox") &>>?</a> </div> +<div id="messagebar" class="<? !timerNotifier.ShouldNotify() ? "notpresent" ?>"> + <div> <!-- outer --> + <div><!-- inner --> + <$ tr("Your attention is required") $>: + <span id="mbmessage"><$ timerNotifier.Message() $></span> + <a id="mbreact" href="<$ timerNotifier.Url() $>"><$ tr("React") $></a> +<%cpp> +if (LiveSetup().GetUseAjax()) { +</%cpp> + <span id="mbdelimiter" class="<? timerNotifier.Url().empty() ? "notpresent" ?>">|</span> + <span id="mbdismiss"><a href="" onclick="$('messagebar').addClass('notpresent'); return false"><$ tr("Dismiss") $></a></span> +<%cpp> +} +</%cpp> + </div> + </div> +</div> <%cpp> if (!component.empty()) { </%cpp> 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 = "<?xml version=\"1.0\" encoding=\"" + LiveI18n().Charac int elapsed; string prev_chan; string next_chan; + string infoMsg; + string infoUrl; </%args> <$$ XMLHEADER $> <service> @@ -63,5 +65,15 @@ string const XMLHEADER = "<?xml version=\"1.0\" encoding=\"" + LiveI18n().Charac <prevchan><$ prev_chan $></prevchan> </epginfo> </values> +<%cpp> +if (!infoMsg.empty()) { +</%cpp> + <info> + <message><$ infoMsg $></message> + <url><$ infoUrl $></url> + </info> +<%cpp> +} +</%cpp> </service> </%def> diff --git a/po/ca_ES.po b/po/ca_ES.po index 712efd2..10ed873 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -113,7 +113,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -428,6 +434,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 0390e14..4f09824 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/da_DK.po b/po/da_DK.po index 0a0394e..2bf5baa 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/de_DE.po b/po/de_DE.po index fba621d..afdc27a 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -113,8 +113,14 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." -msgstr "Timer Konflikte entdeckt! Sie sollten die entsprechenden Timer prüfen." +msgid "Timer conflict check detected " +msgstr "Die Timer Konflikt Überprüfung hat " + +msgid " conflict" +msgstr "Timerkonflikt entdeckt" + +msgid " conflicts" +msgstr "Timerkonflikte entdeckt" msgid "Couldn't aquire access to channels, please try again later." msgstr "Zugriff auf die Kanäle wurde verweigert. Bitte später versuchen." @@ -428,6 +434,15 @@ msgstr "Fernbedienung" msgid "Logout" msgstr "Abmelden" +msgid "Your attention is required" +msgstr "Ihre Aufmerksamkeit ist erforderlich" + +msgid "React" +msgstr "Reagieren" + +msgid "Dismiss" +msgstr "Verwerfen" + msgid "Find more at the Internet Movie Database." msgstr "Weitere Informationen in der Internet Movie Database." @@ -773,6 +788,9 @@ msgstr "Ausführliche Ansicht" msgid "List view" msgstr "Listenansicht" +#~ msgid "Timer conflicts detected! You should check the conflicting timers." +#~ msgstr "Timer Konflikte entdeckt! Sie sollten die entsprechenden Timer prüfen." + #~ msgid "Start" #~ msgstr "Start" diff --git a/po/el_GR.po b/po/el_GR.po index 5c2a2f8..9f92782 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/es_ES.po b/po/es_ES.po index cc97418..1f2f36f 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/et_EE.po b/po/et_EE.po index 8ec561c..90b079b 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/fi_FI.po b/po/fi_FI.po index 497919a..fb8e166 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -111,8 +111,17 @@ msgstr "Ensisijaisen DVB-sovittimen käyttäminen epäonnistui!" msgid "Couldn't grab image from primary device" msgstr "Kuvan kaappaus ensisijaiselta DVB-sovittimelta epäonnistui!" -msgid "Timer conflicts detected! You should check the conflicting timers." -msgstr "" +#, fuzzy +msgid "Timer conflict check detected " +msgstr "Aktiivinen ajastin" + +#, fuzzy +msgid " conflict" +msgstr "Aktiivinen ajastin" + +#, fuzzy +msgid " conflicts" +msgstr "Aktiivinen ajastin" msgid "Couldn't aquire access to channels, please try again later." msgstr "Kanavien käyttäminen epäonnistui! Yritä myöhemmin uudelleen." @@ -426,6 +435,15 @@ msgstr "Kauko-ohjain" msgid "Logout" msgstr "Kirjaudu ulos" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "Hae IMDB:stä" diff --git a/po/fr_FR.po b/po/fr_FR.po index e89bb20..fd8765c 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -114,8 +114,17 @@ msgstr "Impossible d'acquérir périphérique primaire" msgid "Couldn't grab image from primary device" msgstr "Impossible de récupérer l'image du périphérique primaire" -msgid "Timer conflicts detected! You should check the conflicting timers." -msgstr "" +#, fuzzy +msgid "Timer conflict check detected " +msgstr "Programmation est active." + +#, fuzzy +msgid " conflict" +msgstr "Programmation est active." + +#, fuzzy +msgid " conflicts" +msgstr "Programmation est active." msgid "Couldn't aquire access to channels, please try again later." msgstr "Impossible d'avoir accès à des chaînes, réessayer ultérieurement." @@ -429,6 +438,15 @@ msgstr "Télécommande du VDR" msgid "Logout" msgstr "Fin de session" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "Trouver plus d'information du film dans la base de données film IMDB." diff --git a/po/hr_HR.po b/po/hr_HR.po index f882f26..09e9e73 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/hu_HU.po b/po/hu_HU.po index eae5c10..a7ee422 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/it_IT.po b/po/it_IT.po index fc67cc8..9e158b5 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -113,8 +113,17 @@ msgstr "Impossibile identificare scheda primaria" msgid "Couldn't grab image from primary device" msgstr "Impossibile ottenere immagine da scheda primaria" -msgid "Timer conflicts detected! You should check the conflicting timers." -msgstr "" +#, fuzzy +msgid "Timer conflict check detected " +msgstr "Timer attivo." + +#, fuzzy +msgid " conflict" +msgstr "Timer attivo." + +#, fuzzy +msgid " conflicts" +msgstr "Timer attivo." msgid "Couldn't aquire access to channels, please try again later." msgstr "Impossibile avere accesso ai canali, per favore riprova più tardi." @@ -428,6 +437,15 @@ msgstr "Telecomando" msgid "Logout" msgstr "Esci" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "Cerca ulteriori informazioni nel database internet (IMDB)" diff --git a/po/nl_NL.po b/po/nl_NL.po index 96f636a..16e8f80 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -114,8 +114,17 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." -msgstr "" +#, fuzzy +msgid "Timer conflict check detected " +msgstr "Serie's opnemen" + +#, fuzzy +msgid " conflict" +msgstr "Serie's opnemen" + +#, fuzzy +msgid " conflicts" +msgstr "Serie's opnemen" msgid "Couldn't aquire access to channels, please try again later." msgstr "" @@ -429,6 +438,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/nn_NO.po b/po/nn_NO.po index 274e7c5..239bbb4 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/pl_PL.po b/po/pl_PL.po index dfd1360..0faf362 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/pt_PT.po b/po/pt_PT.po index 3d5c725..ead6e89 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/ro_RO.po b/po/ro_RO.po index 0887d2e..9ab90d0 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/ru_RU.po b/po/ru_RU.po index e13e12b..c7dc079 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -111,7 +111,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -426,6 +432,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/sl_SI.po b/po/sl_SI.po index eaa37f5..412537d 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/sv_SE.po b/po/sv_SE.po index 3cb7520..a9bd7c7 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/po/tr_TR.po b/po/tr_TR.po index df3cd0d..7211c2f 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -112,7 +112,13 @@ msgstr "" msgid "Couldn't grab image from primary device" msgstr "" -msgid "Timer conflicts detected! You should check the conflicting timers." +msgid "Timer conflict check detected " +msgstr "" + +msgid " conflict" +msgstr "" + +msgid " conflicts" msgstr "" msgid "Couldn't aquire access to channels, please try again later." @@ -427,6 +433,15 @@ msgstr "" msgid "Logout" msgstr "" +msgid "Your attention is required" +msgstr "" + +msgid "React" +msgstr "" + +msgid "Dismiss" +msgstr "" + msgid "Find more at the Internet Movie Database." msgstr "" diff --git a/timerconflict.cpp b/timerconflict.cpp index 6f2c95c..14f42f9 100644 --- a/timerconflict.cpp +++ b/timerconflict.cpp @@ -111,7 +111,18 @@ namespace vdrlive { std::string TimerConflictNotifier::Message() const { int count = conflicts ? conflicts->size() : 0; - return count > 0 ? tr("Timer conflicts detected! You should check the conflicting timers.") : ""; + std::string msg = tr("Timer conflict check detected "); + if (count == 1) + msg += ConvertToString(count) + tr(" conflict"); + else + msg += ConvertToString(count) + tr(" conflicts"); + return count > 0 ? msg : ""; } + std::string TimerConflictNotifier::Url() const + { + return "timerconflicts.html"; + } + + } // namespace vdrlive diff --git a/timerconflict.h b/timerconflict.h index 80fba99..c8bca2c 100644 --- a/timerconflict.h +++ b/timerconflict.h @@ -71,11 +71,13 @@ namespace vdrlive { virtual ~TimerConflictNotifier(); bool ShouldNotify(); + std::string Message() const; + std::string Url() const; TimerConflictsPtr const CurrentConflicts() const { return conflicts; } - static int const CHECKINTERVAL = 30; // recheck value in seconds. + static int const CHECKINTERVAL = 5; // recheck value in seconds. private: time_t lastCheck; |