+void InformationPanelContent::refreshPixmapView()
+{
+ // If there is a preview job, kill it to prevent that we have jobs for
+ // multiple items running, and thus a race condition (bug 250787).
+ if (m_previewJob) {
+ m_previewJob->kill();
+ }
+
+ // try to get a preview pixmap from the item...
+
+ // Mark the currently shown preview as outdated. This is done
+ // with a small delay to prevent a flickering when the next preview
+ // can be shown within a short timeframe.
+ m_outdatedPreviewTimer->start();
+
+ const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings");
+ const QStringList plugins = globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins());
+ m_previewJob = new KIO::PreviewJob(KFileItemList() << m_item,
+ QSize(m_preview->width(), m_preview->height()),
+ &plugins);
+ m_previewJob->setScaleType(KIO::PreviewJob::Unscaled);
+ m_previewJob->setIgnoreMaximumSize(m_item.isLocalFile());
+ if (m_previewJob->uiDelegate()) {
+ KJobWidgets::setWindow(m_previewJob, this);
+ }
+
+ connect(m_previewJob.data(), &KIO::PreviewJob::gotPreview,
+ this, &InformationPanelContent::showPreview);
+ connect(m_previewJob.data(), &KIO::PreviewJob::failed,
+ this, &InformationPanelContent::showIcon);
+}
+
+void InformationPanelContent::refreshPreview()
+{