diff --git a/libtaskmanager/virtualdesktopinfo.cpp b/libtaskmanager/virtualdesktopinfo.cpp --- a/libtaskmanager/virtualdesktopinfo.cpp +++ b/libtaskmanager/virtualdesktopinfo.cpp @@ -42,7 +42,7 @@ Q_OBJECT public: - Private(VirtualDesktopInfo *q); + Private(); virtual ~Private() {} uint refCount = 1; @@ -64,21 +64,18 @@ void desktopIdsChanged() const; void desktopNamesChanged() const; void desktopLayoutRowsChanged() const; - -protected: - VirtualDesktopInfo *q; }; -VirtualDesktopInfo::Private::Private(VirtualDesktopInfo *q) - : q(q) +VirtualDesktopInfo::Private::Private() { } #if HAVE_X11 class Q_DECL_HIDDEN VirtualDesktopInfo::XWindowPrivate : public VirtualDesktopInfo::Private { + Q_OBJECT public: - XWindowPrivate(VirtualDesktopInfo *q); + XWindowPrivate(); void init() override; QVariant currentDesktop() const override; @@ -92,8 +89,8 @@ void requestRemoveDesktop(quint32 position) override; }; -VirtualDesktopInfo::XWindowPrivate::XWindowPrivate(VirtualDesktopInfo *q) - : VirtualDesktopInfo::Private(q) +VirtualDesktopInfo::XWindowPrivate::XWindowPrivate() + : VirtualDesktopInfo::Private() { init(); } @@ -199,8 +196,9 @@ class Q_DECL_HIDDEN VirtualDesktopInfo::WaylandPrivate : public VirtualDesktopInfo::Private { + Q_OBJECT public: - WaylandPrivate(VirtualDesktopInfo *q); + WaylandPrivate(); QVariant currentVirtualDesktop; QStringList virtualDesktops; @@ -219,8 +217,8 @@ void requestRemoveDesktop(quint32 position) override; }; -VirtualDesktopInfo::WaylandPrivate::WaylandPrivate(VirtualDesktopInfo *q) - : VirtualDesktopInfo::Private(q) +VirtualDesktopInfo::WaylandPrivate::WaylandPrivate() + : VirtualDesktopInfo::Private() { init(); } @@ -231,28 +229,28 @@ return; } - KWayland::Client::ConnectionThread *connection = KWayland::Client::ConnectionThread::fromApplication(q); + KWayland::Client::ConnectionThread *connection = KWayland::Client::ConnectionThread::fromApplication(this); if (!connection) { return; } - KWayland::Client::Registry *registry = new KWayland::Client::Registry(q); + KWayland::Client::Registry *registry = new KWayland::Client::Registry(this); registry->create(connection); QObject::connect(registry, &KWayland::Client::Registry::plasmaVirtualDesktopManagementAnnounced, [this, registry] (quint32 name, quint32 version) { - virtualDesktopManagement = registry->createPlasmaVirtualDesktopManagement(name, version, q); + virtualDesktopManagement = registry->createPlasmaVirtualDesktopManagement(name, version, this); const QList &desktops = virtualDesktopManagement->desktops(); - QObject::connect(virtualDesktopManagement, &KWayland::Client::PlasmaVirtualDesktopManagement::desktopCreated, q, + QObject::connect(virtualDesktopManagement, &KWayland::Client::PlasmaVirtualDesktopManagement::desktopCreated, this, [this](const QString &id, quint32 position) { addDesktop(id, position); } ); - QObject::connect(virtualDesktopManagement, &KWayland::Client::PlasmaVirtualDesktopManagement::desktopRemoved, q, + QObject::connect(virtualDesktopManagement, &KWayland::Client::PlasmaVirtualDesktopManagement::desktopRemoved, this, [this](const QString &id) { virtualDesktops.removeOne(id); @@ -289,14 +287,14 @@ const KWayland::Client::PlasmaVirtualDesktop *desktop = virtualDesktopManagement->getVirtualDesktop(id); - QObject::connect(desktop, &KWayland::Client::PlasmaVirtualDesktop::activated, q, + QObject::connect(desktop, &KWayland::Client::PlasmaVirtualDesktop::activated, this, [desktop, this]() { currentVirtualDesktop = desktop->id(); emit currentDesktopChanged(); } ); - QObject::connect(desktop, &KWayland::Client::PlasmaVirtualDesktop::done, q, + QObject::connect(desktop, &KWayland::Client::PlasmaVirtualDesktop::done, this, [this]() { emit desktopNamesChanged(); } @@ -404,11 +402,11 @@ if (!d) { #if HAVE_X11 if (KWindowSystem::isPlatformX11()) { - d = new VirtualDesktopInfo::XWindowPrivate(this); + d = new VirtualDesktopInfo::XWindowPrivate; } else #endif { - d = new VirtualDesktopInfo::WaylandPrivate(this); + d = new VirtualDesktopInfo::WaylandPrivate; } } else { ++d->refCount;