summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2008-03-23 01:15:27 +0000
committersvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2008-03-23 01:15:27 +0000
commitf369caad4c4848f1c9bd85afbf0593a171f01363 (patch)
tree096cb782f4d6a6d7694106265bb3f3641b7bb48e
parent3d13d0e55013a7c061c1f65c797bb06f7a141d6f (diff)
downloadvdr-plugin-menuorg-f369caad4c4848f1c9bd85afbf0593a171f01363.tar.gz
vdr-plugin-menuorg-f369caad4c4848f1c9bd85afbf0593a171f01363.tar.bz2
- Fixed Enabling/Disabling of CustomMenu
- Fixed Setup Menu - Adding unconfigured Plug-ins again git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@6969 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
-rw-r--r--.cproject13
-rw-r--r--.project6
-rw-r--r--HISTORY2
-rw-r--r--debian/changelog61
-rw-r--r--debian/control2
-rw-r--r--debian/copyright11
-rw-r--r--debian/install10
-rw-r--r--debian/links1
-rw-r--r--po/menuorg.pot2
-rw-r--r--src/MainMenuItemsProvider.cpp12
-rw-r--r--src/MainMenuItemsProvider.h7
-rw-r--r--src/MenuConfigurationRepository.cpp30
-rw-r--r--src/MenuConfigurationRepository.h5
-rw-r--r--src/MenuOrgPlugin.cpp3
-rw-r--r--src/PluginConfiguration.cpp2
-rw-r--r--src/PluginConfiguration.h2
-rw-r--r--src/PluginSetup.cpp2
-rw-r--r--vdr-patch/vdr-menuorg-0.4.diff11
18 files changed, 88 insertions, 94 deletions
diff --git a/.cproject b/.cproject
index 9a03f93..3ddc303 100644
--- a/.cproject
+++ b/.cproject
@@ -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">
diff --git a/.project b/.project
index c2ba86c..4d62793 100644
--- a/.project
+++ b/.project
@@ -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>
diff --git a/HISTORY b/HISTORY
index c1f894c..ac5aa06 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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()