aktuelle uhrzeit in kanalliste anzeigen

Wünsche, Anträge, Fehlermeldungen
JimPoison
Einsteiger
Einsteiger
Beiträge: 312
Registriert: Samstag 29. November 2003, 00:20

aktuelle uhrzeit in kanalliste anzeigen

Beitrag von JimPoison »

wäre sowas ohne großen aufwand zu realisieren?
in letzter zeit hab ich mir sowas öfter gewünscht, wenn ich in der kanalliste war. die funktionalität dort ist ja durch die anzeige der next-events und den fortschrittsbalken in letzter zeit enorm gewachsen. die zusätzliche anzeige der uhrzeit wäre da jetzt nur konsequent (für mich zumindest).
auf jeden fall kann man trotz der fortschrittsbalken manchmal schlecht abschätzen, wann eine sendung genau beginnt, wenn in der detailansicht unten in der kanalliste z.b. "ab 23h steht", man aber nicht genau weiß, wieviel uhr es gerade wirklich ist.
leider sitze ich auch immer recht weit von der box entfernt, sodaß man die uhrzeit auf dem lcd schlecht bis gar nicht erkennt.

optimaler ort zur anzeige der uhrzeit wäre für mich oben rechts in der zeile, wo auch der aktuelle bouquetname steht.

was haltet ihr davon?
JimPoison
Einsteiger
Einsteiger
Beiträge: 312
Registriert: Samstag 29. November 2003, 00:20

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von JimPoison »

kann sich damit niemand anfreunden?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von dbt »

Im Moment stehen etwas brisantere Sachen an, aber kannst es ja warm halten! :wink:
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von PT-1 »

Das habe ich mir vor kurzem auch gedacht ;-)

Waere schoen wenn man das integrieren koennte
th23081977
Neugieriger
Neugieriger
Beiträge: 11
Registriert: Samstag 10. August 2002, 12:14

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von th23081977 »

Ich hab mir das mal angeschaut, da ich die Uhrzeit hier auch ganz praktisch fände.

Das hier ist ist mein Vorschlag:
Bild

Änderungen in /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/channellist.cpp

Code: Alles auswählen

--- a/channellist.cpp   22 Dec 2008 14:19:03 -0000      1.203
+++ b/channellist.cpp   8 Jan 2009 21:36:34 -0000
@@ -1255,8 +1255,25 @@ void CChannelList::paintItem(int pos)

 void CChannelList::paintHead()
 {
+       int timestr_len = 0;
+       char *timestr = new char[10];
+       time_t now = time(NULL);
+       struct tm *tm = localtime(&now);
+
+       bool gotTime = g_Sectionsd->getIsTimeSet();
+
+       if(gotTime){
+               strftime(timestr, 10, "%H:%M", tm);
+               timestr_len = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getRenderWidth(timestr, true); // UTF-8
+       }
+
        frameBuffer->paintBoxRel(x,y, width,theight+0, COL_MENUHEAD_PLUS_0, RADIUS_MID, CORNER_TOP);
-       g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+10,y+theight+0, width- 65, name, COL_MENUHEAD, 0, true); // UTF-8
+       g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+10,y+theight+0, width-10-timestr_len-10, name, COL_MENUHEAD, 0, true); // UTF-8
+
+       if (gotTime){
+               g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+width-10-timestr_len, y+theight+0, timestr_len+1, timestr, COL_MENUHEAD, 0, true); // UTF-8
+       }
+
        paintFoot();
 }
Die Uhrzeit wird nicht aktualisiert, sondern nur beim start der Kanalliste geholt. Dies sollte kein Problem sein, da die Kanalliste ja nicht lange angezeigt wird.

Was ich allerdings an meinem Code nicht verstehe, dass ich in der vorletzten Codezeile "timestr_len+1" für die Textbreite benötige. Ohne +1 funktioniert es nicht für die Uhrzeit xx:11 da wird einfach die letzte 1 abgeschnitten (für viele andere geht es auch ohne +1). Allerdings ist das auch das erste was ich für die d-Box programmiert habe, somit bin ich in diesem Fontrenderer Zeugs nicht wirklich tief drin. Aber eigentlich sollte es ohne +1 funktionieren.

Falls mir jemand nen Tipp geben kann wegen der "timestr_len+1" Sache wäre ich dankbar

Wenn es ins Neutrino Konzept passt, kann es gerne einer einchecken da ich keine CVS Schreibrechte habe.
Zuletzt geändert von th23081977 am Donnerstag 8. Januar 2009, 22:43, insgesamt 1-mal geändert.
JimPoison
Einsteiger
Einsteiger
Beiträge: 312
Registriert: Samstag 29. November 2003, 00:20

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von JimPoison »

sehr schön :)
dann muß das nur noch jemand einchecken.....
danke schonmal im voraus!
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von Tommy »

Ich finds auch gut - nice2have - Danke th23081977
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

th23081977 hat geschrieben:Die Uhrzeit wird nicht aktualisiert, sondern nur beim start der Kanalliste geholt.
Findet auch beim Blättern in der Kanalliste keine Aktualisierung statt?
th23081977
Neugieriger
Neugieriger
Beiträge: 11
Registriert: Samstag 10. August 2002, 12:14

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von th23081977 »

Wenn man nur hoch und runter blättern wir die Zeit nicht aktualisiert.
Wenn man links und recht blättert (also die Bouquets wechselt) dann schon, da nur hier der ChannelList Kopf aktualisiert wird.

Aber ich schau mir das mit den Timern in Neutrino mal an, da könnte ich dann nen Timer mache der jede Minute die Uhrzeit aktualisiert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

th23081977 hat geschrieben:Wenn man links und recht blättert (also die Bouquets wechselt) dann schon
Das reicht mir schon, danke!
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von PauleFoul »

Könnte man so einbauen... Aber Vorsicht was bei langen Bouquetnamen passiert... :wink: :wink:


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

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von th23081977 »

Die maximale Länge für einen Bouquetnamen wird durch

g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+10,y+theight+0, width-10-timestr_len-10, name, COL_MENUHEAD, 0, true);

so begrenzt, dass die Uhrzeit immer lesbar ist. Der Bouquetnamen wird dann 10 Pixel vor der Uhr abgeschnitten.

Sieht dann so aus.
(Bouquetnamen war 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)
Bild

Die Schriftgröße im Screenshot ist die Standardgröße, somit reicht es in der Größe für ca. 28 Zeichen.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von PauleFoul »

Hört sich gut an... Weiter so!! :wink:
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von dbt »

Irgendwo war doch schon was mit Timeosd oder so, also mit Möglichkeit für Timeupdate. Das wird glaube ich sogar im Movieplayer verwendet. Wenn mein Rechner nach seinem Plattencrash wieder läuft, würde ich da mal draufschauen, wird aber frühestens am Wochenende was werden. Kann momentan leider nur mit einem "Reserve-PC" im Kinderzimmer zuschauen :-? .
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

th23081977 hat geschrieben:Das hier ist ist mein Vorschlag:
der hier gut funktioniert: neutrino_channel_time.diff
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

Spricht etwas dagegen, diesen Patch zu committen?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von GetAway »

Das macht nichts kaputt, ist nützlich und sieht gut aus. Also rein damit. :D
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von dbt »

Dass die Zeit auch aktuell ist, würde noch fehlen, ist aber zu verkraften. Wird wohl kaum vorkommen, dass jemand utopische Timeouts einstellt, die dann etwas verwirrend sein könnten. :wink:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

th23081977 hat geschrieben:Änderungen in /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/channellist.cpp
committed
re_Look
Interessierter
Interessierter
Beiträge: 47
Registriert: Mittwoch 10. Oktober 2007, 07:20

mem leak fix:

Beitrag von re_Look »

Code: Alles auswählen

diff -u -r1.207 channellist.cpp
--- a/channellist.cpp   1 Mar 2009 14:01:11 -0000       1.207
+++ b/channellist.cpp   2 Mar 2009 13:37:23 -0000
@@ -1282,7 +1282,7 @@
        if (gotTime){
                g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+width-10-timestr_len, y+theight+0, timestr_len+1, timestr, COL_MENUHEAD, 0, true); // UTF-8
        }
-
+       delete[] timestr;
        paintFoot();
 }


seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: mem leak fix:

Beitrag von seife »

re_Look hat geschrieben:

Code: Alles auswählen

diff -u -r1.207 channellist.cpp
--- a/channellist.cpp   1 Mar 2009 14:01:11 -0000       1.207
+++ b/channellist.cpp   2 Mar 2009 13:37:23 -0000
@@ -1282,7 +1282,7 @@
        if (gotTime){
                g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+width-10-timestr_len, y+theight+0, timestr_len+1, timestr, COL_MENUHEAD, 0, true); // UTF-8
        }
-
+       delete[] timestr;
        paintFoot();
 }


Korrekt. Alternativ könnte man auch den timestr auf den Stack packen. Bei ganzen 10 Bytes IMHO vertretbar ;)
th23081977
Neugieriger
Neugieriger
Beiträge: 11
Registriert: Samstag 10. August 2002, 12:14

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von th23081977 »

Danke da hab ich echt geschlafen. Ihr habt recht am besten alles auf den Stack und gut
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

committed: http://cvs.tuxbox-cvs.sourceforge.net/c ... 7&r2=1.208

Wenn ihr mit dem Stack arbeiten wollt, müsste der Code noch verändert
werden, ich habe hier nur den Originalpatch von re_Look eingecheckt.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von mb405 »

wenn man noch den aktuellen satnamen haben will, dann macht man das mit diesen diff.
zudem wird die ganze zeile aktualisiert, wenn man die auswahl ändern.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: aktuelle uhrzeit in kanalliste anzeigen

Beitrag von rhabarber1848 »

mb405 hat geschrieben:dann macht man das mit diesen diff.
committed to CVS