From 3871bfc5d3aff45e498fa2944c27e6eb5d146c8e Mon Sep 17 00:00:00 2001 From: SineStriker <trueful@163.com> Date: 周三, 20 12月 2023 19:56:32 +0800 Subject: [PATCH] Add mac hot-switch implementations --- src/core/windowagentbase.cpp | 50 ++++++++++++++++++++++++++++---------------------- 1 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/core/windowagentbase.cpp b/src/core/windowagentbase.cpp index d2b9e1e..28c9945 100644 --- a/src/core/windowagentbase.cpp +++ b/src/core/windowagentbase.cpp @@ -50,37 +50,43 @@ WindowAgentBase::~WindowAgentBase() = default; + QVariant WindowAgentBase::windowAttribute(const QString &key) const { + Q_D(const WindowAgentBase); + return d->context->windowAttribute(key); + } + + void WindowAgentBase::setWindowAttribute(const QString &key, const QVariant &var) { + Q_D(WindowAgentBase); + d->context->setWindowAttribute(key, var); + } + + bool WindowAgentBase::isEnabled() const { + Q_D(const WindowAgentBase); + return d->context->isEnabled(); + } + + void WindowAgentBase::setEnabled(bool enabled) { + Q_D(WindowAgentBase); + if (enabled == d->context->isEnabled()) { + return; + } + d->context->setEnabled(enabled); + Q_EMIT enabledChanged(enabled); + } + void WindowAgentBase::showSystemMenu(const QPoint &pos) { Q_D(WindowAgentBase); d->context->showSystemMenu(pos); } - void WindowAgentBase::startSystemMove(const QPoint &pos) { - Q_D(WindowAgentBase); - auto win = d->context->window(); - if (!win) { - return; - } - - Q_UNUSED(pos) - win->startSystemMove(); - } - - void WindowAgentBase::startSystemResize(Qt::Edges edges, const QPoint &pos) { - Q_D(WindowAgentBase); - auto win = d->context->window(); - if (!win) { - return; - } - - Q_UNUSED(pos) - win->startSystemResize(edges); - } - void WindowAgentBase::centralize() { + Q_D(WindowAgentBase); + d->context->virtual_hook(AbstractWindowContext::CentralizeHook, nullptr); } void WindowAgentBase::raise() { + Q_D(WindowAgentBase); + d->context->virtual_hook(AbstractWindowContext::RaiseWindowHook, nullptr); } WindowAgentBase::WindowAgentBase(WindowAgentBasePrivate &d, QObject *parent) -- Gitblit v1.9.1