generic: query enabled by default thumbnail creators plugins

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2021-03-11 09:43:47 +02:00
parent 58d483d9df
commit 3022d99c57
2 changed files with 21 additions and 10 deletions

View file

@ -28,6 +28,7 @@
#include <kdirlister.h>
#include <kdirmodel.h>
#include <ksharedconfig.h>
#include <kservicetypetrader.h>
#include <QApplication>
#include <QAbstractItemView>
@ -475,12 +476,17 @@ KFilePreviewGenerator::Private::Private(KFilePreviewGenerator* parent,
connect(m_changedItemsTimer, SIGNAL(timeout()),
q, SLOT(delayedIconUpdate()));
QStringList enabledByDefault;
const KService::List plugins = KServiceTypeTrader::self()->query(QLatin1String("ThumbCreator"));
foreach (const KSharedPtr<KService>& service, plugins) {
const bool enabled = service->property("X-KDE-PluginInfo-EnabledByDefault", QVariant::Bool).toBool();
if (enabled) {
enabledByDefault << service->desktopEntryName();
}
}
KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings");
m_enabledPlugins = globalConfig.readEntry("Plugins", QStringList()
<< "directorythumbnail"
<< "imagethumbnail"
<< "jpegthumbnail"
<< "svgthumbnail");
m_enabledPlugins = globalConfig.readEntry("Plugins", enabledByDefault);
}
KFilePreviewGenerator::Private::~Private()

View file

@ -144,12 +144,17 @@ PreviewJob::PreviewJob(const KFileItemList &items,
if (enabledPlugins) {
d->enabledPlugins = *enabledPlugins;
} else {
QStringList enabledByDefault;
const KService::List plugins = KServiceTypeTrader::self()->query(QLatin1String("ThumbCreator"));
foreach (const KSharedPtr<KService>& service, plugins) {
const bool enabled = service->property("X-KDE-PluginInfo-EnabledByDefault", QVariant::Bool).toBool();
if (enabled) {
enabledByDefault << service->desktopEntryName();
}
}
const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings");
d->enabledPlugins = globalConfig.readEntry("Plugins", QStringList()
<< "directorythumbnail"
<< "imagethumbnail"
<< "jpegthumbnail"
<< "svgthumbnail");
d->enabledPlugins = globalConfig.readEntry("Plugins", enabledByDefault);
}
d->width = size.width();
d->height = size.height();