X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c68f1f6f8d6c24123c9c5df4d2e91a9d2462ceb6..863ee3a87cee8b1f22a311d6a6a62e56714b5eae:/src/settings/general/previewssettingspage.cpp diff --git a/src/settings/general/previewssettingspage.cpp b/src/settings/general/previewssettingspage.cpp index f12338aef..fa715237a 100644 --- a/src/settings/general/previewssettingspage.cpp +++ b/src/settings/general/previewssettingspage.cpp @@ -7,60 +7,54 @@ #include "previewssettingspage.h" #include "dolphin_generalsettings.h" -#include "configurepreviewplugindialog.h" #include "settings/serviceitemdelegate.h" #include "settings/servicemodel.h" #include #include -#include +#include #include #include #include -#include #include #include #include #include // default settings -namespace { - const int DefaultMaxLocalPreviewSize = 0; // 0 MB - const int DefaultMaxRemotePreviewSize = 0; // 0 MB +namespace +{ +const int DefaultMaxLocalPreviewSize = 0; // 0 MB +const int DefaultMaxRemotePreviewSize = 0; // 0 MB } -PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) : - SettingsPageBase(parent), - m_initialized(false), - m_listView(nullptr), - m_enabledPreviewPlugins(), - m_localFileSizeBox(nullptr), - m_remoteFileSizeBox(nullptr) +PreviewsSettingsPage::PreviewsSettingsPage(QWidget *parent) + : SettingsPageBase(parent) + , m_initialized(false) + , m_listView(nullptr) + , m_enabledPreviewPlugins() + , m_localFileSizeBox(nullptr) + , m_remoteFileSizeBox(nullptr) { - QVBoxLayout* topLayout = new QVBoxLayout(this); + QVBoxLayout *topLayout = new QVBoxLayout(this); - QLabel* showPreviewsLabel = new QLabel(i18nc("@title:group", "Show previews in the view for:"), this); + QLabel *showPreviewsLabel = new QLabel(i18nc("@title:group", "Show previews in the view for:"), this); m_listView = new QListView(this); QScroller::grabGesture(m_listView->viewport(), QScroller::TouchGesture); - ServiceItemDelegate* delegate = new ServiceItemDelegate(m_listView, m_listView); - connect(delegate, &ServiceItemDelegate::requestServiceConfiguration, - this, &PreviewsSettingsPage::configureService); - - ServiceModel* serviceModel = new ServiceModel(this); - QSortFilterProxyModel* proxyModel = new QSortFilterProxyModel(this); + ServiceModel *serviceModel = new ServiceModel(this); + QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this); proxyModel->setSourceModel(serviceModel); proxyModel->setSortRole(Qt::DisplayRole); proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive); m_listView->setModel(proxyModel); - m_listView->setItemDelegate(delegate); m_listView->setVerticalScrollMode(QListView::ScrollPerPixel); m_listView->setUniformItemSizes(true); - QLabel* localFileSizeLabel = new QLabel(i18n("Skip previews for local files above:"), this); + QLabel *localFileSizeLabel = new QLabel(i18n("Skip previews for local files above:"), this); m_localFileSizeBox = new QSpinBox(this); m_localFileSizeBox->setSingleStep(1); @@ -68,12 +62,12 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) : m_localFileSizeBox->setRange(0, 9999999); /* MB */ m_localFileSizeBox->setSpecialValueText(i18n("No limit")); - QHBoxLayout* localFileSizeBoxLayout = new QHBoxLayout(); + QHBoxLayout *localFileSizeBoxLayout = new QHBoxLayout(); localFileSizeBoxLayout->addWidget(localFileSizeLabel); localFileSizeBoxLayout->addStretch(0); localFileSizeBoxLayout->addWidget(m_localFileSizeBox); - QLabel* remoteFileSizeLabel = new QLabel(i18nc("@label", "Skip previews for remote files above:"), this); + QLabel *remoteFileSizeLabel = new QLabel(i18nc("@label", "Skip previews for remote files above:"), this); m_remoteFileSizeBox = new QSpinBox(this); m_remoteFileSizeBox->setSingleStep(1); @@ -81,7 +75,7 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) : m_remoteFileSizeBox->setRange(0, 9999999); /* MB */ m_remoteFileSizeBox->setSpecialValueText(i18n("No previews")); - QHBoxLayout* remoteFileSizeBoxLayout = new QHBoxLayout(); + QHBoxLayout *remoteFileSizeBoxLayout = new QHBoxLayout(); remoteFileSizeBoxLayout->addWidget(remoteFileSizeLabel); remoteFileSizeBoxLayout->addStretch(0); remoteFileSizeBoxLayout->addWidget(m_remoteFileSizeBox); @@ -104,7 +98,7 @@ PreviewsSettingsPage::~PreviewsSettingsPage() void PreviewsSettingsPage::applySettings() { - const QAbstractItemModel* model = m_listView->model(); + const QAbstractItemModel *model = m_listView->model(); const int rowCount = model->rowCount(); if (rowCount > 0) { m_enabledPreviewPlugins.clear(); @@ -125,15 +119,11 @@ void PreviewsSettingsPage::applySettings() globalConfig.deleteEntry("MaximumSize", KConfigBase::Normal | KConfigBase::Global); } else { const qulonglong maximumLocalSize = static_cast(m_localFileSizeBox->value()) * 1024 * 1024; - globalConfig.writeEntry("MaximumSize", - maximumLocalSize, - KConfigBase::Normal | KConfigBase::Global); + globalConfig.writeEntry("MaximumSize", maximumLocalSize, KConfigBase::Normal | KConfigBase::Global); } const qulonglong maximumRemoteSize = static_cast(m_remoteFileSizeBox->value()) * 1024 * 1024; - globalConfig.writeEntry("MaximumRemoteSize", - maximumRemoteSize, - KConfigBase::Normal | KConfigBase::Global); + globalConfig.writeEntry("MaximumRemoteSize", maximumRemoteSize, KConfigBase::Normal | KConfigBase::Global); globalConfig.sync(); } @@ -144,7 +134,7 @@ void PreviewsSettingsPage::restoreDefaults() m_remoteFileSizeBox->setValue(DefaultMaxRemotePreviewSize); } -void PreviewsSettingsPage::showEvent(QShowEvent* event) +void PreviewsSettingsPage::showEvent(QShowEvent *event) { if (!event->spontaneous() && !m_initialized) { loadPreviewPlugins(); @@ -153,30 +143,17 @@ void PreviewsSettingsPage::showEvent(QShowEvent* event) SettingsPageBase::showEvent(event); } -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(); -} - void PreviewsSettingsPage::loadPreviewPlugins() { - QAbstractItemModel* model = m_listView->model(); + QAbstractItemModel *model = m_listView->model(); 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); }