diff options
-rw-r--r-- | .cproject | 13 | ||||
-rw-r--r-- | .project | 6 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | debian/changelog | 61 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/copyright | 11 | ||||
-rw-r--r-- | debian/install | 10 | ||||
-rw-r--r-- | debian/links | 1 | ||||
-rw-r--r-- | po/menuorg.pot | 2 | ||||
-rw-r--r-- | src/MainMenuItemsProvider.cpp | 12 | ||||
-rw-r--r-- | src/MainMenuItemsProvider.h | 7 | ||||
-rw-r--r-- | src/MenuConfigurationRepository.cpp | 30 | ||||
-rw-r--r-- | src/MenuConfigurationRepository.h | 5 | ||||
-rw-r--r-- | src/MenuOrgPlugin.cpp | 3 | ||||
-rw-r--r-- | src/PluginConfiguration.cpp | 2 | ||||
-rw-r--r-- | src/PluginConfiguration.h | 2 | ||||
-rw-r--r-- | src/PluginSetup.cpp | 2 | ||||
-rw-r--r-- | vdr-patch/vdr-menuorg-0.4.diff | 11 |
18 files changed, 88 insertions, 94 deletions
@@ -19,16 +19,16 @@ <folderInfo id="cdt.managedbuild.config.gnu.exe.debug.280067949." name="/" resourcePath=""> <toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.2030815697" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug"> <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1144333824" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/> -<builder buildPath="${workspace_loc:/vdr-menuorg/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.404967412" managedBuildOn="true" name="Gnu Make Builder.Debug" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/> +<builder arguments="DVBDIR=/usr VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=debian/tmp/usr/share/locale" autoBuildTarget="all" buildPath="${workspace_loc:/vdr-menuorg}" cleanBuildTarget="clean" command="make" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="cdt.managedbuild.target.gnu.builder.exe.debug.404967412" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/> <tool id="cdt.managedbuild.tool.gnu.archiver.base.837947587" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/> <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.591789759" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug"> -<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.845074619" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> -<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1830000077" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> +<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.845074619" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> +<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1830000077" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1118784068" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> </tool> <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1452122778" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"> -<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1254753171" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/> -<option id="gnu.c.compiler.exe.debug.option.debugging.level.9330761" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> +<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1254753171" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/> +<option id="gnu.c.compiler.exe.debug.option.debugging.level.9330761" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.325330144" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> </tool> <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.283390827" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/> @@ -461,6 +461,7 @@ </scannerConfigBuildInfo> </storageModule> <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> </cconfiguration> <cconfiguration id="cdt.managedbuild.config.gnu.exe.release.1973210641"> <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.1973210641" moduleId="org.eclipse.cdt.core.settings" name="Release"> @@ -919,6 +920,8 @@ </profile> </scannerConfigBuildInfo> </storageModule> +<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> +<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> </cconfiguration> </storageModule> <storageModule moduleId="cdtBuildSystem" version="4.0.0"> @@ -39,11 +39,11 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildLocation</key> - <value>${workspace_loc:/vdr-menuorg/Debug}</value> + <value>${workspace_loc:/vdr-menuorg}</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> - <value>true</value> + <value>false</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.enableAutoBuild</key> @@ -55,7 +55,7 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.buildArguments</key> - <value></value> + <value>DVBDIR=/usr VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=debian/tmp/usr/share/locale</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.fullBuildTarget</key> @@ -26,7 +26,7 @@ VDR Plugin 'menuorg' Revision History - Added Italian translation from the Italian VDR Community <vdr-italian@tiscali.it> -UNRELEASED: Version 0.4 +2008-03-23: Version 0.4 - Added optional title attribute for system and plugin menu items - Added a Seperator Item definition diff --git a/debian/changelog b/debian/changelog index d353cc5..211b475 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,60 +1,5 @@ -vdr-plugin-menuorg (0.3.1-1) UNRELEASED; urgency=low +vdr-plugin-menuorg (0.4.0-1) UNRELEASED; urgency=low - * NOT RELEASED YET - - -- Tobias Grimm <tg@e-tobi.net> Mon, 26 Nov 2007 21:26:56 +0100 - -vdr-plugin-menuorg (0.3-7) unstable; urgency=low - - * Fixed 90_menuorg-0.3-1.5.9.dpatch to build with VDR 1.4 as well - - -- Tobias Grimm <tg@e-tobi.net> Mon, 26 Nov 2007 21:17:41 +0100 - -vdr-plugin-menuorg (0.3-6) unstable; urgency=low - - * Release for vdrdevel 1.5.12 - - -- Thomas Günther <tom@toms-cafe.de> Tue, 20 Nov 2007 23:46:21 +0100 - -vdr-plugin-menuorg (0.3-5) unstable; urgency=low - - * Release for vdrdevel 1.5.11 - - -- Thomas Günther <tom@toms-cafe.de> Tue, 6 Nov 2007 23:34:14 +0100 - -vdr-plugin-menuorg (0.3-4) unstable; urgency=low - - * Release for vdrdevel 1.5.10 - - -- Thomas Günther <tom@toms-cafe.de> Tue, 16 Oct 2007 23:50:55 +0200 - -vdr-plugin-menuorg (0.3-3) unstable; urgency=low - - * Added 90_menuorg-0.3-1.5.9.dpatch - - -- Thomas Günther <tom@toms-cafe.de> Wed, 29 Aug 2007 01:44:00 +0200 - -vdr-plugin-menuorg (0.3-2) unstable; urgency=low - - * Release for vdrdevel 1.5.9 - - -- Thomas Günther <tom@toms-cafe.de> Tue, 28 Aug 2007 01:01:06 +0200 - -vdr-plugin-menuorg (0.3-1) unstable; urgency=low - - * New upstream release - - -- Tobias Grimm <tg@e-tobi.net> Sat, 25 Aug 2007 21:48:43 +0200 - -vdr-plugin-menuorg (0.2-1) unstable; urgency=low - - * New upstream release (fixes issue with burn plug-in) - - -- Tobias Grimm <tg@e-tobi.net> Sat, 25 Aug 2007 20:26:09 +0200 - -vdr-plugin-menuorg (0.1-1) unstable; urgency=low - - * Initial release - - -- Tobias Grimm <tg@e-tobi.net> Fri, 24 Aug 2007 21:27:05 +0200 + * This is just a dummy changelog!!! + -- Tobias Grimm <tg@e-tobi.net> Sat, 22 Mar 2008 23:28:37 +0100 diff --git a/debian/control b/debian/control index 74b7d2a..02ceba7 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: vdr-plugin-menuorg Section: misc Priority: extra Maintainer: Tobias Grimm <tg@e-tobi.net> -Build-Depends: debhelper (>= 5), cdbs, vdr-dev (>= 1.4.7-2ctvdr1), libxml++2.6-dev, libglibmm-2.4-dev +Build-Depends: debhelper (>= 5), cdbs, vdr-dev (>= 1.5.18), gettext, libxml++2.6-dev, libglibmm-2.4-dev Standards-Version: 3.7.2 Package: vdr-plugin-menuorg diff --git a/debian/copyright b/debian/copyright index b12634b..2e5e31e 100644 --- a/debian/copyright +++ b/debian/copyright @@ -3,16 +3,17 @@ Upstream Homepage: Upstream Authors: Thomas Creutz <thomas.creutz@gmx.de> - Tobias Grimm <vdr@e-tobi.net> + Tobias Grimm <tg@e-tobi.net> Debian Maintainers: Tobias Grimm <tg@e-tobi.net> Copyright: - (C) 2007 Thomas Creutz, Tobias Grimm + (C) 2007 - 2009 Tobias Grimm + (C) 2007 Thomas Creutz Copyright (Debian packaging): - (C) 2007 Tobias Grimm + (C) 2007 - 2008 Tobias Grimm License: This program is free software; you can redistribute it and/or modify @@ -31,8 +32,8 @@ License: 02110-1301, USA. The complete text of the GNU General Public License can be found - in /usr/share/common-licenses/GPL on most Debian systems. + in /usr/share/common-licenses/GPL-2 on most Debian systems. License (Debian packaging): The Debian packaging is licensed under the GPL, version 2 or any - later version, see /usr/share/common-licenses/GPL. + later version, see /usr/share/common-licenses/GPL-2. diff --git a/debian/install b/debian/install index 0d5079c..2cef37e 100644 --- a/debian/install +++ b/debian/install @@ -1,6 +1,6 @@ -libvdr-menuorg.so.* usr/lib/vdr/plugins/ -menuorg.xml usr/share/vdr-plugin-menuorg/ -menuorg.dtd usr/share/vdr-plugin-menuorg/ -debian/menuorg.xml.minimum usr/share/vdr-plugin-menuorg/ -vdr-submenu2menuorg usr/bin/ +libvdr-menuorg.so.* usr/lib/vdr/plugins/ +menuorg.xml usr/share/vdr-plugin-menuorg/ +menuorg.dtd usr/share/vdr-plugin-menuorg/ +debian/menuorg.xml.minimum usr/share/vdr-plugin-menuorg/ +vdr-submenu2menuorg usr/bin/ debian/tmp/usr/share/locale diff --git a/debian/links b/debian/links new file mode 100644 index 0000000..9ee0e40 --- /dev/null +++ b/debian/links @@ -0,0 +1 @@ +var/lib/vdr/plugins/menuorg.xml etc/vdr/plugins/menuorg.xml diff --git a/po/menuorg.pot b/po/menuorg.pot index 2949233..06a98b2 100644 --- a/po/menuorg.pot +++ b/po/menuorg.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: <vdr@e-tobi.net>\n" -"POT-Creation-Date: 2008-03-22 16:55+0100\n" +"POT-Creation-Date: 2008-03-23 02:10+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/src/MainMenuItemsProvider.cpp b/src/MainMenuItemsProvider.cpp index 14462a1..abe922d 100644 --- a/src/MainMenuItemsProvider.cpp +++ b/src/MainMenuItemsProvider.cpp @@ -25,9 +25,10 @@ #include "SubMenuNode.h" #include "MenuConfigurationRepository.h" #include "MenuItemDefinitionFactory.h" +#include "PluginConfiguration.h" -MainMenuItemsProvider::MainMenuItemsProvider(MenuConfigurationRepository& menuConfigurationRepository) - :_menuConfigurationRepository(menuConfigurationRepository) +MainMenuItemsProvider::MainMenuItemsProvider(MenuConfigurationRepository& menuConfigurationRepository, PluginConfiguration& pluginConfiguration) + :_menuConfigurationRepository(menuConfigurationRepository), _pluginConfiguration(pluginConfiguration) { EnterRootMenu(); _previousMenu = NULL; @@ -38,6 +39,11 @@ MainMenuItemsProvider::~MainMenuItemsProvider() ResetMainMenuItemsList(); } +bool MainMenuItemsProvider::IsCustomMenuAvailable() +{ + return _pluginConfiguration.CustomMenuActive(); +} + MenuItemDefinitions* MainMenuItemsProvider::MainMenuItems() { ResetMainMenuItemsList(); @@ -67,7 +73,7 @@ void MainMenuItemsProvider::ResetMainMenuItemsList() void MainMenuItemsProvider::EnterRootMenu() { - _currentMenu = _menuConfigurationRepository.Load(); + _currentMenu = _menuConfigurationRepository.Load(_pluginConfiguration.UnconfiguredPluginsIncluded()); // TODO; Handling of unloadable config file should not be done here } diff --git a/src/MainMenuItemsProvider.h b/src/MainMenuItemsProvider.h index 40cc108..e015c90 100644 --- a/src/MainMenuItemsProvider.h +++ b/src/MainMenuItemsProvider.h @@ -29,6 +29,7 @@ class MenuNode; class MenuConfigurationRepository; +class PluginConfiguration; class MainMenuItemsProvider: public IMainMenuItemsProvider, public IMenuNodeProcessor { @@ -37,12 +38,14 @@ class MainMenuItemsProvider: public IMainMenuItemsProvider, public IMenuNodeProc SubMenuNode* _previousMenu; MenuItemDefinitions _currentMainMenuItems; MenuConfigurationRepository& _menuConfigurationRepository; + PluginConfiguration& _pluginConfiguration; public: - MainMenuItemsProvider(MenuConfigurationRepository& menuConfigurationRepository); + MainMenuItemsProvider(MenuConfigurationRepository& menuConfigurationRepository, PluginConfiguration& pluginConfiguration); ~MainMenuItemsProvider(); - // IMenuNodeProcessor + // IMainMenuItemsProvider + bool IsCustomMenuAvailable(); MenuItemDefinitions* MainMenuItems(); void EnterRootMenu(); void EnterSubMenu(cOsdItem* item); diff --git a/src/MenuConfigurationRepository.cpp b/src/MenuConfigurationRepository.cpp index 9985e4b..e68ffa0 100644 --- a/src/MenuConfigurationRepository.cpp +++ b/src/MenuConfigurationRepository.cpp @@ -33,6 +33,7 @@ #include "PluginMenuNode.h" #include "CommandMenuNode.h" #include "SeparatorMenuNode.h" +#include <vdr/plugin.h> using namespace xmlpp; using namespace std; @@ -70,7 +71,7 @@ MenuConfigurationRepository::~MenuConfigurationRepository() delete _cachedMenuConfiguration; } -SubMenuNode* MenuConfigurationRepository::Load() +SubMenuNode* MenuConfigurationRepository::Load(bool appendUnconfiguredPlugins) { if (ConfigFileHasBeenChange()) { @@ -94,7 +95,13 @@ SubMenuNode* MenuConfigurationRepository::Load() _lastConfigFileModificationTime = CurrentConfigFileModificationTime(); delete _cachedMenuConfiguration; _cachedMenuConfiguration = new SubMenuNode("root"); + _configuredPlugins.clear(); CreateMenuTree(document->get_root_node(), _cachedMenuConfiguration); + + if (appendUnconfiguredPlugins) + { + AppendUnconfiguredPlugins(_cachedMenuConfiguration); + } } } @@ -104,9 +111,15 @@ SubMenuNode* MenuConfigurationRepository::Load() esyslog("Exception caught when parsing xml configuration. See stderr output for details."); } } + return _cachedMenuConfiguration; } +void MenuConfigurationRepository::Reset() +{ + _lastConfigFileModificationTime = 0; +} + bool MenuConfigurationRepository::ConfigFileHasBeenChange() { return (CurrentConfigFileModificationTime() != _lastConfigFileModificationTime); @@ -147,6 +160,7 @@ void MenuConfigurationRepository::CreateMenuTree(const Element* menuRoot, SubMen else if (type == "plugin") { menuNode->AddChild(new PluginMenuNode(name, GetTitle(childElement, ""))); + _configuredPlugins.push_back(name); } else if (type == "command") { @@ -162,6 +176,20 @@ void MenuConfigurationRepository::CreateMenuTree(const Element* menuRoot, SubMen } } +void MenuConfigurationRepository::AppendUnconfiguredPlugins(SubMenuNode* menuNode) +{ + int i = 0; + + while (cPlugin *plugin = cPluginManager::GetPlugin(i)) + { + if (find(_configuredPlugins.begin(), _configuredPlugins.end(), plugin->Name()) == _configuredPlugins.end()) + { + menuNode->AddChild(new PluginMenuNode(plugin->Name(), "")); + } + i++; + } +} + string MenuConfigurationRepository::UnicodeToLocaleOrIso8859(Glib::ustring unicodeString) { try diff --git a/src/MenuConfigurationRepository.h b/src/MenuConfigurationRepository.h index e5ec9b7..f89957f 100644 --- a/src/MenuConfigurationRepository.h +++ b/src/MenuConfigurationRepository.h @@ -39,16 +39,19 @@ class MenuConfigurationRepository std::string _configurationFileName; time_t _lastConfigFileModificationTime; SubMenuNode* _cachedMenuConfiguration; + std::vector<std::string> _configuredPlugins; public: MenuConfigurationRepository(std::string menuFileName); ~MenuConfigurationRepository(); - SubMenuNode* Load(); + SubMenuNode* Load(bool appendUnconfiguredPlugins); + void Reset(); private: bool ConfigFileHasBeenChange(); time_t CurrentConfigFileModificationTime(); void CreateMenuTree(const xmlpp::Element* menuRoot, SubMenuNode* menuNode); + void AppendUnconfiguredPlugins(SubMenuNode* menuNode); std::string UnicodeToLocaleOrIso8859(Glib::ustring unicodeString); std::string GetTitle(const xmlpp::Element* node, std::string defaultValue); std::string GetAttributeValue(const xmlpp::Element* node, std::string name, std::string defaultValue); diff --git a/src/MenuOrgPlugin.cpp b/src/MenuOrgPlugin.cpp index 0a67a1b..11762d3 100644 --- a/src/MenuOrgPlugin.cpp +++ b/src/MenuOrgPlugin.cpp @@ -111,13 +111,14 @@ bool MenuOrgPlugin::Initialize(void) _menuConfigurationRepository = new MenuConfigurationRepository(_configFile); - _subMenuProvider = new MainMenuItemsProvider(*_menuConfigurationRepository); + _subMenuProvider = new MainMenuItemsProvider(*_menuConfigurationRepository, _pluginConfiguration); return true; } cMenuSetupPage *MenuOrgPlugin::SetupMenu(void) { + _menuConfigurationRepository->Reset(); return new PluginSetup(_pluginConfiguration, *_menuConfigurationRepository); } diff --git a/src/PluginConfiguration.cpp b/src/PluginConfiguration.cpp index 5cc0191..99394fa 100644 --- a/src/PluginConfiguration.cpp +++ b/src/PluginConfiguration.cpp @@ -38,7 +38,7 @@ bool PluginConfiguration::CustomMenuActive() return _customMenuActive; } -bool PluginConfiguration::UnconfiguredPluginsInluded() +bool PluginConfiguration::UnconfiguredPluginsIncluded() { return _unconfiguredPluginsIncluded; } diff --git a/src/PluginConfiguration.h b/src/PluginConfiguration.h index fa6bcaf..8af6fd7 100644 --- a/src/PluginConfiguration.h +++ b/src/PluginConfiguration.h @@ -43,7 +43,7 @@ class PluginConfiguration PluginConfiguration(); bool SetConfigurationOptionByName(const char* Name, const char* Value); bool CustomMenuActive(); - bool UnconfiguredPluginsInluded(); + bool UnconfiguredPluginsIncluded(); private: void SetDefaults(); diff --git a/src/PluginSetup.cpp b/src/PluginSetup.cpp index 8042fe0..cffb7b2 100644 --- a/src/PluginSetup.cpp +++ b/src/PluginSetup.cpp @@ -30,6 +30,8 @@ PluginSetup::PluginSetup(PluginConfiguration& pluginConfiguration, MenuConfigurationRepository& menuConfiguration) :_pluginConfiguration(pluginConfiguration), _menuConfiguration(menuConfiguration) { + _newCustomMenuActive = _pluginConfiguration._customMenuActive; + _newUnconfiguredPluginsIncluded = _pluginConfiguration._unconfiguredPluginsIncluded; CreateMenuItems(); } diff --git a/vdr-patch/vdr-menuorg-0.4.diff b/vdr-patch/vdr-menuorg-0.4.diff index 61132ec..26862fa 100644 --- a/vdr-patch/vdr-menuorg-0.4.diff +++ b/vdr-patch/vdr-menuorg-0.4.diff @@ -1,7 +1,7 @@ diff -Nur vdr-1.5.18.orig/mainmenuitemsprovider.h vdr-1.5.18/mainmenuitemsprovider.h --- vdr-1.5.18.orig/mainmenuitemsprovider.h 1970-01-01 01:00:00.000000000 +0100 -+++ vdr-1.5.18/mainmenuitemsprovider.h 2008-03-22 20:55:19.000000000 +0100 -@@ -0,0 +1,58 @@ ++++ vdr-1.5.18/mainmenuitemsprovider.h 2008-03-23 01:54:07.000000000 +0100 +@@ -0,0 +1,59 @@ +/* + * vdr-menuorg - A plugin for the Linux Video Disk Recorder + * Copyright (c) 2007 - 2008 Tobias Grimm <vdr@e-tobi.net> @@ -52,6 +52,7 @@ diff -Nur vdr-1.5.18.orig/mainmenuitemsprovider.h vdr-1.5.18/mainmenuitemsprovid +{ + public: + virtual ~IMainMenuItemsProvider() {}; ++ virtual bool IsCustomMenuAvailable() = 0; + virtual MenuItemDefinitions* MainMenuItems() = 0; + virtual void EnterRootMenu() = 0; + virtual void EnterSubMenu(cOsdItem* item) = 0; @@ -62,7 +63,7 @@ diff -Nur vdr-1.5.18.orig/mainmenuitemsprovider.h vdr-1.5.18/mainmenuitemsprovid +#endif //__MAINMENUITEMSPROVIDER_H diff -Nur vdr-1.5.18.orig/menu.c vdr-1.5.18/menu.c --- vdr-1.5.18.orig/menu.c 2008-03-16 12:15:28.000000000 +0100 -+++ vdr-1.5.18/menu.c 2008-03-22 20:55:19.000000000 +0100 ++++ vdr-1.5.18/menu.c 2008-03-23 02:00:16.000000000 +0100 @@ -29,6 +29,7 @@ #include "timers.h" #include "transfer.h" @@ -164,7 +165,7 @@ diff -Nur vdr-1.5.18.orig/menu.c vdr-1.5.18/menu.c case kRed: if (!HadSubMenu) diff -Nur vdr-1.5.18.orig/menuorgpatch.h vdr-1.5.18/menuorgpatch.h --- vdr-1.5.18.orig/menuorgpatch.h 1970-01-01 01:00:00.000000000 +0100 -+++ vdr-1.5.18/menuorgpatch.h 2008-03-22 20:55:19.000000000 +0100 ++++ vdr-1.5.18/menuorgpatch.h 2008-03-23 01:53:29.000000000 +0100 @@ -0,0 +1,100 @@ +/* + * vdr-menuorg - A plugin for the Linux Video Disk Recorder @@ -216,7 +217,7 @@ diff -Nur vdr-1.5.18.orig/menuorgpatch.h vdr-1.5.18/menuorgpatch.h + public: + static bool IsCustomMenuAvailable() + { -+ return (MainMenuItemsProvider() != NULL); ++ return (MainMenuItemsProvider() != NULL) && (MainMenuItemsProvider()->IsCustomMenuAvailable()); + } + + static void EnterRootMenu() |