diff options
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | debian/README.Debian | 2 | ||||
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/control | 6 | ||||
-rw-r--r-- | debian/install | 2 | ||||
-rw-r--r-- | debian/links.ex | 2 | ||||
-rw-r--r-- | debian/postinst.ex | 2 | ||||
-rw-r--r-- | debian/postrm.ex | 2 | ||||
-rw-r--r-- | debian/preinst.ex | 2 | ||||
-rw-r--r-- | debian/prerm.ex | 2 | ||||
-rw-r--r-- | debian/watch.ex | 8 | ||||
-rw-r--r-- | sources.mk | 4 | ||||
-rw-r--r-- | src/menuorg.cpp (renamed from src/submenuplugin.cc) | 43 | ||||
-rw-r--r-- | src/menuorg.h (renamed from src/submenuplugin.h) | 12 | ||||
-rw-r--r-- | src/plugincreator.cc | 7 | ||||
-rw-r--r-- | src/plugincreator.cpp | 7 | ||||
-rw-r--r-- | src/submenuprovider.cc | 95 | ||||
-rw-r--r-- | src/submenuprovider.h | 25 |
19 files changed, 131 insertions, 98 deletions
@@ -1,4 +1,4 @@ -VDR Plugin 'submenu' Revision History +VDR Plugin 'menuorg' Revision History ------------------------------------- 2007-07-22: Version 0.0.1 @@ -1,5 +1,5 @@ # -# Makefile for the submenu VDR plugin +# Makefile for the menuorg VDR plugin # # $Id: Makefile 4096 2006-08-20 21:11:08Z svntobi $ @@ -7,7 +7,7 @@ # This name will be used in the '-P...' option of VDR to load the plugin. # By default the main source file also carries this name. # -PLUGIN = submenu +PLUGIN = menuorg ### The version number of this plugin (taken from the main source file): diff --git a/debian/README.Debian b/debian/README.Debian index 3e0e4ee..3fa36a1 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -1,4 +1,4 @@ -vdr-plugin-submenu for Debian +vdr-plugin-menuorg for Debian ----------------------------- <possible notes regarding this package - if none, delete this file> diff --git a/debian/changelog b/debian/changelog index 3e39c46..e04763a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vdr-plugin-submenu (0.0.1-1) unstable; urgency=low +vdr-plugin-menuorg (0.0.1-1) unstable; urgency=low * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> diff --git a/debian/control b/debian/control index 8a40fce..5c00f22 100644 --- a/debian/control +++ b/debian/control @@ -1,11 +1,11 @@ -Source: vdr-plugin-submenu +Source: vdr-plugin-menuorg Section: misc Priority: extra Maintainer: Tobias Grimm <tg@e-tobi.net> -Build-Depends: debhelper (>= 5), vdr-dev (>= 1.4.7-2ctvdr1.2) +Build-Depends: debhelper (>= 5), vdr-dev (>= 1.4.7-2ctvdr1) Standards-Version: 3.7.2 -Package: vdr-plugin-submenu +Package: vdr-plugin-menuorg Architecture: any Depends: ${shlibs:Depends}, ${vdr:Depends} Description: <insert up to 60 chars description> diff --git a/debian/install b/debian/install index 28b7b2b..714cc7a 100644 --- a/debian/install +++ b/debian/install @@ -1 +1 @@ -libvdr-submenu.so.* usr/lib/vdr/plugins/ +libvdr-menuorg.so.* usr/lib/vdr/plugins/ diff --git a/debian/links.ex b/debian/links.ex index d8b3131..bd1de72 100644 --- a/debian/links.ex +++ b/debian/links.ex @@ -1 +1 @@ -usr/share/vdr-plugin-submenu/submenu var/lib/vdr/plugins/submenu +usr/share/vdr-plugin-menuorg/menuorg var/lib/vdr/plugins/menuorg diff --git a/debian/postinst.ex b/debian/postinst.ex index e37e6c2..2352e9b 100644 --- a/debian/postinst.ex +++ b/debian/postinst.ex @@ -1,5 +1,5 @@ #!/bin/sh -# postinst script for vdr-plugin-submenu +# postinst script for vdr-plugin-menuorg # # see: dh_installdeb(1) diff --git a/debian/postrm.ex b/debian/postrm.ex index 267fa48..47e6e00 100644 --- a/debian/postrm.ex +++ b/debian/postrm.ex @@ -1,5 +1,5 @@ #!/bin/sh -# postrm script for vdr-plugin-submenu +# postrm script for vdr-plugin-menuorg # # see: dh_installdeb(1) diff --git a/debian/preinst.ex b/debian/preinst.ex index 0f037d3..c067c34 100644 --- a/debian/preinst.ex +++ b/debian/preinst.ex @@ -1,5 +1,5 @@ #!/bin/sh -# preinst script for vdr-plugin-submenu +# preinst script for vdr-plugin-menuorg # # see: dh_installdeb(1) diff --git a/debian/prerm.ex b/debian/prerm.ex index 32c317b..1f82830 100644 --- a/debian/prerm.ex +++ b/debian/prerm.ex @@ -1,5 +1,5 @@ #!/bin/sh -# prerm script for vdr-plugin-submenu +# prerm script for vdr-plugin-menuorg # # see: dh_installdeb(1) diff --git a/debian/watch.ex b/debian/watch.ex index 1eaf929..7d65cb6 100644 --- a/debian/watch.ex +++ b/debian/watch.ex @@ -8,15 +8,15 @@ version=3 # Uncomment to examine a Webpage # <Webpage URL> <string match> -#http://www.example.com/downloads.php vdr-plugin-submenu-(.*)\.tar\.gz +#http://www.example.com/downloads.php vdr-plugin-menuorg-(.*)\.tar\.gz # Uncomment to examine a Webserver directory -#http://www.example.com/pub/vdr-plugin-submenu-(.*)\.tar\.gz +#http://www.example.com/pub/vdr-plugin-menuorg-(.*)\.tar\.gz # Uncommment to examine a FTP server -#ftp://ftp.example.com/pub/vdr-plugin-submenu-(.*)\.tar\.gz debian uupdate +#ftp://ftp.example.com/pub/vdr-plugin-menuorg-(.*)\.tar\.gz debian uupdate # Uncomment to find new files on sourceforge, for debscripts >= 2.9 -# http://sf.net/vdr-plugin-submenu/vdr-plugin-submenu-(.*)\.tar\.gz +# http://sf.net/vdr-plugin-submenu/vdr-plugin-menuorg-(.*)\.tar\.gz @@ -1,4 +1,4 @@ SRCS = \ - src/plugincreator.cc \ - src/submenuplugin.cc \ + src/plugincreator.cpp \ + src/menuorg.cpp \ src/submenuprovider.cc \ diff --git a/src/submenuplugin.cc b/src/menuorg.cpp index cd5f43a..9864efe 100644 --- a/src/submenuplugin.cc +++ b/src/menuorg.cpp @@ -1,9 +1,8 @@ /* - * submenu.c: A plugin for the Video Disk Recorder + * menuorg.cpp: A plugin for the Video Disk Recorder * * See the README file for copyright information and how to reach the author. * - * $Id$ */ #include <vdr/plugin.h> @@ -12,11 +11,11 @@ #include <vdr/submenupatch.h> #include <vector> #include "version.h" -#include "submenuplugin.h" +#include "menuorg.h" using namespace SubMenuPatch; -SubMenuPlugin::SubMenuPlugin(void) +MenuOrgPlugin::MenuOrgPlugin(void) { // Initialize any member variables here. // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL @@ -24,91 +23,91 @@ SubMenuPlugin::SubMenuPlugin(void) } -SubMenuPlugin::~SubMenuPlugin() +MenuOrgPlugin::~MenuOrgPlugin() { // Clean up after yourself! } -const char* SubMenuPlugin::Version(void) +const char* MenuOrgPlugin::Version(void) { return VERSION; } -const char* SubMenuPlugin::Description(void) +const char* MenuOrgPlugin::Description(void) { return tr("TODO: Insert Description"); } -const char* SubMenuPlugin::MainMenuEntry(void) +const char* MenuOrgPlugin::MainMenuEntry(void) { return tr("TODO: MainMenuEntry"); } -const char *SubMenuPlugin::CommandLineHelp(void) +const char *MenuOrgPlugin::CommandLineHelp(void) { // Return a string that describes all known command line options. return NULL; } -bool SubMenuPlugin::ProcessArgs(int argc, char *argv[]) +bool MenuOrgPlugin::ProcessArgs(int argc, char *argv[]) { // Implement command line argument processing here if applicable. return true; } -bool SubMenuPlugin::Initialize(void) +bool MenuOrgPlugin::Initialize(void) { // Initialize any background activities the plugin shall perform. return true; } -bool SubMenuPlugin::Start(void) +bool MenuOrgPlugin::Start(void) { // Start any background activities the plugin shall perform. return true; } -void SubMenuPlugin::Stop(void) +void MenuOrgPlugin::Stop(void) { // Stop any background activities the plugin shall perform. } -void SubMenuPlugin::Housekeeping(void) +void MenuOrgPlugin::Housekeeping(void) { // Perform any cleanup or other regular tasks. } -void SubMenuPlugin::MainThreadHook(void) +void MenuOrgPlugin::MainThreadHook(void) { // Perform actions in the context of the main program thread. // WARNING: Use with great care - see PLUGINS.html! } -cString SubMenuPlugin::Active(void) +cString MenuOrgPlugin::Active(void) { // Return a message string if shutdown should be postponed return NULL; } -cOsdObject *SubMenuPlugin::MainMenuAction(void) +cOsdObject *MenuOrgPlugin::MainMenuAction(void) { // Perform the action when selected from the main VDR menu. return NULL; } -cMenuSetupPage *SubMenuPlugin::SetupMenu(void) +cMenuSetupPage *MenuOrgPlugin::SetupMenu(void) { // Return a setup menu in case the plugin supports one. return NULL; } -bool SubMenuPlugin::SetupParse(const char *Name, const char *Value) +bool MenuOrgPlugin::SetupParse(const char *Name, const char *Value) { // Parse your own setup parameters and store their values. return false; } -bool SubMenuPlugin::Service(const char *Id, void *Data) +bool MenuOrgPlugin::Service(const char *Id, void *Data) { if (strcmp(Id, "SubMenuPatch-v0.1::SubMenuProvider") == 0) { @@ -121,13 +120,13 @@ bool SubMenuPlugin::Service(const char *Id, void *Data) return false; } -const char **SubMenuPlugin::SVDRPHelpPages(void) +const char **MenuOrgPlugin::SVDRPHelpPages(void) { // Return help text for SVDRP commands this plugin implements return NULL; } -cString SubMenuPlugin::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) +cString MenuOrgPlugin::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) { // Process SVDRP commands this plugin implements return NULL; diff --git a/src/submenuplugin.h b/src/menuorg.h index e810a23..04b6f62 100644 --- a/src/submenuplugin.h +++ b/src/menuorg.h @@ -1,19 +1,21 @@ -#ifndef ___SUBMENUPLUGIN_H -#define ___SUBMENUPLUGIN_H +#ifndef ___MENUORGPLUGIN_H +#define ___MENUORGPLUGIN_H #include <vdr/plugin.h> +//#include <vdr/config.h> +//#include <vdr/tools.h> #include "submenuprovider.h" using namespace SubMenuPatch; -class SubMenuPlugin : public cPlugin +class MenuOrgPlugin : public cPlugin { private: SubMenuProvider _subMenuProvider; public: - SubMenuPlugin(void); - virtual ~SubMenuPlugin(); + MenuOrgPlugin(void); + virtual ~MenuOrgPlugin(); virtual const char *Version(void); virtual const char *Description(void); virtual const char *CommandLineHelp(void); diff --git a/src/plugincreator.cc b/src/plugincreator.cc deleted file mode 100644 index 6b87179..0000000 --- a/src/plugincreator.cc +++ /dev/null @@ -1,7 +0,0 @@ -#include "submenuplugin.h" - -extern "C" void *VDRPluginCreator() -{ - SubMenuPlugin* plugin = new SubMenuPlugin(); - return plugin; -} diff --git a/src/plugincreator.cpp b/src/plugincreator.cpp new file mode 100644 index 0000000..c91c629 --- /dev/null +++ b/src/plugincreator.cpp @@ -0,0 +1,7 @@ +#include "menuorg.h" + +extern "C" void *VDRPluginCreator() +{ + MenuOrgPlugin* plugin = new MenuOrgPlugin(); + return plugin; +} diff --git a/src/submenuprovider.cc b/src/submenuprovider.cc index 3b9389a..94861e0 100644 --- a/src/submenuprovider.cc +++ b/src/submenuprovider.cc @@ -1,42 +1,60 @@ #include "submenuprovider.h" #include <vdr/plugin.h> +#include <iostream> + +//using namespace std; SubMenuProvider::SubMenuProvider() { - _inSubMenu = false; + _OsdSet = false; + _inSubMenu = false; + } -MainMenuItemsList* SubMenuProvider::MainMenuItems() +void SubMenuProvider::CreateTestMenus() { - ResetMainMenuItemsList(); - - if (_inSubMenu) - { - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Schedule"), osSchedule))); - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Channels"), osChannels))); - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Timers"), osTimers))); - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Recordings"), osRecordings))); - } - else - { - _subMenuItem = new cOsdItem("A custom sub menu\t1xxx", osUser1); - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(_subMenuItem)); - for (int i = 0; ; i++) { - cPlugin *p = cPluginManager::GetPlugin(i); - if (p) { - const char *item = p->MainMenuEntry(); - if (item) - _osdItems.push_back(MainMenuItem::CreatePluginMenuItem(item, i)); - } - else - break; - } - - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Setup"), osSetup))); + // Mainmenu + _myOsdItems[0].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("A custom sub menu1"), osUser1))); + _myOsdItems[0].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("A custom sub menu2"), osUser1))); + + // Submenu 1 + _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Schedule"), osSchedule))); + _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Channels"), osChannels))); + _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Channels"), osChannels))); + _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Timers"), osTimers))); + _myOsdItems[1].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Recordings"), osRecordings))); + + // Submenu 2 + _myOsdItems[2].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Setup"), osSetup))); if (Commands.Count()) - _osdItems.push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Commands"), osCommands))); - } + _myOsdItems[2].push_back(MainMenuItem::CreateCustomMenuItem(new cOsdItem(tr("Commands"), osCommands))); + +} + +MainMenuItemsList* SubMenuProvider::MainMenuItems() +{ + ResetMainMenuItemsList(); + + if (_OsdSet == false) + { + // create testmenu´s + CreateTestMenus(); + + // set mainmenu + _osdItems=_myOsdItems[0]; + + _OsdSet=true; + } + else + { + if (_inSubMenu) + _osdItems=_myOsdItems[1]; + else + _osdItems=_myOsdItems[0]; + + //_osdItems=_myOsdItemNext; + } return &_osdItems; } @@ -52,10 +70,21 @@ void SubMenuProvider::ResetMainMenuItemsList() void SubMenuProvider::EnterSubMenu(cOsdItem* item) { - if (item == _subMenuItem) - { - _inSubMenu = true; - } + if (_inSubMenu == false) + _inSubMenu = true; + +/* + for(int i=0; i<=2; i++) + { + + for( MainMenuItemsList::iterator oMenuItem = _myOsdItems[i].begin(); i != _myOsdItems[i].end(); i++) + { + if (oMenuItem==item) + isyslog("Item found\n"); + } + // Suche nach dem nächsten Submenu und speichere es dann in _myOsdItemNext + } +*/ } bool SubMenuProvider::LeaveSubMenu() diff --git a/src/submenuprovider.h b/src/submenuprovider.h index f0b9172..2fefe17 100644 --- a/src/submenuprovider.h +++ b/src/submenuprovider.h @@ -7,19 +7,22 @@ using namespace SubMenuPatch; class SubMenuProvider: public ISubMenuProvider { - private: - MainMenuItemsList _osdItems; - cOsdItem* _subMenuItem; - bool _inSubMenu; + private: + MainMenuItemsList _osdItems; + MainMenuItemsList _myOsdItems[5]; + MainMenuItemsList _myOsdItemNext; + bool _OsdSet; + bool _inSubMenu; - public: - SubMenuProvider(); - virtual MainMenuItemsList* MainMenuItems(); - virtual void EnterSubMenu(cOsdItem* item); - virtual bool LeaveSubMenu(); + public: + SubMenuProvider(); + virtual MainMenuItemsList* MainMenuItems(); + virtual void EnterSubMenu(cOsdItem* item); + virtual bool LeaveSubMenu(); - private: - void ResetMainMenuItemsList(); + private: + void ResetMainMenuItemsList(); + void CreateTestMenus(); }; #endif |