summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--HISTORY.DE2
-rw-r--r--doc-src/en/epgsearch.4.txt1
-rw-r--r--menu_dirselect.c17
-rw-r--r--menu_dirselect.h3
5 files changed, 25 insertions, 0 deletions
diff --git a/HISTORY b/HISTORY
index ec8b50b..9c08678 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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
diff --git a/HISTORY.DE b/HISTORY.DE
index 0c66d3d..45dd4f6 100644
--- a/HISTORY.DE
+++ b/HISTORY.DE
@@ -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();