From e58f0c085cbf4932b4bf83ec2b6fd6a536a8c7bb Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Thu, 5 May 2022 22:07:03 +0200 Subject: [PATCH] Port away from deprecated ThumbCreator API Configurability of individual preview plugins has been deprecated since KIO 5.87. --- .../general/configurepreviewplugindialog.cpp | 4 ++++ src/settings/general/configurepreviewplugindialog.h | 6 ++++++ src/settings/general/previewssettingspage.cpp | 13 ++++++++++--- src/settings/general/previewssettingspage.h | 5 +++++ 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/settings/general/configurepreviewplugindialog.cpp b/src/settings/general/configurepreviewplugindialog.cpp index b60ba5a0cf..5aa3f9d39f 100644 --- a/src/settings/general/configurepreviewplugindialog.cpp +++ b/src/settings/general/configurepreviewplugindialog.cpp @@ -6,6 +6,8 @@ #include "configurepreviewplugindialog.h" +#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87) + #include #include #include @@ -67,3 +69,5 @@ ConfigurePreviewPluginDialog::ConfigurePreviewPluginDialog(const QString& plugin okButton->setShortcut(Qt::CTRL | Qt::Key_Return); okButton->setDefault(true); } + +#endif // KIO_VERSION diff --git a/src/settings/general/configurepreviewplugindialog.h b/src/settings/general/configurepreviewplugindialog.h index d6a28f53f0..967780c37b 100644 --- a/src/settings/general/configurepreviewplugindialog.h +++ b/src/settings/general/configurepreviewplugindialog.h @@ -7,6 +7,11 @@ #ifndef CONFIGUREPREVIEWPLUGINDIALOG_H #define CONFIGUREPREVIEWPLUGINDIALOG_H +#include +#include + +#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 87) + #include /** @@ -29,5 +34,6 @@ public: QWidget* parent); ~ConfigurePreviewPluginDialog() override = default; }; +#endif // KIOWIDGETS_BUILD_DEPRECATED_SINCE #endif diff --git a/src/settings/general/previewssettingspage.cpp b/src/settings/general/previewssettingspage.cpp index f12338aef0..4c36288eb5 100644 --- a/src/settings/general/previewssettingspage.cpp +++ b/src/settings/general/previewssettingspage.cpp @@ -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 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); diff --git a/src/settings/general/previewssettingspage.h b/src/settings/general/previewssettingspage.h index 1e61aa24dc..4dee27adad 100644 --- a/src/settings/general/previewssettingspage.h +++ b/src/settings/general/previewssettingspage.h @@ -7,6 +7,9 @@ #ifndef PREVIEWSSETTINGSPAGE_H #define PREVIEWSSETTINGSPAGE_H + +#include + #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();