| | |
| | | |
| | | #include <QtGui/QPen> |
| | | #include <QtGui/QPainter> |
| | | #include <QtGui/QScreen> |
| | | |
| | | #include "qwkglobal_p.h" |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | void AbstractWindowContext::setWindowAttribute(const QString &key, const QVariant &var) { |
| | | auto it = m_windowAttributes.find(key); |
| | | if (it.value() == var) |
| | | return; |
| | | |
| | | auto newVar = var; |
| | | auto oldVar = it.value(); |
| | | void *a[] = { |
| | | &const_cast<QString &>(key), |
| | | &newVar, |
| | | &oldVar, |
| | | }; |
| | | virtual_hook(WindowAttributeChangedHook, a); |
| | | } |
| | | |
| | | bool AbstractWindowContext::setHitTestVisible(const QObject *obj, bool visible) { |
| | | Q_ASSERT(obj); |
| | | if (!obj) { |
| | |
| | | |
| | | bool AbstractWindowContext::setSystemButton(WindowAgentBase::SystemButton button, |
| | | QObject *obj) { |
| | | Q_ASSERT(obj); |
| | | Q_ASSERT(button != WindowAgentBase::Unknown); |
| | | if (!obj || (button == WindowAgentBase::Unknown)) { |
| | | if (button == WindowAgentBase::Unknown) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | |
| | | bool AbstractWindowContext::setTitleBar(QObject *item) { |
| | | Q_ASSERT(item); |
| | | if (!item) { |
| | | return false; |
| | | } |
| | | |
| | | if (m_titleBar == item) { |
| | | return false; |
| | | } |
| | |
| | | void AbstractWindowContext::virtual_hook(int id, void *data) { |
| | | switch (id) { |
| | | case CentralizeHook: { |
| | | // TODO: Qt |
| | | QRect screenGeometry = m_windowHandle->screen()->geometry(); |
| | | int x = screenGeometry.width() / 2 - m_windowHandle->width() / 2; |
| | | int y = screenGeometry.height() / 2 - m_windowHandle->height() / 2; |
| | | m_windowHandle->setPosition(x, y); |
| | | break; |
| | | } |
| | | |
| | | case ShowSystemMenuHook: { |
| | | // TODO: Qt |
| | | case RaiseWindowHook: { |
| | | if (m_windowHandle->windowStates() & Qt::WindowMinimized) |
| | | m_windowHandle->showNormal(); |
| | | m_windowHandle->raise(); |
| | | break; |
| | | } |
| | | |