MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / mouseDoubleClickEvent

Method mouseDoubleClickEvent

app/src/UI/WindowManager.cpp:2125–2152  ·  view source on GitHub ↗

* @brief Handles double-click events on window title bars to toggle maximize/restore. */

Source from the content-addressed store, hash-verified

2123 * @brief Handles double-click events on window title bars to toggle maximize/restore.
2124 */
2125void UI::WindowManager::mouseDoubleClickEvent(QMouseEvent* event)
2126{
2127 m_focusedWindow = topmostWindowAt(event->pos());
2128 if (!m_focusedWindow) {
2129 QQuickItem::mouseDoubleClickEvent(event);
2130 return;
2131 }
2132
2133 const int captionH = m_focusedWindow->property("captionHeight").toInt();
2134 const int externcW = m_focusedWindow->property("externControlWidth").toInt();
2135 const int buttonsW = m_focusedWindow->property("windowControlsWidth").toInt();
2136 const auto localPos = m_focusedWindow->mapFromItem(this, event->pos());
2137 if (localPos.y() <= captionH && localPos.x() <= m_focusedWindow->width() - buttonsW
2138 && localPos.x() > externcW) {
2139 const QString state = m_focusedWindow->property("state").toString();
2140
2141 if (state == "maximized")
2142 QMetaObject::invokeMethod(m_focusedWindow, "restoreClicked");
2143
2144 else if (state == "normal")
2145 QMetaObject::invokeMethod(m_focusedWindow, "maximizeClicked");
2146
2147 event->accept();
2148 return;
2149 }
2150
2151 QQuickItem::mouseDoubleClickEvent(event);
2152}

Callers

nothing calls this directly

Calls 4

posMethod · 0.80
xMethod · 0.80
widthMethod · 0.80
acceptMethod · 0.80

Tested by

no test coverage detected