From 2b4326c4993e82e38f02715b5ff3b74864585c8e Mon Sep 17 00:00:00 2001 From: Christian Wieninger Date: Sat, 28 Apr 2007 12:11:35 +0000 Subject: - added a dropdown list in search timer's edit to select an existing recording directory --- epgsearch.cpp | 9 +++++++++ epgsearch.h | 19 +++++++++++++++++++ epgsearch/services.h | 3 +++ pages/edit_searchtimer.ecpp | 15 +++++++++++++-- 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/epgsearch.cpp b/epgsearch.cpp index 4d7d3fe..38bf070 100644 --- a/epgsearch.cpp +++ b/epgsearch.cpp @@ -548,4 +548,13 @@ std::string SearchResults::PopQuery(std::string const& md5) return query; } +RecordingDirs::RecordingDirs() +{ + Epgsearch_services_v1_0 service; + if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 ) + throw HtmlError( tr("No searchtimers available") ); + + m_set = service.handler->DirectoryList(); +} + } // namespace vdrlive diff --git a/epgsearch.h b/epgsearch.h index cde0679..b2c0b73 100644 --- a/epgsearch.h +++ b/epgsearch.h @@ -361,6 +361,25 @@ private: searchresults m_list; }; +class RecordingDirs +{ +public: + typedef std::set< std::string > recordingdirs; + typedef recordingdirs::size_type size_type; + typedef recordingdirs::iterator iterator; + typedef recordingdirs::const_iterator const_iterator; + + RecordingDirs(); + + iterator begin() { return m_set.begin(); } + const_iterator begin() const { return m_set.begin(); } + iterator end() { return m_set.end(); } + const_iterator end() const { return m_set.end(); } + +private: + recordingdirs m_set; +}; + } // namespace vdrlive diff --git a/epgsearch/services.h b/epgsearch/services.h index 7c845f9..35decd3 100644 --- a/epgsearch/services.h +++ b/epgsearch/services.h @@ -4,6 +4,7 @@ #include #include #include +#include #include // Data structure for service "Epgsearch-search-v1.0" @@ -121,6 +122,8 @@ class cServiceHandler // returns a list of channel groups maintained by epgsearch virtual std::list BlackList() = 0; // returns a list of blacklists in the same format as used in epgsearchblacklists.conf + virtual std::set DirectoryList() = 0; + // List of all recording directories used in recordings, timers, search timers or in epgsearchdirs.conf virtual ~cServiceHandler() {} }; diff --git a/pages/edit_searchtimer.ecpp b/pages/edit_searchtimer.ecpp index 0ba9bcc..5910394 100644 --- a/pages/edit_searchtimer.ecpp +++ b/pages/edit_searchtimer.ecpp @@ -84,7 +84,7 @@ SearchTimer* searchtimer; ExtEPGInfos extEPGInfos; ChannelGroups channelGroups; Blacklists blacklists; - +RecordingDirs recordingdirs; <%include>page_init.eh <{ @@ -436,6 +436,10 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); } } } + function changeddirselection(selection) + { + document.getElementById("directory").value = selection.value; + } //--> VDR Live - <$ searchtimer ? tr("Edit search timer") : tr("New search timer") $> @@ -707,7 +711,14 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); <$ tr("Directory") $>: - +
+ + -- cgit v1.2.3