From aba821e79cdcf657f84fd1be7c574e29f7835d12 Mon Sep 17 00:00:00 2001 From: Dieter Hametner Date: Sat, 5 May 2007 23:57:05 +0000 Subject: - General cleanup of recordings. Made design more like other pages - Bugfix for #289, #291 - Adapted styles and helper classes. - recordings should be now strict XHTML. --- css/styles.css | 10 ++ epg_events.cpp | 22 ++++ epg_events.h | 13 +- i18n.cpp | 310 ++++++++++++++++++++++++++++------------------- images/Makefile | 2 +- images/on_dvd.png | Bin 0 -> 821 bytes javascript/vdr_status.js | 2 +- pages/pageelems.ecpp | 47 ++----- pages/recordings.ecpp | 184 ++++++++++++++++------------ pages/tooltip.ecpp | 8 +- recordings.cpp | 68 ++++++++++- recordings.h | 12 ++ 12 files changed, 434 insertions(+), 244 deletions(-) create mode 100644 images/on_dvd.png diff --git a/css/styles.css b/css/styles.css index 2cfce95..734788b 100644 --- a/css/styles.css +++ b/css/styles.css @@ -33,6 +33,15 @@ img { border: 0; } +/* ###################### + # global style properties + ###################### +*/ + +.bold { + font-weight: bold; +} + /* ###################### # Tooltip style for hints ###################### @@ -591,6 +600,7 @@ div.boxheader div div { */ div.recordings { + border: 1px solid black; } .recordings ul { diff --git a/epg_events.cpp b/epg_events.cpp index ec95fde..2d5237c 100644 --- a/epg_events.cpp +++ b/epg_events.cpp @@ -1,6 +1,7 @@ #include #include "tools.h" +#include "recordings.h" #include "epg_events.h" @@ -18,6 +19,7 @@ namespace vdrlive m_title(title), m_short_descr(short_descr), m_long_descr(long_descr), + m_archived(), m_start_time(start_time), m_end_time(end_time) { @@ -29,11 +31,31 @@ namespace vdrlive m_title(event->Title() ? event->Title() : ""), m_short_descr(event->ShortText() ? event->ShortText() : ""), m_long_descr(event->Description() ? event->Description() : ""), + m_archived(), m_start_time(event->StartTime()), m_end_time(event->EndTime()) { } + EpgEvent::EpgEvent(const std::string& id, + const std::string& caption, + const std::string& title, + const std::string& short_descr, + const std::string& long_descr, + const std::string& archived, + time_t start_time, + time_t end_time) : + m_eventId(id), + m_caption(caption), + m_title(title), + m_short_descr(short_descr), + m_long_descr(long_descr), + m_archived(archived), + m_start_time(start_time), + m_end_time(end_time) + { + } + EpgEvent::~EpgEvent() { } diff --git a/epg_events.h b/epg_events.h index 330f7ba..03c7947 100644 --- a/epg_events.h +++ b/epg_events.h @@ -15,7 +15,6 @@ namespace vdrlive { - class EpgEvent { public: @@ -31,6 +30,15 @@ namespace vdrlive const cEvent* event, const char* channelName = ""); + EpgEvent(const std::string& id, + const std::string& caption, + const std::string& title, + const std::string& short_descr, + const std::string& long_descr, + const std::string& archived, + time_t start_time, + time_t end_time); + virtual ~EpgEvent(); const std::string& Id() const { return m_eventId; } @@ -43,6 +51,8 @@ namespace vdrlive const std::string& LongDescr() const { return m_long_descr; } + const std::string& Archived() const { return m_archived; } + const std::string StartTime(const char* format) const; const std::string EndTime(const char* format) const; @@ -59,6 +69,7 @@ namespace vdrlive std::string m_title; std::string m_short_descr; std::string m_long_descr; + std::string m_archived; time_t m_start_time; time_t m_end_time; }; diff --git a/i18n.cpp b/i18n.cpp index 07bf47b..dfa0259 100644 --- a/i18n.cpp +++ b/i18n.cpp @@ -201,6 +201,50 @@ const tI18nPhrase Phrases[] = { "", // Dansk "", // Czech }, + { "List of recordings", // English + "Liste der Aufnahmen", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech + }, + { "No recordings found", // English + "Keine Aufnahmen vorhanden", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech + }, { "Remote Control", // English "Fernbedienung", // Deutsch "", // Slovenski @@ -2669,26 +2713,26 @@ const tI18nPhrase Phrases[] = { "", }, { "Delete this search timer?", // English - "Diesen Suchtimer löschen?", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Finnish - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Românã - "", // Magyar - "", // Català - "", // Russian - "", // Hrvatski - "", // Eesti - "", // Dansk - "", // Czech + "Diesen Suchtimer löschen?", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech }, { "Cancel", "Abbrechen", @@ -2735,7 +2779,7 @@ const tI18nPhrase Phrases[] = { "", "", }, - { "Test", // English + { "Test", // English "Testen", // Deutsch "", // Slovenski "", // Italiano @@ -2756,8 +2800,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "The time the show may start at the latest", // English + }, + { "The time the show may start at the latest", // English "Die Zeit, zu der die Sendung spätestens angefangen haben muss", // Deutsch "", // Slovenski "", // Italiano @@ -2778,8 +2822,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "The time the show may start at the earliest", // English + }, + { "The time the show may start at the earliest", // English "Die Zeit, zu der die Sendung frühestens anfangen darf", // Deutsch "", // Slovenski "", // Italiano @@ -2800,31 +2844,31 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, + }, { "Search text too short - use anyway?", - "Suchtext zu kurz - trotzdem verwenden?", - "",// TODO - "Il testo da cercare è troppo corto. Continuare lo stesso?",// Italiano - "Zoek tekst tekort - toch gebruiken?", - "",// TODO - "Texte de recherche est trop court - l'utiliser comme même?", - "",// TODO - "Liian suppea hakuehto - etsitäänkö silti?", - "",// TODO - "",// TODO - "",// TODO - "",// TODO - "",// TODO - "",// TODO - "",// TODO - "",// TODO - "",// TODO - "",// TODO Eesti - "",// TODO Dansk - "",// TODO Èesky (Czech) + "Suchtext zu kurz - trotzdem verwenden?", + "",// TODO + "Il testo da cercare è troppo corto. Continuare lo stesso?",// Italiano + "Zoek tekst tekort - toch gebruiken?", + "",// TODO + "Texte de recherche est trop court - l'utiliser comme même?", + "",// TODO + "Liian suppea hakuehto - etsitäänkö silti?", + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO Eesti + "",// TODO Dansk + "",// TODO Èesky (Czech) }, - { "User", // English + { "User", // English "Benutzer", // Deutsch "", // Slovenski "", // Italiano @@ -2845,8 +2889,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "Password", // English + }, + { "Password", // English "Passwort", // Deutsch "", // Slovenski "", // Italiano @@ -2867,8 +2911,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "Last channel to display", // English + }, + { "Last channel to display", // English "Letzer angezeigter Kanal", // Deutsch "", // Slovenski "", // Italiano @@ -2889,8 +2933,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "Use authentication", // English + }, + { "Use authentication", // English "Authentifizierung nutzen", // Deutsch "", // Slovenski "", // Italiano @@ -2911,8 +2955,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "No Limit", // English + }, + { "No Limit", // English "Alle zeigen", // Deutsch "", // Slovenski "", // Italiano @@ -2933,8 +2977,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "Admin login", // English + }, + { "Admin login", // English "Admin Login", // Deutsch "", // Slovenski "", // Italiano @@ -2955,8 +2999,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "Admin password", // English + }, + { "Admin password", // English "Admin Passwort", // Deutsch "", // Slovenski "", // Italiano @@ -2977,8 +3021,8 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, - { "VDR Live Login", // English + }, + { "VDR Live Login", // English "VDR Live Login", // Deutsch "", // Slovenski "", // Italiano @@ -2999,7 +3043,7 @@ const tI18nPhrase Phrases[] = { "", // Eesti "", // Dansk "", // Czech - }, + }, { "Logout", // English "Abmelden", // Deutsch "", // Slovenski @@ -3045,70 +3089,92 @@ const tI18nPhrase Phrases[] = { "", // Czech }, { "Search", // English - "Suchen", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Finnish - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Românã - "", // Magyar - "", // Català - "", // Russian - "", // Hrvatski - "", // Eesti - "", // Dansk - "", // Czech + "Suchen", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech }, { "Extended search", // English - "Erweiterte Suche", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Finnish - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Românã - "", // Magyar - "", // Català - "", // Russian - "", // Hrvatski - "", // Eesti - "", // Dansk - "", // Czech + "Erweiterte Suche", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech }, { "Search settings", // English - "Einstellungen zur Suche", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Finnish - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Românã - "", // Magyar - "", // Català - "", // Russian - "", // Hrvatski - "", // Eesti - "", // Dansk - "", // Czech + "Einstellungen zur Suche", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech + }, + { "On archive DVD No.", // English + "Auf Archiv-DVD Nr.", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "", // Finnish + "", // Polski + "", // Español + "", // Greek + "", // Svenska + "", // Românã + "", // Magyar + "", // Català + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech }, /* { "", // English diff --git a/images/Makefile b/images/Makefile index abfd360..098a701 100644 --- a/images/Makefile +++ b/images/Makefile @@ -23,7 +23,7 @@ OBJS = logo.o record.o active.o inactive.o button_blue.o \ reload.o stop.o one_uparrow.o one_downarrow.o tv.o \ remotecontrol.o search.o record_timer.o button_red.o \ button_green.o button_new.o help.o logo_login.o \ - button_yellow.o arrow.o + button_yellow.o arrow.o on_dvd.o ### Default rules: diff --git a/images/on_dvd.png b/images/on_dvd.png new file mode 100644 index 0000000..13c1168 Binary files /dev/null and b/images/on_dvd.png differ diff --git a/javascript/vdr_status.js b/javascript/vdr_status.js index 829b19c..073d568 100644 --- a/javascript/vdr_status.js +++ b/javascript/vdr_status.js @@ -31,7 +31,7 @@ function LiveStatusRequest(url, containerid) } status.onerror = function(message) { - vst_reload = false; + LiveStatusToggleUpdate(); LiveStatusReportError(message, containerid); } status.request("update", vst_reload ? "1" : "0"); diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp index 7acf72a..a7fcf33 100644 --- a/pages/pageelems.ecpp +++ b/pages/pageelems.ecpp @@ -79,7 +79,7 @@ using namespace vdrlive; string progress = "0"; string id; -
px">
+
if (!id.empty()) { id="<$ id $>"<%cpp> } style="width: <$ progress $>px">
<# ---------------------------------------------------------------------- #> @@ -90,7 +90,7 @@ using namespace vdrlive; tEventID eventid; <%cpp> const cTimer* timer = LiveTimerManager().GetTimer(eventid, channelid); - if (timer) { + if (timer) { /> @@ -104,8 +104,8 @@ using namespace vdrlive; <# ---------------------------------------------------------------------- #> <%def ajax_js> - - + + <# ---------------------------------------------------------------------- #> @@ -119,7 +119,7 @@ using namespace vdrlive; string alt; string id; -<%cpp> { .xml', 'param', '<$ param $>');" <%cpp>if (!tip.empty()) { <& tooltip.hint text=(tip) &> <%cpp> } ><$ alt $> <%cpp> } +<%cpp> { if (!id.empty()) { id="<$ id $>" <%cpp> } <& hide_element hide=(!id.empty()) &> href="javascript:LiveSimpleAjaxRequest('<$ action $>.xml', 'param', '<$ param $>');" <%cpp>if (!tip.empty()) { <& tooltip.hint text=(tip) &> <%cpp> } ><$ alt $> <%cpp> } <# ---------------------------------------------------------------------- #> @@ -133,6 +133,7 @@ using namespace vdrlive; string title; string short_descr; string long_descr; + string archived; int elapsed = -1;
@@ -141,50 +142,20 @@ using namespace vdrlive;
- <& (tools_comp) id=(boxId) &> + <& (tools_comp) id=(boxId) archived=(archived) &>
-
<$ (time) $>
+
<%cpp> if (!archived.empty()) { <$ (archived + " ") $><%cpp> } <$ (time) $>
% if (elapsed >= 0) {
<& pageelems.progressbar progress=(elapsed) &>
% }
<$ (title) $>
<$ (short_descr) $>
- <{ reply.out() << StringEscapeAndBreak(long_descr); }> + <%cpp> reply.out() << StringEscapeAndBreak(long_descr);
-<# ---------------------------------------------------------------------- #> - -<%def status_box> -<%args> - string type; - string currentTime; - string caption; - string title; - string duration; - int elapsed; - string prev_chan; - string next_chan; - -
-
-
<$ caption $>
-
 <$ currentTime $>
-
-
-
<$ title $>
-
 <$ duration $>
-
-
-
><%cpp>if (!prev_chan.empty()) { <& ajax_action_href action=("switch_channel") param=(prev_chan) image=("one_downarrow.png") tip=(tr("previous channel")) &><%cpp> } if (!next_chan.empty()) { <& ajax_action_href action=("switch_channel") param=(next_chan) image=("one_uparrow.png") tip=(tr("next channel")) &><%cpp> }
-% if (elapsed >= 0) { -
<& pageelems.progressbar progress=(elapsed) &>
-% } -
-
- diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp index 87c534e..c9f9432 100644 --- a/pages/recordings.ecpp +++ b/pages/recordings.ecpp @@ -16,7 +16,7 @@ using namespace std; <%args> <%session scope="global"> -bool logged_in(false); + bool logged_in(false); <%request scope="page"> RecordingsTree recordingsTree(LiveRecordingsManager()); @@ -36,17 +36,20 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); <& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &> <& pageelems.ajax_js &> - + <& pageelems.logo &> <& menu active=("recordings") &>
+
<$ tr("List of recordings") $>
% if (Recordings.Count() == 0) { - Keine Aufnahmen vorhanden + <$ tr("No recordings found") $> % } else {
+
    <& recordings.recordings_item &> +