@@ -386,7 +388,7 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) {
<$ FormatDateTime(tr("%a,"), startTime) + string(" ") + FormatDateTime(tr("%b %d %y"), startTime) + string(" ") + FormatDateTime(tr("%I:%M %p"), startTime) $>
<$ duration $>
-
+
<%cpp>
diff --git a/pages/timers.ecpp b/pages/timers.ecpp
index 7b7be70..3af452b 100644
--- a/pages/timers.ecpp
+++ b/pages/timers.ecpp
@@ -79,6 +79,7 @@ static const size_t maximumDescriptionLength = 300;
EpgInfoPtr epgEvent;
string longDescription;
string searchTimName;
+ string searchTimId;
#if VDRVERSNUM >= 20301
if (!timer->Event()) {
LOCK_SCHEDULES_READ;
@@ -94,6 +95,7 @@ static const size_t maximumDescriptionLength = 300;
+ StringEscapeAndBreak(StringWordTruncate(epgEvent->LongDescr(), maximumDescriptionLength))
+ "
" + tr("Click to view details.");
searchTimName = SortedTimers::SearchTimerName(*timer);
+ searchTimId = SortedTimers::SearchTimerId(*timer);
}
string currentDay = SortedTimers::GetTimerDays(*timer);
SortedTimers::iterator nextTimer = timer; ++nextTimer;
@@ -157,7 +159,7 @@ static const size_t maximumDescriptionLength = 300;
% }
><$ timer->File() $>
-
"> <$ searchTimName $> |
+
"> |
">Flags() & tfActive) ? "active.png" : "inactive.png") $>" alt="" <& tooltip.hint text=(tr("Toggle timer active/inactive")) &>> |
"><& pageelems.edit_timer timerId=(timers.GetTimerId(*timer)) &> |
">" alt="" <& tooltip.hint text=(tr("Delete timer")) &>> |
diff --git a/recman.cpp b/recman.cpp
index 7bd7912..4dc816c 100644
--- a/recman.cpp
+++ b/recman.cpp
@@ -431,6 +431,12 @@ namespace vdrlive {
return m_recording->LengthInSeconds() / 60;
}
+ long RecordingsItemRec::GetResume() const
+ {
+ if (!m_recording->FileName()) return 0;
+ return m_recording->GetResume();
+ }
+
/**
* Implementation of class RecordingsTree:
*/
diff --git a/recman.h b/recman.h
index c5a5fbb..dabbb4f 100644
--- a/recman.h
+++ b/recman.h
@@ -171,6 +171,7 @@ namespace vdrlive {
virtual time_t StartTime() const = 0;
virtual bool IsDir() const = 0;
virtual long Duration() const = 0;
+ virtual long GetResume() const = 0;
virtual const std::string& Name() const { return m_name; }
virtual const std::string Id() const = 0;
@@ -203,6 +204,7 @@ namespace vdrlive {
virtual time_t StartTime() const { return 0; }
virtual long Duration() const { return 0; }
virtual bool IsDir() const { return true; }
+ virtual long GetResume() const { return 0; }
virtual std::string const Id() const { return ""; }
private:
@@ -225,6 +227,7 @@ namespace vdrlive {
virtual time_t StartTime() const;
virtual long Duration() const;
virtual bool IsDir() const { return false; }
+ virtual long GetResume() const;
virtual const std::string Id() const { return m_id; }
virtual const cRecording* Recording() const { return m_recording; }
diff --git a/timers.cpp b/timers.cpp
index 98e4ad8..700cfe1 100644
--- a/timers.cpp
+++ b/timers.cpp
@@ -162,6 +162,22 @@ namespace vdrlive {
return info.str();
}
+ string SortedTimers::SearchTimerId(cTimer const& timer)
+ {
+ ostringstream info;
+ if (timer.Aux())
+ {
+ string epgsearchinfo = GetXMLValue(timer.Aux(), "epgsearch");
+ if (!epgsearchinfo.empty())
+ {
+ string searchtimer = GetXMLValue(epgsearchinfo, "s-id");
+ if (!searchtimer.empty())
+ info << searchtimer;
+ }
+ }
+ return info.str();
+ }
+
#if VDRVERSNUM >= 20301
bool SortedTimers::Modified()
{
diff --git a/timers.h b/timers.h
index 30583f3..bc86508 100644
--- a/timers.h
+++ b/timers.h
@@ -30,6 +30,7 @@ namespace vdrlive {
static std::string GetTimerDays(cTimer const& timer);
static std::string GetTimerInfo(cTimer const& timer);
static std::string SearchTimerName(cTimer const& timer);
+ static std::string SearchTimerId(cTimer const& timer);
private:
SortedTimers();