From 39fe6cd28681ceed9b222ae947a0a43d9a96f522 Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Fri, 13 Oct 2023 22:36:33 +0200 Subject: [PATCH] Remove window type from internal window and window system plugin This is only set from KWindowSystem::setType(), which is unused on Wayland --- autotests/integration/internal_window.cpp | 82 ----------------------- src/internalwindow.cpp | 11 +-- src/internalwindow.h | 1 - src/plugins/windowsystem/windowsystem.cpp | 10 +-- 4 files changed, 2 insertions(+), 102 deletions(-) diff --git a/autotests/integration/internal_window.cpp b/autotests/integration/internal_window.cpp index d36caecabd..9ca52f2af7 100644 --- a/autotests/integration/internal_window.cpp +++ b/autotests/integration/internal_window.cpp @@ -27,8 +27,6 @@ #include -Q_DECLARE_METATYPE(NET::WindowType); - namespace KWin { @@ -57,10 +55,6 @@ private Q_SLOTS: void testModifierScroll(); void testPopup(); void testScale(); - void testWindowType_data(); - void testWindowType(); - void testChangeWindowType_data(); - void testChangeWindowType(); void testEffectWindow(); void testReentrantMoveResize(); void testDismissPopup(); @@ -659,82 +653,6 @@ void InternalWindowTest::testScale() QCOMPARE(internalWindow->bufferScale(), 2); } -void InternalWindowTest::testWindowType_data() -{ - QTest::addColumn("windowType"); - - QTest::newRow("normal") << NET::Normal; - QTest::newRow("desktop") << NET::Desktop; - QTest::newRow("Dock") << NET::Dock; - QTest::newRow("Toolbar") << NET::Toolbar; - QTest::newRow("Menu") << NET::Menu; - QTest::newRow("Dialog") << NET::Dialog; - QTest::newRow("Utility") << NET::Utility; - QTest::newRow("Splash") << NET::Splash; - QTest::newRow("DropdownMenu") << NET::DropdownMenu; - QTest::newRow("PopupMenu") << NET::PopupMenu; - QTest::newRow("Tooltip") << NET::Tooltip; - QTest::newRow("Notification") << NET::Notification; - QTest::newRow("ComboBox") << NET::ComboBox; - QTest::newRow("OnScreenDisplay") << NET::OnScreenDisplay; - QTest::newRow("CriticalNotification") << NET::CriticalNotification; - QTest::newRow("AppletPopup") << NET::AppletPopup; -} - -void InternalWindowTest::testWindowType() -{ - QSignalSpy windowAddedSpy(workspace(), &Workspace::windowAdded); - HelperWindow win; - win.setGeometry(0, 0, 100, 100); - QFETCH(NET::WindowType, windowType); - KWindowSystem::setType(win.winId(), windowType); - win.show(); - QTRY_COMPARE(windowAddedSpy.count(), 1); - auto internalWindow = windowAddedSpy.first().first().value(); - QVERIFY(internalWindow); - QCOMPARE(internalWindow->windowType(), windowType); -} - -void InternalWindowTest::testChangeWindowType_data() -{ - QTest::addColumn("windowType"); - - QTest::newRow("desktop") << NET::Desktop; - QTest::newRow("Dock") << NET::Dock; - QTest::newRow("Toolbar") << NET::Toolbar; - QTest::newRow("Menu") << NET::Menu; - QTest::newRow("Dialog") << NET::Dialog; - QTest::newRow("Utility") << NET::Utility; - QTest::newRow("Splash") << NET::Splash; - QTest::newRow("DropdownMenu") << NET::DropdownMenu; - QTest::newRow("PopupMenu") << NET::PopupMenu; - QTest::newRow("Tooltip") << NET::Tooltip; - QTest::newRow("Notification") << NET::Notification; - QTest::newRow("ComboBox") << NET::ComboBox; - QTest::newRow("OnScreenDisplay") << NET::OnScreenDisplay; - QTest::newRow("CriticalNotification") << NET::CriticalNotification; - QTest::newRow("AppletPopup") << NET::AppletPopup; -} - -void InternalWindowTest::testChangeWindowType() -{ - QSignalSpy windowAddedSpy(workspace(), &Workspace::windowAdded); - HelperWindow win; - win.setGeometry(0, 0, 100, 100); - win.show(); - QTRY_COMPARE(windowAddedSpy.count(), 1); - auto internalWindow = windowAddedSpy.first().first().value(); - QVERIFY(internalWindow); - QCOMPARE(internalWindow->windowType(), NET::Normal); - - QFETCH(NET::WindowType, windowType); - KWindowSystem::setType(win.winId(), windowType); - QTRY_COMPARE(internalWindow->windowType(), windowType); - - KWindowSystem::setType(win.winId(), NET::Normal); - QTRY_COMPARE(internalWindow->windowType(), NET::Normal); -} - void InternalWindowTest::testEffectWindow() { QSignalSpy windowAddedSpy(workspace(), &Workspace::windowAdded); diff --git a/src/internalwindow.cpp b/src/internalwindow.cpp index 9995701bc1..66b3e10516 100644 --- a/src/internalwindow.cpp +++ b/src/internalwindow.cpp @@ -38,11 +38,6 @@ InternalWindow::InternalWindow(QWindow *handle) connect(m_handle, &QWindow::opacityChanged, this, &InternalWindow::setOpacity); connect(m_handle, &QWindow::destroyed, this, &InternalWindow::destroyWindow); - const QVariant windowType = m_handle->property("kwin_windowType"); - if (!windowType.isNull()) { - m_windowType = windowType.value(); - } - setCaption(m_handle->title()); setIcon(QIcon::fromTheme(QStringLiteral("kwin"))); setOnAllDesktops(true); @@ -118,10 +113,6 @@ bool InternalWindow::eventFilter(QObject *watched, QEvent *event) if (pe->propertyName() == s_shadowEnabledPropertyName) { updateShadow(); } - if (pe->propertyName() == "kwin_windowType") { - m_windowType = m_handle->property("kwin_windowType").value(); - workspace()->updateClientArea(); - } } return false; } @@ -156,7 +147,7 @@ QSizeF InternalWindow::maxSize() const NET::WindowType InternalWindow::windowType(bool direct) const { - return m_windowType; + return NET::Normal; } void InternalWindow::killWindow() diff --git a/src/internalwindow.h b/src/internalwindow.h index 4707b20e05..2129797853 100644 --- a/src/internalwindow.h +++ b/src/internalwindow.h @@ -94,7 +94,6 @@ private: QWindow *m_handle = nullptr; QString m_captionNormal; QString m_captionSuffix; - NET::WindowType m_windowType = NET::Normal; Qt::WindowFlags m_internalWindowFlags = Qt::WindowFlags(); bool m_userNoBorder = false; GraphicsBufferRef m_graphicsBufferRef; diff --git a/src/plugins/windowsystem/windowsystem.cpp b/src/plugins/windowsystem/windowsystem.cpp index 6845d6850d..0baab9cfcc 100644 --- a/src/plugins/windowsystem/windowsystem.cpp +++ b/src/plugins/windowsystem/windowsystem.cpp @@ -145,15 +145,7 @@ void WindowSystem::setState(WId win, NET::States state) void WindowSystem::setType(WId win, NET::WindowType windowType) { - const auto windows = qApp->allWindows(); - auto it = std::find_if(windows.begin(), windows.end(), [win](QWindow *w) { - return w->handle() && w->winId() == win; - }); - if (it == windows.end()) { - return; - } - - (*it)->setProperty("kwin_windowType", QVariant::fromValue(windowType)); + // KWin's windows don't support types } bool WindowSystem::showingDesktop()