!16 Update package

From: @lliuzhi 
Reviewed-by: @ut-layne-yang 
Signed-off-by: @ut-layne-yang
This commit is contained in:
openeuler-ci-bot 2023-11-27 09:35:33 +00:00 committed by Gitee
commit aef89c904f
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 3668 additions and 226 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,145 +0,0 @@
From 1b797d6e15ece7f87af2d86be4ad19f885619285 Mon Sep 17 00:00:00 2001
From: root <root@localhost.localdomain>
Date: Wed, 26 Oct 2022 13:43:00 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A1=8C=E9=9D=A2=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E7=84=A6=E7=82=B9=E4=B8=A2=E5=A4=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
bugfix for BUG165587 BUG165577 BUG165563
---
xcb/windoweventhook.cpp | 88 +----------------------------------------
xcb/windoweventhook.h | 3 --
2 files changed, 2 insertions(+), 89 deletions(-)
diff --git a/xcb/windoweventhook.cpp b/xcb/windoweventhook.cpp
index 4c4bd78..8543a1f 100644
--- a/xcb/windoweventhook.cpp
+++ b/xcb/windoweventhook.cpp
@@ -326,21 +326,6 @@ void WindowEventHook::handleClientMessageEvent(QXcbWindow *window, const xcb_cli
}
}
-bool WindowEventHook::relayFocusToModalWindow(QWindow *w, QXcbConnection *connection)
-{
- QWindow *modal_window = 0;
- if (QGuiApplicationPrivate::instance()->isWindowBlocked(w,&modal_window) && modal_window != w) {
- if (!modal_window->isExposed())
- return false;
-
- modal_window->requestActivate();
- connection->flush();
- return true;
- }
-
- return false;
-}
-
void WindowEventHook::handleFocusInEvent(QXcbWindow *window, const xcb_focus_in_event_t *event)
{
// Ignore focus events that are being sent only because the pointer is over
@@ -357,63 +342,7 @@ void WindowEventHook::handleFocusInEvent(QXcbWindow *window, const xcb_focus_in_
return;
}
- if (relayFocusToModalWindow(w, window->connection()))
- return;
-
-#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
- window->connection()->focusInTimer().stop();
-#endif
-
-#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
- window->connection()->setFocusWindow(w);
-#else
- window->connection()->setFocusWindow(static_cast<QXcbWindow *>(w->handle()));
-#endif
-
- QWindowSystemInterface::handleWindowActivated(w, Qt::ActiveWindowFocusReason);
-}
-
-enum QX11EmbedMessageType {
- XEMBED_EMBEDDED_NOTIFY = 0,
- XEMBED_WINDOW_ACTIVATE = 1,
- XEMBED_WINDOW_DEACTIVATE = 2,
- XEMBED_REQUEST_FOCUS = 3,
- XEMBED_FOCUS_IN = 4,
- XEMBED_FOCUS_OUT = 5,
- XEMBED_FOCUS_NEXT = 6,
- XEMBED_FOCUS_PREV = 7,
- XEMBED_MODALITY_ON = 10,
- XEMBED_MODALITY_OFF = 11,
- XEMBED_REGISTER_ACCELERATOR = 12,
- XEMBED_UNREGISTER_ACCELERATOR = 13,
- XEMBED_ACTIVATE_ACCELERATOR = 14
-};
-
-static bool focusInPeeker(QXcbConnection *connection, xcb_generic_event_t *event)
-{
- if (!event) {
- // FocusIn event is not in the queue, proceed with FocusOut normally.
- QWindowSystemInterface::handleWindowActivated(0, Qt::ActiveWindowFocusReason);
- return true;
- }
- uint response_type = event->response_type & ~0x80;
- if (response_type == XCB_FOCUS_IN) {
- // Ignore focus events that are being sent only because the pointer is over
- // our window, even if the input focus is in a different window.
- xcb_focus_in_event_t *e = (xcb_focus_in_event_t *) event;
- if (e->detail != XCB_NOTIFY_DETAIL_POINTER)
- return true;
- }
-
- /* We are also interested in XEMBED_FOCUS_IN events */
- if (response_type == XCB_CLIENT_MESSAGE) {
- xcb_client_message_event_t *cme = (xcb_client_message_event_t *)event;
- if (cme->type == connection->atom(QXcbAtom::_XEMBED)
- && cme->data.data32[1] == XEMBED_FOCUS_IN)
- return true;
- }
-
- return false;
+ VtableHook::callOriginalFun(window, &QXcbWindow::handleFocusInEvent, event);
}
void WindowEventHook::handleFocusOutEvent(QXcbWindow *window, const xcb_focus_out_event_t *event)
@@ -428,20 +357,7 @@ void WindowEventHook::handleFocusOutEvent(QXcbWindow *window, const xcb_focus_ou
if (event->detail == XCB_NOTIFY_DETAIL_POINTER)
return;
- QWindow *w = static_cast<QWindowPrivate *>(QObjectPrivate::get(window->window()))->eventReceiver();
-
- if (relayFocusToModalWindow(w, window->connection()))
- return;
-
- window->connection()->setFocusWindow(0);
- // Do not set the active window to 0 if there is a FocusIn coming.
- // There is however no equivalent for XPutBackEvent so register a
- // callback for QXcbConnection instead.
-#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
- window->connection()->focusInTimer().start(100);
-#else
- window->connection()->addPeekFunc(focusInPeeker);
-#endif
+ VtableHook::callOriginalFun(window, &QXcbWindow::handleFocusOutEvent, event);
}
void WindowEventHook::handlePropertyNotifyEvent(QXcbWindowEventListener *el, const xcb_property_notify_event_t *event)
diff --git a/xcb/windoweventhook.h b/xcb/windoweventhook.h
index 308d30a..83a3939 100644
--- a/xcb/windoweventhook.h
+++ b/xcb/windoweventhook.h
@@ -44,9 +44,6 @@ public:
#else
static bool windowEvent(QXcbWindow *window, QEvent *event);
#endif
-
-private:
- static bool relayFocusToModalWindow(QWindow *w, QXcbConnection *connection);
};
DPP_END_NAMESPACE
--
2.27.0

View File

@ -1,36 +0,0 @@
# qt5dxcb-plugin
#### Description
qt5dxcb-plugin is the Qt platform integration plugin for Deepin Desktop Environment
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,37 +0,0 @@
# qt5dxcb-plugin
#### 介绍
qt5dxcb-plugin is the Qt platform integration plugin for Deepin Desktop Environment
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 码云特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

Binary file not shown.

View File

@ -1,12 +1,14 @@
%global repo qt5platform-plugins
Name: dde-qt5platform-plugins
Version: 5.0.42
Release: 1
Version: 5.0.71
Release: 3
Summary: Qt platform plugins for DDE
License: GPLv3
URL: https://github.com/linuxdeepin/deepin-desktop-schemas
URL: https://github.com/linuxdeepin/qt5platform-plugins
Source0: %{name}-%{version}.tar.gz
Patch9000: 9000-fix-lose-cursor-issue.patch
Patch0: 0001-modify-x11-don-t-xcb-in-keys.patch
%description
%{summary}.
@ -69,8 +71,9 @@ BuildRequires: qt5-qtmultimedia-devel
%prep
%autosetup -p1
sed -i 's|wayland/wayland.pro|#wayland/wayland.pro|' qt5platform-plugins.pro
%autosetup -p1 -n %{repo}-%{version}
rm -r xcb/libqt5xcbqpa-dev wayland/qtwayland-dev
sed -i 's|error(Not support Qt Version: .*)|INCLUDEPATH += %{_qt5_includedir}/QtXcb|' xcb/linux.pri
%build
# help find (and prefer) qt5 utilities, e.g. qmake, lrelease
@ -88,10 +91,20 @@ popd
%files -n dde-qt5wayland-plugin
#%{_libdir}/qt5/plugins/platforms/libdwayland.so
#%{_libdir}/qt5/plugins/wayland-shell-integration/libkwayland-shell.so
%{_libdir}/qt5/plugins/platforms/libdwayland.so
%{_libdir}/qt5/plugins/wayland-shell-integration/libkwayland-shell.so
%changelog
* Mon Sep 18 2023 leeffo <liweiganga@uniontech.com> - 5.0.71-3
- modify x11 don't xcb in keys
- add qt5-qtbase-5.15.10 support
* Mon Sep 04 2023 yangxianzhao <yangxianzhao@uniontech.com> - 5.0.71-2
- add script for build on Qt5-qtbase-5.15.10
* Tue Aug 01 2023 leeffo <liweiganga@uniontech.com> - 5.0.71-1
- upgrade to version 5.0.71
* Mon Apr 03 2023 liweiganga <liweiganga@uniontech.com> - 5.0.42-1
- update: update to 5.0.42