Remove window type from internal window and window system plugin

This is only set from KWindowSystem::setType(), which is unused on Wayland
master
Nicolas Fella 11 months ago
parent 87d29c60ea
commit 39fe6cd286

@ -27,8 +27,6 @@
#include <linux/input.h>
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<NET::WindowType>("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<InternalWindow *>();
QVERIFY(internalWindow);
QCOMPARE(internalWindow->windowType(), windowType);
}
void InternalWindowTest::testChangeWindowType_data()
{
QTest::addColumn<NET::WindowType>("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<InternalWindow *>();
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);

@ -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<NET::WindowType>();
}
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<NET::WindowType>();
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()

@ -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;

@ -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()

Loading…
Cancel
Save