diff options
author | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-09-09 23:51:48 +0000 |
---|---|---|
committer | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-09-09 23:51:48 +0000 |
commit | 54a81935b17db6a192e51ccbb0c0521dc58ee282 (patch) | |
tree | 69e547754082a8e96da7370c6f4380da3d2da1d1 /src/menuorg.cpp | |
parent | 3ec475ea9846e02414684de3b5943d7c3e7dd2ea (diff) | |
download | vdr-plugin-menuorg-54a81935b17db6a192e51ccbb0c0521dc58ee282.tar.gz vdr-plugin-menuorg-54a81935b17db6a192e51ccbb0c0521dc58ee282.tar.bz2 |
Changed a lot !!!
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@6139 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'src/menuorg.cpp')
-rw-r--r-- | src/menuorg.cpp | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/src/menuorg.cpp b/src/menuorg.cpp deleted file mode 100644 index d06994c..0000000 --- a/src/menuorg.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/* - * 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$ - * - */ - -#include <vdr/plugin.h> -#include <vdr/config.h> -#include <vdr/tools.h> -#include <vdr/mainmenuitemsprovider.h> -#include <vector> -#include <iostream> -#include <string> -#include <getopt.h> -#include "version.h" -#include "menuorg.h" -#include "menusetup.h" -#include "menuconfiguration.h" -#include "mainmenuitemsprovider.h" -#include "i18n.h" -#include "pluginsetup.h" - -using namespace std; - -MenuOrgPlugin::MenuOrgPlugin(void) -{ - // Initialize any member variables here. - // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL - // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! - - _subMenuProvider = NULL; -} - -MenuOrgPlugin::~MenuOrgPlugin() -{ - delete _subMenuProvider; - delete _menuConfiguration; -} - -const char* MenuOrgPlugin::Version(void) -{ - return VERSION; -} - -const char* MenuOrgPlugin::Description(void) -{ - return tr("reorganize main menu"); -} - -const char* MenuOrgPlugin::MainMenuEntry(void) -{ - if(_pluginConfiguration.MainMenuEntryHidden()) - return NULL; - else - return tr("Menu-Organizer"); -} - -const char *MenuOrgPlugin::CommandLineHelp(void) -{ - return " -c FILE --config=FILE loads the specified xml file\n" - " (default: ConfigDir/plugins/menuorg.xml)\n"; -} - -bool MenuOrgPlugin::ProcessArgs(int argc, char *argv[]) -{ - static struct option longOptions[] = - { - { "config", required_argument, NULL, 'c'}, - { NULL} - }; - - optind = 0; - opterr = 0; - - int optionChar; - int optionIndex = 0; - while ((optionChar = getopt_long(argc, argv, "c:", longOptions, &optionIndex)) != -1) - { - switch (optionChar) - { - case 'c': - _configFile = optarg; - break; - - default: - cerr << argv[0] << ": " << "invalid option " << argv[optind-1] << endl; - return false; - } - } - return true; -} - -bool MenuOrgPlugin::Initialize(void) -{ - if (_configFile.empty()) - { - _configFile = (string) ConfigDirectory() + "/menuorg.xml"; - } - - _menuConfiguration = new MenuConfiguration(_configFile, _pluginConfiguration.UnconfiguredPluginsInluded()); - // TODO need handling of unloadable config File here!!! - - _subMenuProvider = new MainMenuItemsProvider(*_menuConfiguration); - - RegisterI18n(Phrases); - - return true; -} - -cOsdObject *MenuOrgPlugin::MainMenuAction(void) -{ - return new cMenuOrgSetup(*_menuConfiguration, _pluginConfiguration.MenuSetupStyle()); -} - -cMenuSetupPage *MenuOrgPlugin::SetupMenu(void) -{ - return new PluginSetup(_pluginConfiguration, *_menuConfiguration); -} - -bool MenuOrgPlugin::SetupParse(const char *Name, const char *Value) -{ - return _pluginConfiguration.SetConfigurationOptionByName(Name, Value); -} - -bool MenuOrgPlugin::Service(const char *Id, void *Data) -{ - if (strcmp(Id, MENU_ITEMS_PROVIDER_SERVICE_ID) == 0 && _pluginConfiguration.CustomMenuActive()) - { - if (_subMenuProvider) - { - IMainMenuItemsProvider** ptr = (IMainMenuItemsProvider**)Data; - *ptr = _subMenuProvider; - - return true; - } - else - { - // TODO; Handling of unloadable config file should not be done here - Skins.Message(mtError, tr("Failed to load MenuOrg's config file!")); - } - } - - return false; -} |