diff options
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | HISTORY.DE | 2 | ||||
-rw-r--r-- | doc-src/en/epgsearch.4.txt | 1 | ||||
-rw-r--r-- | menu_dirselect.c | 17 | ||||
-rw-r--r-- | menu_dirselect.h | 3 |
5 files changed, 25 insertions, 0 deletions
@@ -16,6 +16,8 @@ new: http://projects.vdr-developer.org/git/?p=vdr-plugin-epgsearch.git many thanks to the maintainers of projects.vdr-developer.org, especially Tobias Grimm +- directory entries from VDR's folders.conf are now also read and offered in the + directory selection of the timer menu. - Search timer support for content descriptors as introduced in vdr-1.7.11. This lets you search for broadcasts by their type, like "Movie/Drama", "Documentation",... - Search timers now have a new action "Announce and switch". This announces the @@ -15,6 +15,8 @@ neu: Web-git: http://projects.vdr-developer.org/git/?p=vdr-plugin-epgsearch.git Vielen Dank an die Leute von projects.vdr-developer.org, besonders an Tobias Grimm +- Verzeichnis-Einträge in VDR's folders.conf werden nun ausgelesen und in der Verzeichnis- + auswahl der Timerprogrammierung angeboten. - Suchtimer unterstützen nun content descriptors, die in vdr-1.7.11 eingeführt wurden. Damit können Sendungen nach ihrem Typ gesucht werden, z.B. "Film/Drama", "Dokumentation",... - Suchtimer haben nun eine neue Aktion "Ankündigen und Umschalten". Damit wird eine Sendung diff --git a/doc-src/en/epgsearch.4.txt b/doc-src/en/epgsearch.4.txt index 7db3858..642e8c8 100644 --- a/doc-src/en/epgsearch.4.txt +++ b/doc-src/en/epgsearch.4.txt @@ -275,6 +275,7 @@ sources: * directories used in search timers * directories specified in F<epgsearchdirs.conf>, see C<epgsearchdirs.con(5)> + * entries in VDR's folders.conf The menu merges theses directories and displays only distinct directories. With key 'yellow' one can change the depth of the diff --git a/menu_dirselect.c b/menu_dirselect.c index da90a10..387815f 100644 --- a/menu_dirselect.c +++ b/menu_dirselect.c @@ -173,6 +173,12 @@ void cMenuDirSelect::CreateDirSet(bool extraDirs) free(dir); } +#if APIVERSNUM >= 10712 + // add distinct directories from folders.conf + for(cNestedItem* item = Folders.First(); item; item = Folders.Next(item)) + AddVDRFolders(item); +#endif + if (extraDirs) { cMutexLock SearchExtsLock(&SearchExts); @@ -202,6 +208,17 @@ void cMenuDirSelect::CreateDirSet(bool extraDirs) } } +#if APIVERSNUM >= 10712 +void cMenuDirSelect::AddVDRFolders(cNestedItem* folder, string parentDirectory) +{ + if (folder == NULL) return; + string folderDirectory = string((parentDirectory.size() == 0)?"":parentDirectory + "~") + folder->Text(); + directorySet.insert(folderDirectory); + if (folder->SubItems() == NULL) return; + for(cNestedItem* subfolder = folder->SubItems()->First(); subfolder; subfolder = folder->SubItems()->Next(subfolder)) + AddVDRFolders(subfolder, folderDirectory); +} +#endif void cMenuDirSelect::Load() { diff --git a/menu_dirselect.h b/menu_dirselect.h index 7491d6d..a260d16 100644 --- a/menu_dirselect.h +++ b/menu_dirselect.h @@ -63,6 +63,9 @@ private: ~cMenuDirSelect(); void Load(); void AddDistinct(const char* szText); +#if APIVERSNUM >= 10712 + static void AddVDRFolders(cNestedItem* folder, string parentDirectory = ""); +#endif virtual eOSState ProcessKey(eKeys Key); int Level(const char* szDir); void ReplaceDirVars(); |