diff options
author | gnapheus <solevita50@gmail.com> | 2013-03-22 19:32:51 +0100 |
---|---|---|
committer | gnapheus <solevita50@gmail.com> | 2013-03-22 19:32:51 +0100 |
commit | 1a1dbb44e906ea08289eae429116912235335a53 (patch) | |
tree | 39a4b043864caa06fe851e5c34fb587a50373434 | |
parent | ede4ec0c86be1ca235cbc47dda3b4603eaa493e1 (diff) | |
download | vdr-plugin-zappilot-master.tar.gz vdr-plugin-zappilot-master.tar.bz2 |
-rw-r--r-- | HISTORY | 12 | ||||
-rw-r--r-- | Makefile | 81 | ||||
-rw-r--r-- | README | 26 | ||||
-rw-r--r-- | config.h | 1 | ||||
-rw-r--r-- | po/de_DE.po | 28 | ||||
-rw-r--r-- | po/es_ES.po | 18 | ||||
-rw-r--r-- | po/fi_FI.po | 18 | ||||
-rw-r--r-- | po/fr_FR.po | 14 | ||||
-rw-r--r-- | po/it_IT.po | 22 | ||||
-rw-r--r-- | po/sk_SK.po | 26 | ||||
-rw-r--r-- | zappilot.c | 4 | ||||
-rw-r--r-- | zappilotosd.c | 24 | ||||
-rw-r--r-- | zappilotosd.h | 1 | ||||
-rw-r--r-- | zappilotsetup.c | 4 | ||||
-rw-r--r-- | zappilotsetup.h | 1 |
15 files changed, 176 insertions, 104 deletions
@@ -1,11 +1,15 @@ VDR Plugin 'zappilot' Revision History ------------------------------------ -2010-??-??:Version 0.0.5 - - reformated code +-------------------------------------- +2013-03-17:Version 0.0.5 + - skip changing channel when pressing OK button on the same channel + - added alternative key layout for fast browse mode + (up/down switches channels, left/right next/previous epg item) + - updated Makefile for vdr-1.7.34+ + - reformatted code - added support for epgsearch switch timer - in fast browse mode yellow and blue buttons now change the channel group -2010-08-06:Version 0.0.4 +2010-08-06: Version 0.0.4 - Renamed plugin to zappilot - Added fast browse - Moved homepage to http://projects.vdr-developer.org/projects/show/plg-zappilot @@ -6,51 +6,50 @@ # The official name of this plugin. # 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. -# IMPORTANT: the presence of this macro is important for the Make.config -# file. So it must be defined, even if it is not used here! -# + PLUGIN = zappilot ### The version number of this plugin (taken from the main source file): VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') -### The C++ compiler and options: - -CXX ?= g++ -CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses - ### The directory environment: -VDRDIR = ../../.. -LIBDIR = ../../lib -TMPDIR = /tmp - -### Make sure that necessary options are included: +# Use package data if installed...otherwise assume we're under the VDR source directory: +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) +LIBDIR = $(call PKGCFG,libdir) +LOCDIR = $(call PKGCFG,locdir) +PLGCFG = $(call PKGCFG,plgcfg) +# +TMPDIR ?= /tmp -### For backward compatibility vdr-1.6.0: -CXXFLAGS += -fPIC +### The compiler options: --include $(VDRDIR)/Make.global +export CFLAGS = $(call PKGCFG,cflags) +export CXXFLAGS = $(call PKGCFG,cxxflags) -### Allow user defined options to overwrite defaults: +### The version number of VDR's plugin API: --include $(VDRDIR)/Make.config +APIVERSION = $(call PKGCFG,apiversion) -### The version number of VDR's plugin API (taken from VDR's "config.h"): +### Allow user defined options to overwrite defaults: -APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) +-include $(PLGCFG) ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) PACKAGE = vdr-$(ARCHIVE) +### The name of the shared object file: + +SOFILE = libvdr-$(PLUGIN).so + ### Includes and Defines (add further entries here): -INCLUDES += -I$(VDRDIR)/include +INCLUDES += -DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' +DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' ### The object files (add further files here): @@ -58,54 +57,59 @@ OBJS = $(PLUGIN).o zappilotosd.o zappilotsetup.o ### The main target: -all: libvdr-$(PLUGIN).so i18n +all: $(SOFILE) i18n ### Implicit rules: %.o: %.c - $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: MAKEDEP = $(CXX) -MM -MG DEPFILE = .dependencies $(DEPFILE): Makefile - @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ + @$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ -include $(DEPFILE) ### Internationalization (I18N): PODIR = po -LOCALEDIR = $(VDRDIR)/locale I18Npo = $(wildcard $(PODIR)/*.po) -I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) +I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) +I18Nmsgs = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) I18Npot = $(PODIR)/$(PLUGIN).pot %.mo: %.po msgfmt -c -o $@ $< $(I18Npot): $(wildcard *.c) - xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<see README>' -o $@ $^ + xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^` %.po: $(I18Npot) - msgmerge -U --no-wrap --no-location --backup=none -q $@ $< + msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< @touch $@ -$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo - @mkdir -p $(dir $@) - cp $< $@ +$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo + install -D -m644 $< $@ .PHONY: i18n -i18n: $(I18Nmsgs) $(I18Npot) +i18n: $(I18Nmo) $(I18Npot) + +install-i18n: $(I18Nmsgs) ### Targets: -libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ - @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) +$(SOFILE): $(OBJS) + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + +install-lib: $(SOFILE) + install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) + +install: install-lib install-i18n -dist: clean +dist: $(I18Npo) clean @-rm -rf $(TMPDIR)/$(ARCHIVE) @mkdir $(TMPDIR)/$(ARCHIVE) @cp -a * $(TMPDIR)/$(ARCHIVE) @@ -114,4 +118,5 @@ dist: clean @echo Distribution package created as $(PACKAGE).tgz clean: - @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ @@ -35,7 +35,7 @@ User1 @zappilot Customization: ------------- -Pilot plugin can be tuned to your own preferences. +Zappilot plugin can be tuned to your own preferences. Go to Configuration/Plugins/zappilot to access the setup menu. Hide main menu entry : Hide the plugin entry in the main menu Close on OK : Close the Pilot plugin when pressing OK button @@ -43,6 +43,10 @@ Close on OK : Close the Pilot plugin when pressing OK button Otherwise, switch to the channel but keep the pilot opened. Fast browse : Changes keys for faster EPG browsing + +Fast browse (alt. key layout) : + like fast browse mode but up/down key switches channel and left/right the epg entries + Switch timer : If the plugin epgsearch is found, switch timer can be set by pressing 0. Switch ... minutes @@ -56,7 +60,7 @@ DOWN : go one channel down LEFT : go prev group RIGHT : go next group OK : switch to the selected channel -BACK : exit Pilotskin plugin +BACK : exit Zappilot plugin RED : edit a timer GREEN : Show extra infos YELLOW : previous event @@ -70,14 +74,28 @@ DOWN : next event LEFT : prev channel RIGHT : next channel up go next group OK : switch to the selected channel -BACK : exit Pilotskin plugin +BACK : exit Zappilot plugin RED : edit a timer GREEN : Show extra infos YELLOW : go prev group BLUE : go next group 0 : adds/deletes epgsearch switch timer +Usage fast browse (alt. key layout): +----------------- +UP : next channel +DOWN : prev channel +LEFT : next event +RIGHT : prev event +OK : switch to the selected channel +BACK : exit Zappilot plugin +RED : edit a timer +GREEN : Show extra infos +YELLOW : go prev group +BLUE : go next group +0 : adds/deletes epgsearch switch timer To do: ------ +------ + @@ -8,6 +8,7 @@ struct sZappilotConfig int closeonswitch; int hidemenu; int fastbrowse; + int fastbrowsealt; int switchtimer; int switchminsbefore; cPlugin* pEPGSearch; diff --git a/po/de_DE.po b/po/de_DE.po index cc7d9e5..1495a6d 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -1,18 +1,19 @@ -# VDR plugin language source file. -# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> +# VDR language source file. +# Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de> # This file is distributed under the same license as the VDR package. -# Klaus Schmidinger <kls@cadsoft.de>, 2000 +# Klaus Schmidinger <vdr@tvdr.de>, 2000-2008 # msgid "" msgstr "" -"Project-Id-Version: VDR 1.5.7\n" +"Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2010-09-30 17:11+0200\n" -"PO-Revision-Date: 2007-08-21 23:24+0200\n" -"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" -"Language-Team: <vdr@linuxtv.org>\n" +"POT-Creation-Date: 2013-03-16 13:28+0100\n" +"PO-Revision-Date: 2010-01-16 16:46+0100\n" +"Last-Translator: gnapheus <>\n" +"Language-Team: German <vdr@linuxtv.org>\n" +"Language: de\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "A zapping co-pilot" @@ -25,17 +26,20 @@ msgid "Switch timer added!" msgstr "Umschalttimer angelegt!" msgid "Switch timer deleted!" -msgstr "Umschalttimer gelöscht!" +msgstr "Umschalttimer gelöscht!" msgid "Close on OK" -msgstr "Schließen bei OK" +msgstr "Schließen bei OK" msgid "Hide main menu entry" -msgstr "Hauptmenüeintrag verstecken" +msgstr "Hauptmenüeintrag verstecken" msgid "Fast browse" msgstr "Schnell navigieren" +msgid "Fast browse (alt. key layout)" +msgstr "Schnell navigieren (alt. Tastenbelegung)" + msgid "Switch timer" msgstr "Umschalttimer" diff --git a/po/es_ES.po b/po/es_ES.po index 4ba850a..d7cbadf 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -1,18 +1,19 @@ -# VDR plugin language source file. -# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> +# VDR language source file. +# Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de> # This file is distributed under the same license as the VDR package. -# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002 +# Ruben Nunez Francisco <ruben.nunez@tang-it.com> 2007 # msgid "" msgstr "" -"Project-Id-Version: VDR 1.5.7\n" +"Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2010-09-30 17:11+0200\n" +"POT-Creation-Date: 2013-03-16 13:01+0100\n" "PO-Revision-Date: 2007-08-21 23:24+0200\n" "Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" "Language-Team: <vdr@linuxtv.org>\n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "A zapping co-pilot" @@ -31,11 +32,14 @@ msgid "Close on OK" msgstr "" msgid "Hide main menu entry" -msgstr "Ocultar en el menú principal" +msgstr "Ocultar en el menú principal" msgid "Fast browse" msgstr "" +msgid "Fast browse (alt. key layout)" +msgstr "" + msgid "Switch timer" msgstr "" diff --git a/po/fi_FI.po b/po/fi_FI.po index 0159de6..5721f85 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -1,21 +1,22 @@ -# VDR plugin language source file. -# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> +# VDR language source file. +# Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de> # This file is distributed under the same license as the VDR package. # Hannu Savolainen <hannu@opensound.com>, 2002 -# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 +# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002 # Niko Tarnanen <niko.tarnanen@hut.fi>, 2003 # Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003 # msgid "" msgstr "" -"Project-Id-Version: VDR 1.5.7\n" +"Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2010-09-30 17:11+0200\n" +"POT-Creation-Date: 2013-03-16 13:01+0100\n" "PO-Revision-Date: 2007-08-21 23:24+0200\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Language-Team: <vdr@linuxtv.org>\n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "A zapping co-pilot" @@ -34,11 +35,14 @@ msgid "Close on OK" msgstr "Sulje painamalla OK" msgid "Hide main menu entry" -msgstr "Piilota valinta päävalikosta" +msgstr "Piilota valinta päävalikosta" msgid "Fast browse" msgstr "" +msgid "Fast browse (alt. key layout)" +msgstr "" + msgid "Switch timer" msgstr "" diff --git a/po/fr_FR.po b/po/fr_FR.po index e8deaec..bc3631c 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -1,5 +1,5 @@ -# VDR plugin language source file. -# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> +# VDR language source file. +# Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de> # This file is distributed under the same license as the VDR package. # Jean-Claude Repetto <jc@repetto.org>, 2001 # Olivier Jacques <jacquesolivier@hotmail.com>, 2003 @@ -8,14 +8,15 @@ # msgid "" msgstr "" -"Project-Id-Version: VDR 1.5.7\n" +"Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2010-09-30 17:11+0200\n" +"POT-Creation-Date: 2013-03-16 13:01+0100\n" "PO-Revision-Date: 2007-08-21 23:24+0200\n" "Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" "Language-Team: <vdr@linuxtv.org>\n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "A zapping co-pilot" @@ -39,6 +40,9 @@ msgstr "Masquer dans le menu principal" msgid "Fast browse" msgstr "" +msgid "Fast browse (alt. key layout)" +msgstr "" + msgid "Switch timer" msgstr "" diff --git a/po/it_IT.po b/po/it_IT.po index 3dfb320..2e959af 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -1,22 +1,20 @@ -# VDR plugin language source file. -# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de> +# VDR language source file. +# Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de> # This file is distributed under the same license as the VDR package. -# Klaus Schmidinger <kls@cadsoft.de>, 2000 +# Diego Pierotto <vdr-italian@tiscali.it>, 2010 # msgid "" msgstr "" -"Project-Id-Version: VDR 1.5.7\n" +"Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2010-09-30 17:27+0200\n" +"POT-Creation-Date: 2013-03-16 13:01+0100\n" "PO-Revision-Date: 2010-08-09 19:40+0100\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" -"Language-Team: <vdr@linuxtv.org>\n" +"Language-Team: <vdr@linuxtv.org>\n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Italian\n" -"X-Poedit-Country: ITALY\n" -"X-Poedit-SourceCharset: utf-8\n" msgid "A zapping co-pilot" msgstr "Assistente per il cambio canale" @@ -39,9 +37,11 @@ msgstr "Nascondi voce menu principale" msgid "Fast browse" msgstr "Sfoglia veloce" +msgid "Fast browse (alt. key layout)" +msgstr "" + msgid "Switch timer" msgstr "" msgid "Switch ... minutes before start" msgstr "Cambia ... minuti prima dell'inizio" - diff --git a/po/sk_SK.po b/po/sk_SK.po index 13aa8ed..dd7b156 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -1,22 +1,23 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# VDR language source file. +# Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de> +# This file is distributed under the same license as the VDR package. +# Milan Hrala <hrala.milan@gmail.com> # msgid "" msgstr "" "Project-Id-Version: zappilot-0.0.4\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2011-06-12 18:10+0200\n" +"POT-Creation-Date: 2013-03-16 13:01+0100\n" "PO-Revision-Date: 2011-02-15 21:31+0100\n" "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" "Language-Team: Milan Hrala <hrala.milan@gmail.com>\n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "A zapping co-pilot" -msgstr "Prepínanie co-pilota" +msgstr "PrepÃnanie co-pilota" msgid "ZapPilot" msgstr "" @@ -28,16 +29,19 @@ msgid "Switch timer deleted!" msgstr "" msgid "Close on OK" -msgstr "Zavrie» pri stlaèení OK" +msgstr "Zavrie pri stlaèenà OK" msgid "Hide main menu entry" -msgstr "Schova» v hlavnom menu" +msgstr "Schova v hlavnom menu" msgid "Fast browse" -msgstr "Rýchlej¹ia navigácia" +msgstr "RýchlejÅ¡ia navigácia" + +msgid "Fast browse (alt. key layout)" +msgstr "" msgid "Switch timer" msgstr "" msgid "Switch ... minutes before start" -msgstr "" +msgstr "RýchlejÅ¡ia navigácia" @@ -12,7 +12,7 @@ #include <vdr/plugin.h> -static const char *VERSION = "0.0.4"; +static const char *VERSION = "0.0.5"; static const char *DESCRIPTION = trNOOP("A zapping co-pilot"); static const char *MAINMENUENTRY = trNOOP("ZapPilot"); @@ -48,6 +48,7 @@ cPluginZappilot::cPluginZappilot(void) config.closeonswitch=1; config.hidemenu=0; config.fastbrowse=0; + config.fastbrowsealt=0; config.switchtimer=0; config.switchminsbefore=1; config.pEPGSearch=NULL; @@ -114,6 +115,7 @@ bool cPluginZappilot::SetupParse(const char *Name, const char *Value) if (!strcasecmp(Name, "CloseOnSwitch")) config.closeonswitch = atoi(Value); else if (!strcasecmp(Name, "HideMenu")) config.hidemenu = atoi(Value); else if (!strcasecmp(Name, "FastBrowse")) config.fastbrowse = atoi(Value); + else if (!strcasecmp(Name, "FastBrowseAlt")) config.fastbrowsealt = atoi(Value); else if (!strcasecmp(Name, "SwitchTimer")) config.switchtimer = atoi(Value); else if (!strcasecmp(Name, "SwitchMinsBefore")) config.switchminsbefore = atoi(Value); else diff --git a/zappilotosd.c b/zappilotosd.c index eb5036a..898a921 100644 --- a/zappilotosd.c +++ b/zappilotosd.c @@ -268,6 +268,7 @@ void cZappilotOsd::Show() { // find the actual current cChannel *Channel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel()); + currentChannel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel()); if (Channel) { @@ -367,6 +368,13 @@ eOSState cZappilotOsd::ProcessKey(eKeys Key) group = channel->Index()-1; break; } + else if (config.fastbrowsealt) + { + // Scroll back in time + UpdateEPGInfo(3); + DrawMenu(0,0); + return osContinue; + } case kRight|k_Repeat: case kRight: if (config.fastbrowse) @@ -377,6 +385,13 @@ eOSState cZappilotOsd::ProcessKey(eKeys Key) group = channel->Index()-1; break; } + else if (config.fastbrowsealt) + { + // Scroll forward in time + UpdateEPGInfo(2); + DrawMenu(0,0); + return osContinue; + } else { if (group < 0) @@ -678,10 +693,13 @@ void cZappilotOsd::CursorDown() void cZappilotOsd::CursorOK() { DrawMenu(0,2); - cChannel *Channel = Channels.GetByNumber(PilotChannelNumber); - if (Channel) + if (currentChannel != Channels.GetByNumber(PilotChannelNumber)) { - cDevice::PrimaryDevice()->SwitchChannel(Channel, true); + cChannel *Channel = Channels.GetByNumber(PilotChannelNumber); + if (Channel) + { + cDevice::PrimaryDevice()->SwitchChannel(Channel, true); + } } } diff --git a/zappilotosd.h b/zappilotosd.h index 3f5aef5..d455fc4 100644 --- a/zappilotosd.h +++ b/zappilotosd.h @@ -39,6 +39,7 @@ class cZappilotOsd : public cOsdObject int offset; int lines; int type; + cChannel* currentChannel; public: cZappilotOsd(void); diff --git a/zappilotsetup.c b/zappilotsetup.c index 7b6f5a6..888205c 100644 --- a/zappilotsetup.c +++ b/zappilotsetup.c @@ -15,12 +15,14 @@ cZappilotSetup::cZappilotSetup(void) CloseOnSwitch = config.closeonswitch; Hidemenu = config.hidemenu; FastBrowse = config.fastbrowse; + FastBrowseAlt = config.fastbrowsealt; SwitchTimer = config.switchtimer; SwitchMinsBefore = config.switchminsbefore; Add(new cMenuEditBoolItem( tr("Close on OK"), &CloseOnSwitch)); Add(new cMenuEditBoolItem( tr("Hide main menu entry"), &Hidemenu, trVDR("no"), trVDR("yes"))); Add(new cMenuEditBoolItem( tr("Fast browse"), &FastBrowse, trVDR("no"), trVDR("yes"))); + Add(new cMenuEditBoolItem( tr("Fast browse (alt. key layout)"), &FastBrowseAlt, trVDR("no"), trVDR("yes"))); if (config.pEPGSearch) { Add(new cMenuEditBoolItem( tr("Switch timer"), &SwitchTimer, trVDR("no"), trVDR("yes"))); @@ -28,12 +30,12 @@ cZappilotSetup::cZappilotSetup(void) } } - void cZappilotSetup::Store(void) { SetupStore("CloseOnSwitch", config.closeonswitch = CloseOnSwitch); SetupStore("Hidemenu", config.hidemenu = Hidemenu); SetupStore("FastBrowse", config.fastbrowse = FastBrowse); + SetupStore("FastBrowseAlt", config.fastbrowsealt = FastBrowseAlt); SetupStore("SwitchTimer", config.switchtimer = SwitchTimer); SetupStore("SwitchMinsBefore", config.switchminsbefore = SwitchMinsBefore); } diff --git a/zappilotsetup.h b/zappilotsetup.h index 98d0b43..2b0cb71 100644 --- a/zappilotsetup.h +++ b/zappilotsetup.h @@ -9,6 +9,7 @@ class cZappilotSetup : public cMenuSetupPage int CloseOnSwitch; int Hidemenu; int FastBrowse; + int FastBrowseAlt; int SwitchTimer; int SwitchMinsBefore; protected: |