Port away from deprecated KNewStuff API

This commit is contained in:
Ahmad Samir 2022-05-06 17:36:12 +02:00
parent 397b496470
commit 2c8adb10ec
2 changed files with 19 additions and 7 deletions

View file

@ -155,6 +155,7 @@ target_link_libraries(
KF5::TextWidgets KF5::TextWidgets
KF5::ConfigCore KF5::ConfigCore
KF5::NewStuff KF5::NewStuff
KF5::NewStuffWidgets # KNSWidgets::Button
KF5::Parts KF5::Parts
KF5::WindowSystem KF5::WindowSystem
KF5::WidgetsAddons KF5::WidgetsAddons

View file

@ -18,13 +18,19 @@
#include <KFileUtils> #include <KFileUtils>
#include <KLocalizedString> #include <KLocalizedString>
#include <KMessageBox> #include <KMessageBox>
#include <KNS3/Button>
#include <KPluginMetaData> #include <KPluginMetaData>
#include <KService> #include <KService>
#include <KServiceTypeTrader> #include <KServiceTypeTrader>
#include <kio_version.h> #include <kio_version.h>
#include <QtGlobal>
#include <knewstuff_version.h>
#if KNEWSTUFF_VERSION >= QT_VERSION_CHECK(5, 91, 0)
#include <KNSWidgets/Button>
#else
#include <KNS3/Button>
#endif
#include <QGridLayout> #include <QGridLayout>
#include <QLabel> #include <QLabel>
#include <QListWidget> #include <QListWidget>
@ -89,17 +95,22 @@ ContextMenuSettingsPage::ContextMenuSettingsPage(QWidget* parent,
topLayout->addWidget(m_listView); topLayout->addWidget(m_listView);
#ifndef Q_OS_WIN #ifndef Q_OS_WIN
auto *downloadButton = new KNS3::Button(i18nc("@action:button", "Download New Services..."), #if KNEWSTUFF_VERSION >= QT_VERSION_CHECK(5, 91, 0)
QStringLiteral("servicemenu.knsrc"), using NewStuffButton = KNSWidgets::Button;
this); #else
connect(downloadButton, &KNS3::Button::dialogFinished, this, [this](const KNS3::Entry::List &changedEntries) { using NewStuffButton = KNS3::Button;
#endif // KNEWSTUFF_VERSION
auto *downloadButton = new NewStuffButton(i18nc("@action:button", "Download New Services..."),
QStringLiteral("servicemenu.knsrc"),
this);
connect(downloadButton, &NewStuffButton::dialogFinished, this, [this](const auto &changedEntries) {
if (!changedEntries.isEmpty()) { if (!changedEntries.isEmpty()) {
m_serviceModel->clear(); m_serviceModel->clear();
loadServices(); loadServices();
} }
}); });
topLayout->addWidget(downloadButton); topLayout->addWidget(downloadButton);
#endif #endif // Q_OS_WIN
m_enabledVcsPlugins = VersionControlSettings::enabledPlugins(); m_enabledVcsPlugins = VersionControlSettings::enabledPlugins();
std::sort(m_enabledVcsPlugins.begin(), m_enabledVcsPlugins.end()); std::sort(m_enabledVcsPlugins.begin(), m_enabledVcsPlugins.end());