diff --git a/rbutil/rbutilqt/themesinstallwindow.cpp b/rbutil/rbutilqt/themesinstallwindow.cpp index 77dd21d747..669482eadd 100644 --- a/rbutil/rbutilqt/themesinstallwindow.cpp +++ b/rbutil/rbutilqt/themesinstallwindow.cpp @@ -128,8 +128,14 @@ void ThemesInstallWindow::downloadDone(bool error) continue; } qDebug() << "adding theme:" << tl.at(i); + // convert to unicode and replace HTML-specific entities + QByteArray raw = iniDetails.value("name").toByteArray(); + QTextCodec* codec = QTextCodec::codecForHtml(raw); + QString name = codec->toUnicode(raw); + name.replace(""", "\"").replace("&", "&"); + name.replace("<", "<").replace(">", ">"); QListWidgetItem *w = new QListWidgetItem; - w->setData(Qt::DisplayRole, iniDetails.value("name").toString().trimmed()); + w->setData(Qt::DisplayRole, name.trimmed()); w->setData(Qt::UserRole, tl.at(i)); ui.listThemes->addItem(w); @@ -191,12 +197,13 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p + iniDetails.value("image").toString())); QString text; - text = tr("Author: %1