Sine Striker
2023-12-13 f27ce8d30ff3aac11485426fe9bee83981551623
minor tweaks
4个文件已修改
78 ■■■■ 已修改文件
examples/mainwindow/mainwindow.cpp 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/core/contexts/win32windowcontext.cpp 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/quick/quickwindowagent_win.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/widgets/widgetwindowagent_win.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
examples/mainwindow/mainwindow.cpp
@@ -95,6 +95,13 @@
    auto clockWidget = new ClockWidget();
    clockWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    connect(clockWidget, &QAbstractButton::clicked, this, [this]() {
        if (!isMaximized()) {
            showMaximized();
        } else {
            showNormal();
        }
    });
    setMenuWidget(windowBar);
    setCentralWidget(clockWidget);
src/core/contexts/win32windowcontext.cpp
@@ -1937,7 +1937,7 @@
            case WM_THEMECHANGED:
            case WM_SYSCOLORCHANGE: {
                QEvent e(QEvent::UpdateRequest);
                QEvent e(QEvent::UpdateLater);
                dispatch(&e);
                break;
            }
@@ -1946,7 +1946,7 @@
                const QColor color = QColor::fromRgba(wParam);
                const auto blendWithOpacity = *reinterpret_cast<LPBOOL>(lParam);
                QEvent e(QEvent::UpdateRequest);
                QEvent e(QEvent::UpdateLater);
                dispatch(&e);
                break;
            }
@@ -1957,49 +1957,48 @@
                    const QColor color = getAccentColor();
                }
                QEvent e(QEvent::UpdateRequest);
                QEvent e(QEvent::UpdateLater);
                dispatch(&e);
                break;
            }
            case WM_SIZE: {
                const bool max = wParam == SIZE_MAXIMIZED;
                const bool min = wParam == SIZE_MINIMIZED;
                const bool full = isFullScreen(hWnd);
            // case WM_SIZE: {
            //     const bool max = wParam == SIZE_MAXIMIZED;
            //     const bool min = wParam == SIZE_MINIMIZED;
            //     const bool full = isFullScreen(hWnd);
                Qt::WindowStates states{};
                if (max) {
                    states |= Qt::WindowMaximized;
                }
                if (min) {
                    states |= Qt::WindowMinimized;
                }
                if (full) {
                    states |= Qt::WindowFullScreen;
                }
            //     Qt::WindowStates states{};
            //     if (max) {
            //         states |= Qt::WindowMaximized;
            //     }
            //     if (min) {
            //         states |= Qt::WindowMinimized;
            //     }
            //     if (full) {
            //         states |= Qt::WindowFullScreen;
            //     }
                QTimer::singleShot(0, this, [this, states] {
                    QWindowStateChangeEvent e(states);
                    dispatch(&e);
                });
                break;
            }
            //     // QTimer::singleShot(0, this, [this, states] {
            //     QWindowStateChangeEvent e(states);
            //     dispatch(&e);
            //     // });
            //     break;
            // }
            case WM_ACTIVATE: {
                const auto state = LOWORD(wParam);
                const bool active = state == WA_ACTIVE || state == WA_CLICKACTIVE;
                Q_UNUSED(state)
            // case WM_ACTIVATE: {
            //     const auto state = LOWORD(wParam);
            //     const bool active = state == WA_ACTIVE || state == WA_CLICKACTIVE;
            //     Q_UNUSED(state)
                QTimer::singleShot(0, this, [this, active] {
                    QEvent e(active ? QEvent::WindowActivate : QEvent::WindowDeactivate);
                    dispatch(&e);
                });
                break;
            }
            //     // QTimer::singleShot(0, this, [this, active] {
            //     QEvent e(active ? QEvent::WindowActivate : QEvent::WindowDeactivate);
            //     dispatch(&e);
            //     // });
            //     break;
            // }
            default:
                break;
        }
        return false;
    }
}
src/quick/quickwindowagent_win.cpp
@@ -82,7 +82,7 @@
    bool BorderItem::observe(QEvent *event) {
        switch (event->type()) {
            case QEvent::UpdateRequest: {
            case QEvent::UpdateLater: {
                update();
                break;
            }
src/widgets/widgetwindowagent_win.cpp
@@ -34,7 +34,7 @@
    protected:
        bool observe(QEvent *event) override {
            switch (event->type()) {
                case QEvent::UpdateRequest: {
                case QEvent::UpdateLater: {
                    widget->update();
                    break;
                }