29
void WindowModel::addWindow(const miral::WindowInfo &/*windowInfo*/)
34
void WindowModel::removeWindow(const miral::WindowInfo &/*windowInfo*/)
39
void WindowModel::focusWindow(const miral::WindowInfo &/*windowInfo*/, bool /*focus*/)
44
void WindowModel::moveWindow(miral::WindowInfo &/*windowInfo*/, mir::geometry::Point /*topLeft*/)
49
void WindowModel::resizeWindow(miral::WindowInfo &/*windowInfo*/, mir::geometry::Size /*newSize*/)
30
void WindowModel::addWindow(const miral::WindowInfo &windowInfo)
32
qDebug("WindowModel::addWindow");
33
m_windowIdStack.push_front(windowInfo.window().surface_id());
35
QSize size(windowInfo.window().size().width.as_int(),windowInfo.window().size().height.as_int());
36
QPoint position(windowInfo.window().top_left().x.as_int(), windowInfo.window().top_left().y.as_int());
38
WindowInfo info{ size, position, false, windowInfo.window() };
39
NumberedWindow window{ 0, info };
40
Q_EMIT windowAdded(window);
43
void WindowModel::removeWindow(const miral::WindowInfo &windowInfo)
45
qDebug("WindowModel::removeWindow");
46
const int pos = m_windowIdStack.indexOf(windowInfo.window().surface_id());
48
qDebug("Unknown window removed");
51
m_windowIdStack.removeAt(pos);
52
auto upos = static_cast<unsigned int>(pos);
53
Q_EMIT windowRemoved(upos);
56
void WindowModel::focusWindow(const miral::WindowInfo &windowInfo, const bool focus)
58
const int pos = m_windowIdStack.indexOf(windowInfo.window().surface_id());
60
qDebug("Unknown window focused");
63
auto upos = static_cast<unsigned int>(pos);
64
m_focusedWindowIndex = upos;
65
QSize size(windowInfo.window().size().width.as_int(),windowInfo.window().size().height.as_int());
66
QPoint position(windowInfo.window().top_left().x.as_int(), windowInfo.window().top_left().y.as_int());
68
WindowInfo info{ size, position, focus, windowInfo.window() };
69
DirtiedWindow window{ upos, info, WindowInfo::DirtyStates::Focus};
70
Q_EMIT windowChanged(window);
73
void WindowModel::moveWindow(const miral::WindowInfo &windowInfo, mir::geometry::Point topLeft)
75
const int pos = m_windowIdStack.indexOf(windowInfo.window().surface_id());
77
qDebug("Unknown window moved");
80
auto upos = static_cast<unsigned int>(pos);
81
const bool focused = (m_focusedWindowIndex == upos);
82
QSize size(windowInfo.window().size().width.as_int(),windowInfo.window().size().height.as_int());
83
QPoint position(topLeft.x.as_int(), topLeft.y.as_int());
85
WindowInfo info{ size, position, focused, windowInfo.window() };
86
DirtiedWindow window{ upos, info, WindowInfo::DirtyStates::Position};
87
Q_EMIT windowChanged(window);
90
void WindowModel::resizeWindow(const miral::WindowInfo &windowInfo, mir::geometry::Size newSize)
92
const int pos = m_windowIdStack.indexOf(windowInfo.window().surface_id());
94
qDebug("Unknown window resized");
97
auto upos = static_cast<unsigned int>(pos);
98
const bool focused = (m_focusedWindowIndex == upos);
99
QSize size(newSize.width.as_int(), newSize.height.as_int());
100
QPoint position(windowInfo.window().top_left().x.as_int(), windowInfo.window().top_left().y.as_int());
102
WindowInfo info{ size, position, focused, windowInfo.window() };
103
DirtiedWindow window{ upos, info, WindowInfo::DirtyStates::Size};
104
Q_EMIT windowChanged(window);
54
107
void WindowModel::raiseWindows(const std::vector<miral::Window> &/*windows*/)