X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6072005ddce81b456fdcf2e77d5156a1d86f3686..d0c71a1435bc9d:/src/settings/services/servicessettingspage.cpp diff --git a/src/settings/services/servicessettingspage.cpp b/src/settings/services/servicessettingspage.cpp index 46810768f..fa064d8a1 100644 --- a/src/settings/services/servicessettingspage.cpp +++ b/src/settings/services/servicessettingspage.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -56,6 +57,8 @@ ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) : }); m_listView = new QListView(this); + QScroller::grabGesture(m_listView->viewport(), QScroller::TouchGesture); + auto *delegate = new ServiceItemDelegate(m_listView, m_listView); m_serviceModel = new ServiceModel(this); m_sortModel = new QSortFilterProxyModel(this); @@ -69,15 +72,25 @@ ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) : m_listView->setVerticalScrollMode(QListView::ScrollPerPixel); connect(m_listView, &QListView::clicked, this, &ServicesSettingsPage::changed); +#ifndef Q_OS_WIN auto *downloadButton = new KNS3::Button(i18nc("@action:button", "Download New Services..."), QStringLiteral("servicemenu.knsrc"), this); - connect(downloadButton, &KNS3::Button::dialogFinished, this, &ServicesSettingsPage::loadServices); + connect(downloadButton, &KNS3::Button::dialogFinished, this, [this](const KNS3::Entry::List &changedEntries) { + if (!changedEntries.isEmpty()) { + m_serviceModel->clear(); + loadServices(); + } + }); + +#endif topLayout->addWidget(label); topLayout->addWidget(m_searchLineEdit); topLayout->addWidget(m_listView); +#ifndef Q_OS_WIN topLayout->addWidget(downloadButton); +#endif m_enabledVcsPlugins = VersionControlSettings::enabledPlugins(); std::sort(m_enabledVcsPlugins.begin(), m_enabledVcsPlugins.end());