diff options
author | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-11 19:02:56 +0000 |
---|---|---|
committer | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-11 19:02:56 +0000 |
commit | 2299c1e099d7a5190f9bfdc8b76315bbc86bd179 (patch) | |
tree | be80d0586238bc1582503fe88c2a36606d536b9f /vdr-patch/menuorg-0.1.diff | |
parent | 9dad4cecd0fcbc53440de7149227c9970162b1b2 (diff) | |
download | vdr-plugin-menuorg-2299c1e099d7a5190f9bfdc8b76315bbc86bd179.tar.gz vdr-plugin-menuorg-2299c1e099d7a5190f9bfdc8b76315bbc86bd179.tar.bz2 |
some renamings
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/submenu/trunk@5681 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'vdr-patch/menuorg-0.1.diff')
-rwxr-xr-x | vdr-patch/menuorg-0.1.diff | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/vdr-patch/menuorg-0.1.diff b/vdr-patch/menuorg-0.1.diff new file mode 100755 index 0000000..3c1fcb1 --- /dev/null +++ b/vdr-patch/menuorg-0.1.diff @@ -0,0 +1,162 @@ +diff -urNad vdr-1.4.7~/menu.c vdr-1.4.7/menu.c +--- vdr-1.4.7~/menu.c 2007-08-11 20:48:29.000000000 +0200 ++++ vdr-1.4.7/menu.c 2007-08-11 20:48:29.000000000 +0200 +@@ -31,6 +31,7 @@ + #include "vdrttxtsubshooks.h" + #include "dvbsub.h" + #include "videodir.h" ++#include "menuorgpatch.h" + + #define MAXWAIT4EPGINFO 3 // seconds + #define MODETIMEOUT 3 // seconds +@@ -3057,6 +3058,13 @@ + cancelEditingItem = NULL; + stopRecordingItem = NULL; + recordControlsState = 0; ++ ++ MenuOrgPatch::IMainMenuItemsProvider* mainMenuItemsProvider; ++ ++ if (cPluginManager::CallFirstService("MenuOrgPatch-v0.1::MainMenuitemsProvider", &mainMenuItemsProvider)) { ++ mainMenuItemsProvider->EnterRootMenu(); ++ } ++ + Set(); + + // Initial submenus: +@@ -3084,6 +3092,29 @@ + Clear(); + SetTitle("VDR"); + SetHasHotkeys(); ++ ++ MenuOrgPatch::IMainMenuItemsProvider* mainMenuItemsProvider; ++ ++ if (cPluginManager::CallFirstService("MenuOrgPatch-v0.1::MainMenuItemsProvider", &mainMenuItemsProvider)) { ++ MenuOrgPatch::MainMenuItemsList* menuItems = mainMenuItemsProvider->MainMenuItems(); ++ MenuOrgPatch::MainMenuItemsList::iterator i; ++ ++ for (i = menuItems->begin(); i != menuItems->end(); i++) { ++ if ((*i)->IsCustomMenuItem()) { ++ cOsdItem* osdItem = (*i)->CustomMenuItem(); ++ if (osdItem) { ++ osdItem->SetText(hk(osdItem->Text())); ++ Add(osdItem); ++ } ++ } ++ else if ((*i)->IsPluginMenuItem()) { ++ const char *item = (*i)->PluginMenuEntry(); ++ if (item) ++ Add(new cMenuPluginItem(hk(item), (*i)->PluginIndex())); ++ } ++ } ++ } ++ else { + + // Basic menu items: + +@@ -3111,6 +3142,8 @@ + if (Commands.Count()) + Add(new cOsdItem(hk(tr("Commands")), osCommands)); + ++ } ++ + Update(true); + + Display(); +@@ -3238,6 +3271,35 @@ + state = osEnd; + } + break; ++ case osBack: { ++ MenuOrgPatch::IMainMenuItemsProvider* mainMenuItemsProvider; ++ ++ if (cPluginManager::CallFirstService("MenuOrgPatch-v0.1::MainMenuItemsProvider", &mainMenuItemsProvider)) { ++ bool leavingMenuSucceeded = mainMenuItemsProvider->LeaveSubMenu(); ++ Set(); ++ stopReplayItem = NULL; ++ cancelEditingItem = NULL; ++ stopRecordingItem = NULL; ++ recordControlsState = 0; ++ Update(true); ++ Display(); ++ if (leavingMenuSucceeded) ++ return osContinue; ++ else ++ return osEnd; ++ } ++ } ++ break; ++ case osUser1: { ++ MenuOrgPatch::IMainMenuItemsProvider* mainMenuItemsProvider; ++ ++ if (cPluginManager::CallFirstService("MenuOrgPatch-v0.1::MainMenuItemsProvider", &mainMenuItemsProvider)) { ++ mainMenuItemsProvider->EnterSubMenu(Get(Current())); ++ Set(); ++ return osContinue; ++ } ++ } ++ break; + default: switch (Key) { + case kRecord: + case kRed: if (!HadSubMenu) +diff -urNad vdr-1.4.7~/menuorgpatch.h vdr-1.4.7/menuorgpatch.h +--- vdr-1.4.7~/menuorgpatch.h 1970-01-01 01:00:00.000000000 +0100 ++++ vdr-1.4.7/menuorgpatch.h 2007-08-11 20:48:58.000000000 +0200 +@@ -0,0 +1,58 @@ ++/* ++ * vdr-menuorg - A plugin for the Linux Video Disk Recorder ++ * Copyright (C) 2007 Thomas Creutz, Tobias Grimm ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * $Id:$ ++ * ++ */ ++ ++#ifndef __MENUORGPATCH_H ++#define __MENUORGPATCH_H ++ ++#include <vector> ++ ++class cOsdItem; ++ ++namespace MenuOrgPatch ++{ ++ ++class IMainMenuItem ++{ ++ public: ++ virtual ~IMainMenuItem() {}; ++ virtual bool IsCustomMenuItem() = 0; ++ virtual bool IsPluginMenuItem() = 0; ++ virtual cOsdItem* CustomMenuItem() = 0; ++ virtual const char* PluginMenuEntry() = 0; ++ virtual int PluginIndex() = 0; ++}; ++ ++typedef std::vector<IMainMenuItem*> MainMenuItemsList; ++ ++class IMainMenuItemsProvider ++{ ++ public: ++ virtual ~IMainMenuItemsProvider() {}; ++ virtual MainMenuItemsList* MainMenuItems() = 0; ++ virtual void EnterRootMenu() = 0; ++ virtual void EnterSubMenu(cOsdItem* item) = 0; ++ virtual bool LeaveSubMenu() = 0; ++}; ++ ++}; ++ ++#endif //__MENUORGPATCH_H |