--- a/dirbrowser/cdb_html.cpp
+++ b/dirbrowser/cdb_html.cpp
@@ -141,9 +141,12 @@
QString CDBrowser::CTToHtml(unsigned int idx, const UPnPDirObject& e)
{
+ bool isPlaylist = !e.getprop("upnp:class").compare(plContainerClass);
+
QString out;
- out += QString("<tr class=\"container\" objid=\"%1\" objidx=\"\">"
- "<td></td><td>").arg(e.m_id.c_str());
+ out += QString("<tr class=\"container\" objid=\"%1\" objidx=\"%2\" "
+ "ispl=\"%3\"><td></td><td>")
+ .arg(e.m_id.c_str()).arg(idx).arg(isPlaylist);
out += QString("<a class=\"ct_title\" href=\"http://h/C%1\">").arg(idx);
out += u8s2qs(CTTitleStartMarker + Helper::escapeHtml(e.m_title));
out += "</a></td>";
@@ -272,10 +275,9 @@
QString htmlpath("<div id=\"fixedheader\"><div id=\"browsepath\"><ul>");
bool current_is_search = false;
for (unsigned i = 0; i < m_curpath.size(); i++) {
- QString title = QString::fromUtf8(m_curpath[i].title.c_str());
- QString objid = QString::fromUtf8(m_curpath[i].objid.c_str());
+ CtPathElt& e{m_curpath[i]};
QString sep(">");
- if (!m_curpath[i].searchStr.empty()) {
+ if (!e.searchStr.empty()) {
if (current_is_search) {
// Indicate that searches are not nested by changing
// the separator
@@ -285,9 +287,10 @@
}
if (i == 0)
sep = "";
- htmlpath += QString("<li class=\"container\" objid=\"%3\">"
+ htmlpath += QString("<li class=\"container\" objid=\"%3\" ispl=\"%5\">"
" %4 <a href=\"http://h/L%1\">%2</a></li>").
- arg(i).arg(title).arg(objid).arg(sep);
+ arg(i).arg(u8s2qs(e.title)).arg(u8s2qs(e.objid)).arg(sep)
+ .arg(e.isPlaylist);
}
htmlpath += QString("</ul></div>");