From: Peter Penz Date: Tue, 18 Jan 2011 19:56:18 +0000 (+0000) Subject: Assure that the enabled plugins for previews are set for the Information Panel and... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/2fa1dce9772b556d85b875f6d7d4bf1b466e6dca Assure that the enabled plugins for previews are set for the Information Panel and the tooltips. This fixes the issue that a disabled thumbnail-plugin might be chosen. For 4.7 it should be considered to move this code into KIO::filePreview() as default already (will provide a patch on the reviewboard). svn path=/trunk/KDE/kdebase/apps/; revision=1215459 --- diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp index 591c47ff7..e09ccdf5c 100644 --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -63,7 +63,8 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) : m_phononWidget(0), m_nameLabel(0), m_metaDataWidget(0), - m_metaDataArea(0) + m_metaDataArea(0), + m_enabledPlugins() { parent->installEventFilter(this); @@ -173,13 +174,16 @@ void InformationPanelContent::showItem(const KFileItem& item) m_outdatedPreviewTimer->start(); } - KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << item, - m_preview->width(), - m_preview->height(), - 0, - 0, - false, - true); + if (m_enabledPlugins.isEmpty()) { + const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings"); + m_enabledPlugins = globalConfig.readEntry("Plugins", QStringList() + << "directorythumbnail" + << "imagethumbnail" + << "jpegthumbnail"); + } + + KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << item, m_preview->width(), m_preview->height(), + 0, 0, false, true, &m_enabledPlugins); connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)), this, SLOT(showPreview(const KFileItem&, const QPixmap&))); diff --git a/src/panels/information/informationpanelcontent.h b/src/panels/information/informationpanelcontent.h index c41f4043f..f6182d2df 100644 --- a/src/panels/information/informationpanelcontent.h +++ b/src/panels/information/informationpanelcontent.h @@ -135,6 +135,7 @@ private: QLabel* m_nameLabel; KFileMetaDataWidget* m_metaDataWidget; QScrollArea* m_metaDataArea; + QStringList m_enabledPlugins; }; #endif // INFORMATIONPANELCONTENT_H diff --git a/src/views/tooltips/tooltipmanager.cpp b/src/views/tooltips/tooltipmanager.cpp index 09e97861a..fdf83d13d 100644 --- a/src/views/tooltips/tooltipmanager.cpp +++ b/src/views/tooltips/tooltipmanager.cpp @@ -20,8 +20,10 @@ #include "tooltipmanager.h" #include "filemetadatatooltip.h" +#include #include #include +#include #include #include @@ -45,7 +47,8 @@ ToolTipManager::ToolTipManager(QAbstractItemView* parent, m_metaDataRequested(false), m_appliedWaitCursor(false), m_item(), - m_itemRect() + m_itemRect(), + m_enabledPlugins() { static FileMetaDataToolTip* sharedToolTip = 0; if (sharedToolTip == 0) { @@ -168,7 +171,14 @@ void ToolTipManager::startContentRetrieval() // Request a preview of the item m_fileMetaDataToolTip->setPreview(QPixmap()); - KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << m_item, 256, 256); + if (m_enabledPlugins.isEmpty()) { + const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings"); + m_enabledPlugins = globalConfig.readEntry("Plugins", QStringList() + << "directorythumbnail" + << "imagethumbnail" + << "jpegthumbnail"); + } + KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << m_item, 256, 256, true, true, &m_enabledPlugins); connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)), this, SLOT(setPreviewPix(const KFileItem&, const QPixmap&))); diff --git a/src/views/tooltips/tooltipmanager.h b/src/views/tooltips/tooltipmanager.h index f8bcd3dfd..2dee9d286 100644 --- a/src/views/tooltips/tooltipmanager.h +++ b/src/views/tooltips/tooltipmanager.h @@ -87,6 +87,7 @@ private: bool m_appliedWaitCursor; KFileItem m_item; QRect m_itemRect; + QStringList m_enabledPlugins; }; #endif