EPG(plus) per Tastendruck temporär ausblenden

Wünsche, Anträge, Fehlermeldungen
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

EPG(plus) per Tastendruck temporär ausblenden

Beitrag von MTM »

Hallo,
ich habe gestern mal ne Zeitlang den EPGplus (Rot-Grün) studiert (den Inhalt verschiedener Sendungen nachgelesen), da kam im laufenden Programm gerade eine interessante Stelle welche ich mir gerne kurz angeguckt hätte.
Leider gibt es scheinbar keine Funktion, den EPG(plus) kurzzeitig aus- und wieder einzublenden um danach weiterzu"browsen". Der EPG(plus) braucht ja eine gewisse Zeit um sich aufzubauen, deshalb ist das Verlassen mittels Home-Taste und wiederaufrufen desselben etwas, äh, langwierig :wink: . Ausserdem landet man bei einem Neuaufruf (berechtigterweise) auch wieder beim aktuell eingestellten Programm, was ja in oben beschriebener Situation durchaus unerwünscht sein kann.

Mein Vorschlag wäre also, die offenbar im EPG sowie EPGplus, also Rot-Rot und Rot-Grün, nicht belegte dbox-Taste mit dieser neuen Funktion zu belegen.

MfG,
MTM.
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von MTM »

Hallo,
mal ein vorsichtiges *push*. Keiner eine Meinung? Ja/Nein/Vielleicht?
Ok, hat ja mit Sicherheit keine Top-Priorität, aber falls jemand gerade nichts anderes zu tun hat... :lol:

MfG,
MTM.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von Barf »

Que?

Rot-Grün drucken, mit Cursortasten "Kandidat" wählen, mittens "?" EPG aufrufen, mit "Home" zurück in EPG-plus.

Scheint genau das zu sein, was du haben willst.
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von MTM »

Hallo,
nein, da hast du mich falsch verstanden. Ich möchte den EPG oder den EPGplus per kurzem Tastendruck komplett ausblenden, um ihn danach mit ebenfalls kurzem Tastendruck wieder einzublenden, ohne dass er sich erst neu aufbauen muss.
Also eher sowas wie Framebuffer aus/Framebuffer wieder an, ohne die Daten im Framebuffer zu verändern.

MfG,
MTM.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von dbt »

Machbar ist das schon, da gibts ja auch eine passende Funktion im FB, um was zurückzuholen (muss aber vorher logischerweise "eingelagert" werden). Nur wie soll das mit den Tasten gemacht werden, hast du da konkrete Ideen?
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von MTM »

Hallo,
die dbox-Taste ist dort anscheinend nicht belegt und könnte somit genutzt werden. Zum Wiedereinblenden sollte dann aber wohl am besten jede Taste dienen, sonst vergisst man zB in der Zwischenzeit, daß der EPG ausgeblendet wurde, und wundert sich, warum nichts mehr geht.

MfG,
MTM.
th23081977
Neugieriger
Neugieriger
Beiträge: 11
Registriert: Samstag 10. August 2002, 12:14

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von th23081977 »

So ich hab mal was gemacht, da ich die Funktion ganz praktisch finde.

Unten rechts ist die Tastenbelegung für die "Hide" Funktion
Bild

So sieht es ausgeblendet aus
Bild

Und hier der Code dazu
Wenn es ins Neutrino Konzept passt, kann es gerne einer einchecken da ich keine CVS Schreibrechte habe.

Code: Alles auswählen

--- a/src/gui/epgplus.h	15 Jun 2004 22:19:33 -0000	1.5
+++ b/src/gui/epgplus.h	22 Feb 2009 18:36:15 -0000
@@ -936,7 +936,7 @@
 
   bool            refreshAll;
   bool            refreshFooterButtons;
-
+  bool            is_visible;
 
   static Settings settings;
   static Fonts    fonts;

Code: Alles auswählen

--- a/src/gui/epgplus.cpp	5 Dec 2008 22:06:19 -0000	1.44
+++ b/src/gui/epgplus.cpp	22 Feb 2009 18:29:58 -0000
@@ -905,7 +905,8 @@
 	{ NEUTRINO_ICON_BUTTON_GREEN  , LOCALE_EPGPLUS_PAGE_DOWN},
 	{ NEUTRINO_ICON_BUTTON_YELLOW , LOCALE_EPGPLUS_PAGE_UP},
 	{ NEUTRINO_ICON_BUTTON_BLUE   , LOCALE_EPGPLUS_OPTIONS},
-	{ NEUTRINO_ICON_BUTTON_HELP_SMALL   , LOCALE_EPGPLUS_EVENT_INFO}
+	{ NEUTRINO_ICON_BUTTON_HELP_SMALL   , LOCALE_EPGPLUS_EVENT_INFO},
+	{ NEUTRINO_ICON_BUTTON_DBOX	  , LOCALE_EPGPLUS_HIDE}
 };
 
 void EpgPlus::Footer::paintButtons
@@ -1354,6 +1355,8 @@
 	{
     this->refreshAll = false;
     this->refreshFooterButtons = false;
+    this->is_visible = true;
+	
     time_t currentTime = time(NULL);
 		tm tmStartTime = *localtime(&currentTime);
 
@@ -1855,6 +1858,49 @@
 					}
 				}
 			}
+			else if (msg==CRCInput::RC_setup)
+			{
+				while(loop)
+				{
+					if(msg == CRCInput::RC_setup)
+					{
+						if(is_visible)
+						{
+							std::string EPG_Plus;
+							
+							EPG_Plus = g_Locale->getText(LOCALE_EPGPLUS_SHOW);
+							EPG_Plus.insert(0, " ");  
+							
+							int epgplus_len = this->header->font->getRenderWidth(EPG_Plus, true); // UTF-8
+							int theight     = this->header->font->getHeight();
+							int dbox_icon_width = frameBuffer->getIconWidth(NEUTRINO_ICON_BUTTON_DBOX);
+							
+							is_visible = false;
+							this->hide();
+							
+							frameBuffer->paintBoxRel(this->usableScreenX+ this->usableScreenWidth- epgplus_len- dbox_icon_width- 2- 2, this->usableScreenY, epgplus_len+ dbox_icon_width+ 2+ 2, theight+0, COL_MENUHEAD_PLUS_0, RADIUS_MID);
+							frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_DBOX, this->usableScreenX+ this->usableScreenWidth- epgplus_len- dbox_icon_width- 2, this->usableScreenY);
+							this->header->font->RenderString(this->usableScreenX+ this->usableScreenWidth- epgplus_len, this->usableScreenY+ theight+0, epgplus_len, EPG_Plus, this->header->color, 0, true); // UTF-8							
+						}
+						else
+						{
+							is_visible = true;
+							this->header->paint();
+							this->footer->paintButtons(buttonLabels, sizeof(buttonLabels)/sizeof(button_label));
+							this->paint();
+							
+							break;
+						}
+					}
+					else if (msg == g_settings.key_channelList_cancel)
+					{
+						loop = false;
+					}
+
+					g_RCInput->getMsg(&msg, &data, 100);
+				}
+			}
 			else
 			{
 				if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) &

Code: Alles auswählen

--- a/data/locale/english.locale	25 Nov 2008 15:14:56 -0000	1.396
+++ b/data/locale/english.locale	22 Feb 2009 18:37:54 -0000
@@ -26,6 +26,7 @@
 EPGPlus.footer_fonteventshortdescription Title 2 selected Prog.
 EPGPlus.head Eventlist Overview (EPG Plus)
 EPGPlus.header_font Header
+EPGPlus.hide TV
 EPGPlus.horgap1_height height hor. gap 1
 EPGPlus.horgap2_height height hor. gap 2
 EPGPlus.next_bouquet Next bouquet
@@ -41,6 +42,7 @@
 EPGPlus.scroll_mode Scroll mode
 EPGPlus.select_font_name Font selection
 EPGPlus.settings Settings
+EPGPlus.show EPG Plus
 EPGPlus.slider_width slider width
 EPGPlus.stretch_mode Stretch mode
 EPGPlus.swap_mode skip mode

Code: Alles auswählen

--- a/data/locale/deutsch.locale	24 Nov 2008 19:15:56 -0000	1.470
+++ b/data/locale/deutsch.locale	22 Feb 2009 18:37:36 -0000
@@ -26,6 +26,7 @@
 EPGPlus.footer_fonteventshortdescription Titel 2 selekt. Sendung
 EPGPlus.head EPG Plus Komplettvorschau
 EPGPlus.header_font Menütitel
+EPGPlus.hide TV
 EPGPlus.horgap1_height Höhe hor. Lücke 1
 EPGPlus.horgap2_height Höhe hor. Lücke 2
 EPGPlus.next_bouquet Bouquet vor
@@ -41,6 +42,7 @@
 EPGPlus.scroll_mode Scroll Mode
 EPGPlus.select_font_name Schrift wählen
 EPGPlus.settings Einstellungen
+EPGPlus.show EPG Plus
 EPGPlus.slider_width Breite des Sliders
 EPGPlus.stretch_mode Stretch Mode
 EPGPlus.swap_mode Blättern
@@ -1301,4 +1303,4 @@
 zapit.scantype.radio Nur Radio
 zapit.scantype.tv Nur TV
 zapit.scantype.tvradio TV & Radio
-zaptotimer.announce In einer Minute wird umgeschaltet.
+zaptotimer.announce In einer Minute wird umgeschaltet.
\ No newline at end of file
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von MTM »

Hallo,
da sag ich doch schonmal "Danke" für deine Mühe.

MfG,
MTM.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von rhabarber1848 »

Hier der komplette Patch: epgplus.diff
Ich habe das Feature positiv getestet und finde es sinnvoll, danke!
Wenn noch jemand anderes den Patch positiv testet, kann er
von mir aus ins CVS.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von rhabarber1848 »

committed to CVS
th23081977
Neugieriger
Neugieriger
Beiträge: 11
Registriert: Samstag 10. August 2002, 12:14

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von th23081977 »

Danke für's einchecken !
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von GetAway »

Hi, ich würde eventuell für das eingeblendete EPG-Plus Symbol, da es doch
recht klein ist, den schmalen Radius für die abgerundeten Ecken wählen. :wink:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Hi, ich würde eventuell für das eingeblendete EPG-Plus Symbol, da es doch
recht klein ist, den schmalen Radius für die abgerundeten Ecken wählen. :wink:
So? http://cvs.tuxbox-cvs.sourceforge.net/c ... 45&r2=1.46
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: EPG(plus) per Tastendruck temporär ausblenden

Beitrag von GetAway »

Jo, macht sich besser.