From 2d2fc799bc698ebf7e7c8bcc394366d0d7bf071b Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周二, 20 2月 2024 18:18:39 +0800 Subject: [PATCH] Partially finish the bug after window close and reshow --- src/widgets/widgetitemdelegate_p.h | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/widgets/widgetitemdelegate_p.h b/src/widgets/widgetitemdelegate_p.h index cc11c54..19de708 100644 --- a/src/widgets/widgetitemdelegate_p.h +++ b/src/widgets/widgetitemdelegate_p.h @@ -1,10 +1,23 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #ifndef WIDGETITEMDELEGATE_P_H #define WIDGETITEMDELEGATE_P_H + +// +// W A R N I N G !!! +// ----------------- +// +// This file is not part of the QWindowKit API. It is used purely as an +// implementation detail. This header file may change from version to +// version without notice, or may even be removed. +// #include <QtCore/QObject> #include <QtGui/QWindow> -#include <QWKCore/windowitemdelegate.h> +#include <QWKCore/private/windowitemdelegate_p.h> #include <QWKWidgets/qwkwidgetsglobal.h> namespace QWK { @@ -15,13 +28,26 @@ ~WidgetItemDelegate() override; public: - QWindow *window(QObject *obj) const override; - - bool isEnabled(QObject *obj) const override; - bool isVisible(QObject *obj) const override; + QWindow *window(const QObject *obj) const override; + bool isEnabled(const QObject *obj) const override; + bool isVisible(const QObject *obj) const override; QRect mapGeometryToScene(const QObject *obj) const override; - bool resetQtGrabbedControl() const override; + QWindow *hostWindow(const QObject *host) const override; + bool isHostSizeFixed(const QObject *host) const override; + bool isWindowActive(const QObject *host) const override; + Qt::WindowStates getWindowState(const QObject *host) const override; + Qt::WindowFlags getWindowFlags(const QObject *host) const override; + QRect getGeometry(const QObject *host) const override; + + void resetQtGrabbedControl(QObject *host) const override; + void setWindowState(QObject *host, Qt::WindowStates state) const override; + void setCursorShape(QObject *host, Qt::CursorShape shape) const override; + void restoreCursorShape(QObject *host) const override; + void setWindowFlags(QObject *host, Qt::WindowFlags flags) const override; + void setWindowVisible(QObject *host, bool visible) const override; + void setGeometry(QObject *host, const QRect &rect) override; + void bringWindowToTop(QObject *host) const override; }; } -- Gitblit v1.9.1