Hallo,
mit dem Yadi-Snapshot vom 11.03.2006 ist mir aufgefallen, dass in der Kanalliste Sendernamen mit Sonderzeichen nur dann richtig angezeigt werden, wenn dazu gehörigen EPG-Daten zur laufenden Sendung vorhanden sind. Wenn dies nicht der Fall ist werden sie nur bis ausschließlich dem Sonderzeichen angezeigt.
Mit dem vorherigen Yadi-Snapshot vom 16.02.2006 wurden Sendernamen unabhängig von EPG-Daten richtig angezeigt.
Ich habe da die Änderungen in channellist.cpp ver. 1.175 vom 10.03.2006 in Verdacht.
Kanalliste: Sendernamen mit Sonderzeichen abgeschnitten
-
- Einsteiger
- Beiträge: 123
- Registriert: Montag 10. Februar 2003, 19:59
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Einsteiger
- Beiträge: 123
- Registriert: Montag 10. Februar 2003, 19:59
Hi Houdini,
leider kann ich es nicht testen, aber könnte man die Zeile 965 in chanellist.cpp nicht wieder rückgängig machen?:
Mir scheint die Variable nameAndDescription im Falle keiner EPG-Daten nicht richtig gesetzt zu sein. Da könnte man weiterhin chan->name benutzen, oder?
leider kann ich es nicht testen, aber könnte man die Zeile 965 in chanellist.cpp nicht wieder rückgängig machen?:
Code: Alles auswählen
@@ -965,7 +962,7 @@
}
else
//name
- g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10, ypos+ fheight, width- numwidth- 20- 15, chan->name, color, 0, true); // UTF-8
+ g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10, ypos+ fheight, width- numwidth- 20- 15, nameAndDescription, color, 0, true); // UTF-8
}
}
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Die Sache ist erheblich komplizierter aber hier unter anderem die Änderung:
Code: Alles auswählen
Index: channellist.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/channellist.cpp,v
retrieving revision 1.175
diff -u -r1.175 channellist.cpp
--- channellist.cpp 10 Mar 2006 22:22:04 -0000 1.175
+++ channellist.cpp 15 Mar 2006 22:23:10 -0000
@@ -938,12 +938,14 @@
char nameAndDescription[100];
if (this->historyMode)
- snprintf(nameAndDescription, sizeof(nameAndDescription), ": %d %s · ", chan->number, ZapitTools::UTF8_to_Latin1(chan->name.c_str()).c_str());
+ snprintf(nameAndDescription, sizeof(nameAndDescription), ": %d %s", chan->number, ZapitTools::UTF8_to_Latin1(chan->name.c_str()).c_str());
else
- snprintf(nameAndDescription, sizeof(nameAndDescription), "%s · ", ZapitTools::UTF8_to_Latin1(chan->name.c_str()).c_str());
+ snprintf(nameAndDescription, sizeof(nameAndDescription), "%s", ZapitTools::UTF8_to_Latin1(chan->name.c_str()).c_str());
if (!(chan->currentEvent.description.empty()))
{
+ // add " · " separator between name and description
+ strncat(nameAndDescription, " · ", sizeof(nameAndDescription) - (strlen(nameAndDescription) + 1));
unsigned int ch_name_len = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->getRenderWidth(nameAndDescription);
unsigned int ch_desc_len = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_DESCR]->getRenderWidth(chan->currentEvent.description);
@@ -962,7 +964,7 @@
}
else
//name
- g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10, ypos+ fheight, width- numwidth- 20- 15, nameAndDescription, color, 0, true); // UTF-8
+ g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10, ypos+ fheight, width- numwidth- 20- 15, nameAndDescription, color);
}
}
-
- Einsteiger
- Beiträge: 123
- Registriert: Montag 10. Februar 2003, 19:59
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
nein es war ein mismatch von quellformat und Rendereraufruf
Code: Alles auswählen
- g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10, ypos+ fheight, width- numwidth- 20- 15, nameAndDescription, color, 0, true); // UTF-8
+ g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10, ypos+ fheight, width- numwidth- 20- 15, nameAndDescription, color);