mirror of
https://invent.kde.org/system/dolphin
synced 2024-08-22 01:40:02 +00:00
Port away from deprecated ThumbCreator API
Configurability of individual preview plugins has been deprecated since KIO 5.87.
This commit is contained in:
parent
5cbe6b5302
commit
e58f0c085c
|
@ -6,6 +6,8 @@
|
|||
|
||||
#include "configurepreviewplugindialog.h"
|
||||
|
||||
#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87)
|
||||
|
||||
#include <KIO/DeleteJob>
|
||||
#include <KIO/JobUiDelegate>
|
||||
#include <KIO/ThumbCreator>
|
||||
|
@ -67,3 +69,5 @@ ConfigurePreviewPluginDialog::ConfigurePreviewPluginDialog(const QString& plugin
|
|||
okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
|
||||
okButton->setDefault(true);
|
||||
}
|
||||
|
||||
#endif // KIO_VERSION
|
||||
|
|
|
@ -7,6 +7,11 @@
|
|||
#ifndef CONFIGUREPREVIEWPLUGINDIALOG_H
|
||||
#define CONFIGUREPREVIEWPLUGINDIALOG_H
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <kiowidgets_export.h>
|
||||
|
||||
#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87)
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
/**
|
||||
|
@ -29,5 +34,6 @@ public:
|
|||
QWidget* parent);
|
||||
~ConfigurePreviewPluginDialog() override = default;
|
||||
};
|
||||
#endif // KIOWIDGETS_BUILD_DEPRECATED_SINCE
|
||||
|
||||
#endif
|
||||
|
|
|
@ -45,9 +45,12 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) :
|
|||
m_listView = new QListView(this);
|
||||
QScroller::grabGesture(m_listView->viewport(), QScroller::TouchGesture);
|
||||
|
||||
#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87)
|
||||
ServiceItemDelegate* delegate = new ServiceItemDelegate(m_listView, m_listView);
|
||||
connect(delegate, &ServiceItemDelegate::requestServiceConfiguration,
|
||||
this, &PreviewsSettingsPage::configureService);
|
||||
m_listView->setItemDelegate(delegate);
|
||||
#endif
|
||||
|
||||
ServiceModel* serviceModel = new ServiceModel(this);
|
||||
QSortFilterProxyModel* proxyModel = new QSortFilterProxyModel(this);
|
||||
|
@ -56,7 +59,6 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) :
|
|||
proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||
|
||||
m_listView->setModel(proxyModel);
|
||||
m_listView->setItemDelegate(delegate);
|
||||
m_listView->setVerticalScrollMode(QListView::ScrollPerPixel);
|
||||
m_listView->setUniformItemSizes(true);
|
||||
|
||||
|
@ -153,6 +155,7 @@ void PreviewsSettingsPage::showEvent(QShowEvent* event)
|
|||
SettingsPageBase::showEvent(event);
|
||||
}
|
||||
|
||||
#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87)
|
||||
void PreviewsSettingsPage::configureService(const QModelIndex& index)
|
||||
{
|
||||
const QAbstractItemModel* model = index.model();
|
||||
|
@ -163,6 +166,7 @@ void PreviewsSettingsPage::configureService(const QModelIndex& index)
|
|||
dialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
dialog->show();
|
||||
}
|
||||
#endif
|
||||
|
||||
void PreviewsSettingsPage::loadPreviewPlugins()
|
||||
{
|
||||
|
@ -170,15 +174,18 @@ void PreviewsSettingsPage::loadPreviewPlugins()
|
|||
|
||||
const QVector<KPluginMetaData> plugins = KIO::PreviewJob::availableThumbnailerPlugins();
|
||||
for (const KPluginMetaData &plugin : plugins) {
|
||||
const bool configurable = plugin.value(QStringLiteral("Configurable"), false);
|
||||
const bool show = m_enabledPreviewPlugins.contains(plugin.pluginId());
|
||||
|
||||
model->insertRow(0);
|
||||
const QModelIndex index = model->index(0, 0);
|
||||
model->setData(index, show, Qt::CheckStateRole);
|
||||
model->setData(index, configurable, ServiceModel::ConfigurableRole);
|
||||
model->setData(index, plugin.name(), Qt::DisplayRole);
|
||||
model->setData(index, plugin.pluginId(), ServiceModel::DesktopEntryNameRole);
|
||||
|
||||
#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87)
|
||||
const bool configurable = plugin.value(QStringLiteral("Configurable"), false);
|
||||
model->setData(index, configurable, ServiceModel::ConfigurableRole);
|
||||
#endif
|
||||
}
|
||||
|
||||
model->sort(Qt::DisplayRole);
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
#ifndef PREVIEWSSETTINGSPAGE_H
|
||||
#define PREVIEWSSETTINGSPAGE_H
|
||||
|
||||
|
||||
#include <kiowidgets_export.h>
|
||||
|
||||
#include "settings/settingspagebase.h"
|
||||
|
||||
class QSpinBox;
|
||||
|
@ -38,7 +41,9 @@ protected:
|
|||
void showEvent(QShowEvent* event) override;
|
||||
|
||||
private Q_SLOTS:
|
||||
#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87)
|
||||
void configureService(const QModelIndex& index);
|
||||
#endif
|
||||
|
||||
private:
|
||||
void loadPreviewPlugins();
|
||||
|
|
Loading…
Reference in a new issue