From bb686052c7b353aa58151172cf215fd2349f8b94 Mon Sep 17 00:00:00 2001 From: Méven Car Date: Tue, 14 Feb 2023 17:03:43 +0100 Subject: Revert "Remove deprecated ConfigurePreviewPluginDialog" This reverts commit d8de1c37e525580143c60bcd16aee3e7640890f1. --- src/settings/general/previewssettingspage.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/settings/general/previewssettingspage.cpp') diff --git a/src/settings/general/previewssettingspage.cpp b/src/settings/general/previewssettingspage.cpp index fa715237a..358798f58 100644 --- a/src/settings/general/previewssettingspage.cpp +++ b/src/settings/general/previewssettingspage.cpp @@ -6,6 +6,7 @@ #include "previewssettingspage.h" +#include "configurepreviewplugindialog.h" #include "dolphin_generalsettings.h" #include "settings/serviceitemdelegate.h" #include "settings/servicemodel.h" @@ -44,6 +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); proxyModel->setSourceModel(serviceModel); @@ -143,6 +150,19 @@ 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(); + const QString pluginName = model->data(index).toString(); + const QString desktopEntryName = model->data(index, ServiceModel::DesktopEntryNameRole).toString(); + + ConfigurePreviewPluginDialog *dialog = new ConfigurePreviewPluginDialog(pluginName, desktopEntryName, this); + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->show(); +} +#endif + void PreviewsSettingsPage::loadPreviewPlugins() { QAbstractItemModel *model = m_listView->model(); @@ -156,6 +176,11 @@ void PreviewsSettingsPage::loadPreviewPlugins() model->setData(index, show, Qt::CheckStateRole); 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); -- cgit v1.3