Thanks to Janardhan Reddy for the initial patch.
BUG: 288726
FIXED-IN: 4.8.0
return m_itemLayout;
}
+void KFileItemListView::setEnabledPlugins(const QStringList& list)
+{
+ if (m_modelRolesUpdater) {
+ m_modelRolesUpdater->setEnabledPlugins(list);
+ }
+}
+
+QStringList KFileItemListView::enabledPlugins() const
+{
+ return m_modelRolesUpdater ? m_modelRolesUpdater->enabledPlugins() : QStringList();
+}
+
QSizeF KFileItemListView::itemSizeHint(int index) const
{
const QHash<QByteArray, QVariant> values = model()->data(index);
Q_UNUSED(previous);
Q_ASSERT(qobject_cast<KFileItemModel*>(current));
- if (m_modelRolesUpdater) {
- delete m_modelRolesUpdater;
- }
-
+ delete m_modelRolesUpdater;
m_modelRolesUpdater = new KFileItemModelRolesUpdater(static_cast<KFileItemModel*>(current), this);
const int size = styleOption().iconSize;
m_modelRolesUpdater->setIconSize(QSize(size, size));
void setItemLayout(Layout layout);
Layout itemLayout() const;
+ /**
+ * Sets the list of enabled thumbnail plugins that are used for previews.
+ * Per default all plugins enabled in the KConfigGroup "PreviewSettings"
+ * are used.
+ *
+ * For a list of available plugins, call KServiceTypeTrader::self()->query("ThumbCreator").
+ *
+ * @see enabledPlugins
+ */
+ void setEnabledPlugins(const QStringList& list);
+
+ /**
+ * Returns the list of enabled thumbnail plugins.
+ * @see setEnabledPlugins
+ */
+ QStringList enabledPlugins() const;
+
/** @reimp */
virtual QSizeF itemSizeHint(int index) const;
void KFileItemModelRolesUpdater::setEnabledPlugins(const QStringList& list)
{
+ if (m_enabledPlugins == list) {
+ return;
+ }
+
m_enabledPlugins = list;
+ if (m_previewShown) {
+ if (m_paused) {
+ m_previewChangedDuringPausing = true;
+ } else {
+ sortAndResolveAllRoles();
+ }
+ }
}
void KFileItemModelRolesUpdater::setPaused(bool paused)
QSet<QByteArray> roles() const;
/**
- * Sets the list of enabled thumbnail plugins.
+ * Sets the list of enabled thumbnail plugins that are used for previews.
* Per default all plugins enabled in the KConfigGroup "PreviewSettings"
* are used.
*
- * Note that this method doesn't cause already generated previews
- * to be regenerated.
- *
* For a list of available plugins, call KServiceTypeTrader::self()->query("ThumbCreator").
*
* @see enabledPlugins
updateFont();
updateGridSize();
+
+ const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings");
+ const QStringList plugins = globalConfig.readEntry("Plugins", QStringList()
+ << "directorythumbnail"
+ << "imagethumbnail"
+ << "jpegthumbnail");
+ m_fileItemListView->setEnabledPlugins(plugins);
}
void DolphinItemListContainer::updateGridSize()