From 1a75abf8b0100292612dc0a9367b5a3f4a35e15e Mon Sep 17 00:00:00 2001 From: deepin-ci-robot Date: Tue, 9 Jan 2024 09:51:36 +0000 Subject: [PATCH] sync: from linuxdeepin/dtkwidget Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: https://github.com/linuxdeepin/dtkwidget/pull/541 --- include/widgets/danchors.h | 1 - include/widgets/darrowbutton.h | 1 - include/widgets/darrowrectangle.h | 4 ---- include/widgets/dloadingindicator.h | 1 - src/widgets/darrowrectangle.cpp | 1 + src/widgets/dcrumbedit.cpp | 9 +++++---- 6 files changed, 6 insertions(+), 11 deletions(-) diff --git a/include/widgets/danchors.h b/include/widgets/danchors.h index caa275f1c..9d1bdb1fd 100644 --- a/include/widgets/danchors.h +++ b/include/widgets/danchors.h @@ -11,7 +11,6 @@ #include #include #include -#include #include diff --git a/include/widgets/darrowbutton.h b/include/widgets/darrowbutton.h index f86cd0ea5..94334943d 100644 --- a/include/widgets/darrowbutton.h +++ b/include/widgets/darrowbutton.h @@ -8,7 +8,6 @@ #include #include #include -#include #include #include diff --git a/include/widgets/darrowrectangle.h b/include/widgets/darrowrectangle.h index a0050eff2..cf9ca6cc5 100644 --- a/include/widgets/darrowrectangle.h +++ b/include/widgets/darrowrectangle.h @@ -11,13 +11,9 @@ #include #include #include -#include -#include #include #include -#include -#include #include DWIDGET_BEGIN_NAMESPACE diff --git a/include/widgets/dloadingindicator.h b/include/widgets/dloadingindicator.h index 52c83e631..87d1d1efe 100644 --- a/include/widgets/dloadingindicator.h +++ b/include/widgets/dloadingindicator.h @@ -15,7 +15,6 @@ #include #include #include -#include #include #include diff --git a/src/widgets/darrowrectangle.cpp b/src/widgets/darrowrectangle.cpp index dc340f528..9fb56dda2 100644 --- a/src/widgets/darrowrectangle.cpp +++ b/src/widgets/darrowrectangle.cpp @@ -6,6 +6,7 @@ #include "dplatformwindowhandle.h" #include "dapplication.h" #include "private/darrowrectangle_p.h" +#include "dgraphicsgloweffect.h" #include "dstyle.h" #include diff --git a/src/widgets/dcrumbedit.cpp b/src/widgets/dcrumbedit.cpp index 2cad870f3..41bb51f81 100644 --- a/src/widgets/dcrumbedit.cpp +++ b/src/widgets/dcrumbedit.cpp @@ -306,8 +306,6 @@ class DCrumbEditPrivate : public DCORE_NAMESPACE::DObjectPrivate void registerHandler(QAbstractTextDocumentLayout *layout) { - D_Q(DCrumbEdit); - for (int i = QTextFormat::UserObject + 1; ; ++i) { if (!layout->handlerForObject(i)) { objectType = i; @@ -379,7 +377,9 @@ class DCrumbEditPrivate : public DCORE_NAMESPACE::DObjectPrivate if (cursor.charFormat().objectType() != objectType) return false; - DCrumbTextFormat format(cursor.charFormat()); + auto fmt = q->document()->documentLayout()->formatAt(mousePos); + DCrumbTextFormat format = formats.value(fmt.stringProperty(QTextFormat::UserProperty + 1)); + currentText = format.text(); currentBrush = format.background(); @@ -391,7 +391,8 @@ class DCrumbEditPrivate : public DCORE_NAMESPACE::DObjectPrivate makeCrumb(); - if (mousePos.x() < q->cursorRect().left()) + if (mousePos.x() < q->cursorRect().left() || + mousePos.y() < q->cursorRect().top()) cursor.setPosition(cursor.position() - 1, QTextCursor::KeepAnchor); else cursor.setPosition(cursor.position() + 1, QTextCursor::KeepAnchor);