Migrate Window Management to new approach
This commit is contained in:
parent
feeafa93ed
commit
af16210c95
6 changed files with 295 additions and 376 deletions
|
@ -102,7 +102,7 @@ ecm_add_qtwayland_server_protocol(SERVER_LIB_SRCS
|
||||||
BASENAME org-kde-plasma-virtual-desktop
|
BASENAME org-kde-plasma-virtual-desktop
|
||||||
)
|
)
|
||||||
|
|
||||||
ecm_add_wayland_server_protocol(SERVER_LIB_SRCS
|
ecm_add_qtwayland_server_protocol(SERVER_LIB_SRCS
|
||||||
PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-window-management.xml
|
PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-window-management.xml
|
||||||
BASENAME plasma-window-management
|
BASENAME plasma-window-management
|
||||||
)
|
)
|
||||||
|
|
|
@ -126,8 +126,6 @@ void TestVirtualDesktop::init()
|
||||||
m_plasmaVirtualDesktopManagement = registry.createPlasmaVirtualDesktopManagement(plasmaVirtualDesktopManagementSpy.first().first().value<quint32>(), plasmaVirtualDesktopManagementSpy.first().last().value<quint32>(), this);
|
m_plasmaVirtualDesktopManagement = registry.createPlasmaVirtualDesktopManagement(plasmaVirtualDesktopManagementSpy.first().first().value<quint32>(), plasmaVirtualDesktopManagementSpy.first().last().value<quint32>(), this);
|
||||||
|
|
||||||
m_windowManagementInterface = m_display->createPlasmaWindowManagement(m_display);
|
m_windowManagementInterface = m_display->createPlasmaWindowManagement(m_display);
|
||||||
m_windowManagementInterface->create();
|
|
||||||
QVERIFY(m_windowManagementInterface->isValid());
|
|
||||||
m_windowManagementInterface->setPlasmaVirtualDesktopManagementInterface(m_plasmaVirtualDesktopManagementInterface);
|
m_windowManagementInterface->setPlasmaVirtualDesktopManagementInterface(m_plasmaVirtualDesktopManagementInterface);
|
||||||
|
|
||||||
QVERIFY(windowManagementSpy.wait());
|
QVERIFY(windowManagementSpy.wait());
|
||||||
|
|
|
@ -101,7 +101,6 @@ void PlasmaWindowModelTest::init()
|
||||||
QVERIFY(m_display->isRunning());
|
QVERIFY(m_display->isRunning());
|
||||||
m_display->createShm();
|
m_display->createShm();
|
||||||
m_pwInterface = m_display->createPlasmaWindowManagement();
|
m_pwInterface = m_display->createPlasmaWindowManagement();
|
||||||
m_pwInterface->create();
|
|
||||||
m_plasmaVirtualDesktopManagementInterface = m_display->createPlasmaVirtualDesktopManagement(m_display);
|
m_plasmaVirtualDesktopManagementInterface = m_display->createPlasmaVirtualDesktopManagement(m_display);
|
||||||
m_plasmaVirtualDesktopManagementInterface->createDesktop("desktop1");
|
m_plasmaVirtualDesktopManagementInterface->createDesktop("desktop1");
|
||||||
m_plasmaVirtualDesktopManagementInterface->createDesktop("desktop2");
|
m_plasmaVirtualDesktopManagementInterface->createDesktop("desktop2");
|
||||||
|
@ -870,7 +869,7 @@ void PlasmaWindowModelTest::testChangeWindowAfterModelDestroy_data()
|
||||||
#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 28)
|
#if KWAYLANDSERVER_ENABLE_DEPRECATED_SINCE(5, 28)
|
||||||
QTest::newRow("iconname" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setThemedIconName) << QVariant(QStringLiteral("foo"));
|
QTest::newRow("iconname" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setThemedIconName) << QVariant(QStringLiteral("foo"));
|
||||||
#endif
|
#endif
|
||||||
QTest::newRow("icon" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setIcon) << QVariant::fromValue(QIcon::fromTheme(QStringLiteral("foo")));
|
QTest::newRow("icon" ) << &PlasmaWindow::iconChanged << QVariant::fromValue(&PlasmaWindowInterface::setIcon) << QVariant(QIcon::fromTheme(QStringLiteral("foo")));
|
||||||
QTest::newRow("vd") << &PlasmaWindow::virtualDesktopChanged << QVariant::fromValue(&PlasmaWindowInterface::setVirtualDesktop) << QVariant(2u);
|
QTest::newRow("vd") << &PlasmaWindow::virtualDesktopChanged << QVariant::fromValue(&PlasmaWindowInterface::setVirtualDesktop) << QVariant(2u);
|
||||||
QTest::newRow("unmapped") << &PlasmaWindow::unmapped << QVariant::fromValue(&PlasmaWindowInterface::unmap) << QVariant();
|
QTest::newRow("unmapped") << &PlasmaWindow::unmapped << QVariant::fromValue(&PlasmaWindowInterface::unmap) << QVariant();
|
||||||
}
|
}
|
||||||
|
@ -901,6 +900,8 @@ void PlasmaWindowModelTest::testChangeWindowAfterModelDestroy()
|
||||||
(w->*(setter.value<ServerWindowStringSetter>()))(value.toString());
|
(w->*(setter.value<ServerWindowStringSetter>()))(value.toString());
|
||||||
} else if (QMetaType::Type(value.type()) == QMetaType::UInt) {
|
} else if (QMetaType::Type(value.type()) == QMetaType::UInt) {
|
||||||
(w->*(setter.value<ServerWindowQuint32Setter>()))(value.toUInt());
|
(w->*(setter.value<ServerWindowQuint32Setter>()))(value.toUInt());
|
||||||
|
} else if (QMetaType::Type(value.type()) == QMetaType::QIcon) {
|
||||||
|
(w->*(setter.value<ServerWindowIconSetter>()))(value.value<QIcon>());
|
||||||
} else if (!value.isValid()) {
|
} else if (!value.isValid()) {
|
||||||
(w->*(setter.value<ServerWindowVoidSetter>()))();
|
(w->*(setter.value<ServerWindowVoidSetter>()))();
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,8 +137,6 @@ void TestWindowManagement::init()
|
||||||
|
|
||||||
|
|
||||||
m_windowManagementInterface = m_display->createPlasmaWindowManagement(m_display);
|
m_windowManagementInterface = m_display->createPlasmaWindowManagement(m_display);
|
||||||
m_windowManagementInterface->create();
|
|
||||||
QVERIFY(m_windowManagementInterface->isValid());
|
|
||||||
|
|
||||||
QVERIFY(windowManagementSpy.wait());
|
QVERIFY(windowManagementSpy.wait());
|
||||||
m_windowManagement = m_registry->createPlasmaWindowManagement(windowManagementSpy.first().first().value<quint32>(), windowManagementSpy.first().last().value<quint32>(), this);
|
m_windowManagement = m_registry->createPlasmaWindowManagement(windowManagementSpy.first().first().value<quint32>(), windowManagementSpy.first().last().value<quint32>(), this);
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,9 +10,6 @@
|
||||||
|
|
||||||
#include <KWaylandServer/kwaylandserver_export.h>
|
#include <KWaylandServer/kwaylandserver_export.h>
|
||||||
|
|
||||||
#include "global.h"
|
|
||||||
#include "resource.h"
|
|
||||||
|
|
||||||
class QSize;
|
class QSize;
|
||||||
|
|
||||||
namespace KWaylandServer
|
namespace KWaylandServer
|
||||||
|
@ -22,15 +19,17 @@ class Display;
|
||||||
class PlasmaWindowInterface;
|
class PlasmaWindowInterface;
|
||||||
class SurfaceInterface;
|
class SurfaceInterface;
|
||||||
class PlasmaVirtualDesktopManagementInterface;
|
class PlasmaVirtualDesktopManagementInterface;
|
||||||
|
class PlasmaWindowManagementInterfacePrivate;
|
||||||
|
class PlasmaWindowInterfacePrivate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @todo Add documentation
|
* @todo Add documentation
|
||||||
*/
|
*/
|
||||||
class KWAYLANDSERVER_EXPORT PlasmaWindowManagementInterface : public Global
|
class KWAYLANDSERVER_EXPORT PlasmaWindowManagementInterface : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
virtual ~PlasmaWindowManagementInterface();
|
~PlasmaWindowManagementInterface() override;
|
||||||
enum class ShowingDesktopState {
|
enum class ShowingDesktopState {
|
||||||
Disabled,
|
Disabled,
|
||||||
Enabled
|
Enabled
|
||||||
|
@ -84,8 +83,7 @@ Q_SIGNALS:
|
||||||
private:
|
private:
|
||||||
friend class Display;
|
friend class Display;
|
||||||
explicit PlasmaWindowManagementInterface(Display *display, QObject *parent);
|
explicit PlasmaWindowManagementInterface(Display *display, QObject *parent);
|
||||||
class Private;
|
QScopedPointer<PlasmaWindowManagementInterfacePrivate> d;
|
||||||
Private *d_func() const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -95,7 +93,7 @@ class KWAYLANDSERVER_EXPORT PlasmaWindowInterface : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
virtual ~PlasmaWindowInterface();
|
~PlasmaWindowInterface() override;
|
||||||
|
|
||||||
void setTitle(const QString &title);
|
void setTitle(const QString &title);
|
||||||
void setAppId(const QString &appId);
|
void setAppId(const QString &appId);
|
||||||
|
@ -317,10 +315,11 @@ Q_SIGNALS:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class PlasmaWindowManagementInterface;
|
friend class PlasmaWindowManagementInterface;
|
||||||
|
friend class PlasmaWindowInterfacePrivate;
|
||||||
|
friend class PlasmaWindowManagementInterfacePrivate;
|
||||||
explicit PlasmaWindowInterface(PlasmaWindowManagementInterface *wm, QObject *parent);
|
explicit PlasmaWindowInterface(PlasmaWindowManagementInterface *wm, QObject *parent);
|
||||||
|
|
||||||
class Private;
|
QScopedPointer<PlasmaWindowInterfacePrivate> d;
|
||||||
const QScopedPointer<Private> d;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue