summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/themesinstallwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/themesinstallwindow.cpp')
-rw-r--r--rbutil/rbutilqt/themesinstallwindow.cpp21
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("&quot;", "\"").replace("&amp;", "&");
136 name.replace("&lt;", "<").replace("&gt;", ">");
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/>");