Fix setting of icon in backend about dialog

frameworks
Martin T. H. Sandsmark 10 years ago
parent 2e2432308f
commit 9014ef75cb
  1. 21
      part.cpp

@ -2647,19 +2647,26 @@ void Part::slotAboutBackend()
KAboutData aboutData = KAboutData::fromPluginMetaData(data); KAboutData aboutData = KAboutData::fromPluginMetaData(data);
if (data.iconName().isEmpty()) QIcon icon = QIcon::fromTheme(data.iconName());
{
// fall back to mime type icon // fall back to mime type icon
if (icon.isNull()) {
const Okular::DocumentInfo documentInfo = m_document->documentInfo(QSet<DocumentInfo::Key>() << DocumentInfo::MimeType); const Okular::DocumentInfo documentInfo = m_document->documentInfo(QSet<DocumentInfo::Key>() << DocumentInfo::MimeType);
const QString mimeTypeName = documentInfo.get(DocumentInfo::MimeType); const QString mimeTypeName = documentInfo.get(DocumentInfo::MimeType);
if (!mimeTypeName.isEmpty()) if (!mimeTypeName.isEmpty()) {
{
QMimeDatabase db; QMimeDatabase db;
QMimeType type = db.mimeTypeForName(mimeTypeName); QMimeType type = db.mimeTypeForName(mimeTypeName);
if (type.isValid()) if (type.isValid()) {
aboutData.setProgramIconName(type.iconName()); icon = QIcon::fromTheme(type.iconName());
}
} }
} }
if (!icon.isNull()) {
// 48x48 is what KAboutApplicationDialog wants, which doesn't match any default so we hardcode it
aboutData.setProgramLogo(icon.pixmap(48, 48));
}
KAboutApplicationDialog dlg(aboutData, widget()); KAboutApplicationDialog dlg(aboutData, widget());
dlg.exec(); dlg.exec();
} }

Loading…
Cancel
Save