diff options
-rw-r--r-- | rbutil/rbutilqt/themesinstallwindow.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
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) | |||
128 | continue; | 128 | continue; |
129 | } | 129 | } |
130 | qDebug() << "adding theme:" << tl.at(i); | 130 | qDebug() << "adding theme:" << tl.at(i); |
131 | // convert to unicode and replace HTML-specific entities | ||
132 | QByteArray raw = iniDetails.value("name").toByteArray(); | ||
133 | QTextCodec* codec = QTextCodec::codecForHtml(raw); | ||
134 | QString name = codec->toUnicode(raw); | ||
135 | name.replace(""", "\"").replace("&", "&"); | ||
136 | name.replace("<", "<").replace(">", ">"); | ||
131 | QListWidgetItem *w = new QListWidgetItem; | 137 | QListWidgetItem *w = new QListWidgetItem; |
132 | w->setData(Qt::DisplayRole, iniDetails.value("name").toString().trimmed()); | 138 | w->setData(Qt::DisplayRole, name.trimmed()); |
133 | w->setData(Qt::UserRole, tl.at(i)); | 139 | w->setData(Qt::UserRole, tl.at(i)); |
134 | ui.listThemes->addItem(w); | 140 | ui.listThemes->addItem(w); |
135 | 141 | ||
@@ -191,12 +197,13 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p | |||
191 | + iniDetails.value("image").toString())); | 197 | + iniDetails.value("image").toString())); |
192 | 198 | ||
193 | QString text; | 199 | QString text; |
194 | text = tr("<b>Author:</b> %1<hr/>").arg(iniDetails.value("author", | 200 | QTextCodec* codec = QTextCodec::codecForName("UTF-8"); |
195 | tr("unknown")).toString()); | 201 | text = tr("<b>Author:</b> %1<hr/>").arg(codec->toUnicode(iniDetails |
196 | text += tr("<b>Version:</b> %1<hr/>").arg(iniDetails.value("version", | 202 | .value("author", tr("unknown")).toByteArray())); |
197 | tr("unknown")).toString()); | 203 | text += tr("<b>Version:</b> %1<hr/>").arg(codec->toUnicode(iniDetails |
198 | text += tr("<b>Description:</b> %1<hr/>").arg(iniDetails.value("about", | 204 | .value("version", tr("unknown")).toByteArray())); |
199 | tr("no description")).toString()); | 205 | text += tr("<b>Description:</b> %1<hr/>").arg(codec->toUnicode(iniDetails |
206 | .value("about", tr("no description")).toByteArray())); | ||
200 | 207 | ||
201 | text.trimmed(); | 208 | text.trimmed(); |
202 | text.replace("\n", "<br/>"); | 209 | text.replace("\n", "<br/>"); |