From 5fee29b07067f47ae1a79682b11d6b368a9537a4 Mon Sep 17 00:00:00 2001 From: deepin-ci-robot Date: Mon, 23 Sep 2024 06:14:29 +0000 Subject: [PATCH] sync: from linuxdeepin/dtkwidget Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: https://github.com/linuxdeepin/dtkwidget/pull/604 --- examples/collections/progressbarexample.cpp | 31 +++ examples/collections/progressbarexample.h | 12 ++ include/DWidget/DBounceAnimation | 1 + include/DWidget/DIndeterminateProgressbar | 1 + include/widgets/dbounceanimation.h | 31 +++ include/widgets/dbuttonbox.h | 7 +- include/widgets/dfloatingmessage.h | 3 +- include/widgets/dindeterminateprogressbar.h | 26 +++ include/widgets/dmessagemanager.h | 8 +- include/widgets/dtoolbutton.h | 15 +- .../assets/icons/bloom/checkbox_checked.dci | Bin 0 -> 38566 bytes .../assets/icons/bloom/checkbox_unchecked.dci | Bin 0 -> 11832 bytes .../assets/icons/bloom/radio_checked.dci | Bin 0 -> 36440 bytes .../assets/icons/bloom/radio_unchecked.dci | Bin 0 -> 20330 bytes src/widgets/assets/icons/bloom/switch_off.dci | Bin 0 -> 66534 bytes src/widgets/assets/icons/bloom/switch_on.dci | Bin 0 -> 61778 bytes src/widgets/assets/icons/dtk-icon-theme.qrc | 6 + src/widgets/dbounceanimation.cpp | 107 ++++++++++ src/widgets/dbuttonbox.cpp | 182 +++++++++++++++++- src/widgets/dfloatingmessage.cpp | 21 +- src/widgets/dindeterminateprogressbar.cpp | 138 +++++++++++++ src/widgets/dlistview.cpp | 7 + src/widgets/dmainwindow.cpp | 3 + src/widgets/dmessagemanager.cpp | 127 ++++++++++-- src/widgets/dsearchedit.cpp | 55 +++++- src/widgets/dstyle.cpp | 26 ++- src/widgets/dswitchbutton.cpp | 47 ++++- src/widgets/dtitlebar.cpp | 8 +- src/widgets/dtoolbutton.cpp | 77 +++++++- src/widgets/private/dbounceanimation_p.h | 23 +++ src/widgets/private/dbuttonbox_p.h | 10 +- .../private/dindeterminateprogressbar_p.h | 29 +++ src/widgets/private/dmessagemanager_p.h | 33 ++++ src/widgets/private/dsearchedit_p.h | 2 + src/widgets/private/dswitchbutton_p.h | 4 + src/widgets/private/dtoolbutton_p.h | 26 +++ 36 files changed, 1012 insertions(+), 54 deletions(-) create mode 100644 include/DWidget/DBounceAnimation create mode 100644 include/DWidget/DIndeterminateProgressbar create mode 100644 include/widgets/dbounceanimation.h create mode 100644 include/widgets/dindeterminateprogressbar.h create mode 100644 src/widgets/assets/icons/bloom/checkbox_checked.dci create mode 100644 src/widgets/assets/icons/bloom/checkbox_unchecked.dci create mode 100644 src/widgets/assets/icons/bloom/radio_checked.dci create mode 100644 src/widgets/assets/icons/bloom/radio_unchecked.dci create mode 100644 src/widgets/assets/icons/bloom/switch_off.dci create mode 100644 src/widgets/assets/icons/bloom/switch_on.dci create mode 100644 src/widgets/dbounceanimation.cpp create mode 100644 src/widgets/dindeterminateprogressbar.cpp create mode 100644 src/widgets/private/dbounceanimation_p.h create mode 100644 src/widgets/private/dindeterminateprogressbar_p.h create mode 100644 src/widgets/private/dmessagemanager_p.h create mode 100644 src/widgets/private/dtoolbutton_p.h diff --git a/examples/collections/progressbarexample.cpp b/examples/collections/progressbarexample.cpp index 8c7010c9e..a79dfe507 100644 --- a/examples/collections/progressbarexample.cpp +++ b/examples/collections/progressbarexample.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include "progressbarexample.h" DWIDGET_USE_NAMESPACE @@ -28,6 +29,7 @@ ProgressBarExampleWindow::ProgressBarExampleWindow(QWidget *parent) addExampleWindow(new DProgressBarExample(this)); addExampleWindow(new DWaterProgressExample(this)); addExampleWindow(new DColoredProgressBarExample(this)); + addExampleWindow(new DIndeterminateProgressBarExample(this)); } DProgressBarExample::DProgressBarExample(QWidget *parent) @@ -181,3 +183,32 @@ int DColoredProgressBarExample::getFixedHeight() const { return 200; } + +DIndeterminateProgressBarExample::DIndeterminateProgressBarExample(QWidget *parent) + : ExampleWindowInterface(parent) +{ + auto mainLayout = new QVBoxLayout(this); + auto indeterBar = new DIndeterminateProgressbar(); + indeterBar->setFixedSize(500, 35); + mainLayout->addWidget(indeterBar, 0, Qt::AlignCenter); + setLayout(mainLayout); +} + +QString DIndeterminateProgressBarExample::getTitleName() const +{ + return "DIndeterminateProgressbar"; +} + +QString DIndeterminateProgressBarExample::getDescriptionInfo() const +{ + return QString("一个模糊进度条,不展示具体进度值,\n" + "用于等待时间不确定的情况。主要用\n" + "在小工具主窗口内部,作为一个中间状态\n" + "展示给用户,最终的结果往往会跟随成功\n" + "或者失败的图标。"); +} + +int DIndeterminateProgressBarExample::getFixedHeight() const +{ + return 200; +} diff --git a/examples/collections/progressbarexample.h b/examples/collections/progressbarexample.h index fb71257c5..c22ee1319 100644 --- a/examples/collections/progressbarexample.h +++ b/examples/collections/progressbarexample.h @@ -53,4 +53,16 @@ class DColoredProgressBarExample : public ExampleWindowInterface int getFixedHeight() const override; }; +class DIndeterminateProgressBarExample : public ExampleWindowInterface +{ + Q_OBJECT + +public: + explicit DIndeterminateProgressBarExample(QWidget *parent = nullptr); + + QString getTitleName() const override; + QString getDescriptionInfo() const override; + int getFixedHeight() const override; +}; + #endif // PROGRESSBAREXAMPLE_H diff --git a/include/DWidget/DBounceAnimation b/include/DWidget/DBounceAnimation new file mode 100644 index 000000000..b088a7338 --- /dev/null +++ b/include/DWidget/DBounceAnimation @@ -0,0 +1 @@ +#include "dbounceanimation.h" diff --git a/include/DWidget/DIndeterminateProgressbar b/include/DWidget/DIndeterminateProgressbar new file mode 100644 index 000000000..1d45e0b4a --- /dev/null +++ b/include/DWidget/DIndeterminateProgressbar @@ -0,0 +1 @@ +#include "dindeterminateprogressbar.h" diff --git a/include/widgets/dbounceanimation.h b/include/widgets/dbounceanimation.h new file mode 100644 index 000000000..b5ff98fa5 --- /dev/null +++ b/include/widgets/dbounceanimation.h @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef DBOUNCEANIMATION_H +#define DBOUNCEANIMATION_H + +#include +#include + +class QPropertyAnimation; +class QAbstractScrollArea; +class DBounceAnimationPrivate; +class DBounceAnimation : public QObject, public DTK_CORE_NAMESPACE::DObject +{ + Q_OBJECT +public: + explicit DBounceAnimation(QObject *parent = nullptr); + + void setAnimationTarget(QAbstractScrollArea *w); + void setAniMationEnable(bool enable); + +protected: + bool eventFilter(QObject *o, QEvent *e) override; + void bounceBack(Qt::Orientation orientation); + +private: + D_DECLARE_PRIVATE(DBounceAnimation) + +}; + +#endif // DBOUNCEANIMATION_H diff --git a/include/widgets/dbuttonbox.h b/include/widgets/dbuttonbox.h index c857e24e6..b5f31e114 100644 --- a/include/widgets/dbuttonbox.h +++ b/include/widgets/dbuttonbox.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2019 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2019 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -47,6 +47,8 @@ class DButtonBoxButton : public QAbstractButton, public DCORE_NAMESPACE::DObject void paintEvent(QPaintEvent *e) override; void keyPressEvent(QKeyEvent *event) override; bool event(QEvent *e) override; + + friend class DButtonBox; }; class DButtonBoxPrivate; @@ -78,6 +80,9 @@ class DButtonBox : public QWidget, public DCORE_NAMESPACE::DObject void buttonReleased(QAbstractButton *); void buttonToggled(QAbstractButton *, bool); +protected: + bool eventFilter(QObject *o, QEvent *e) override; + private: void paintEvent(QPaintEvent *e) override; diff --git a/include/widgets/dfloatingmessage.h b/include/widgets/dfloatingmessage.h index 382ee6b55..dea681929 100644 --- a/include/widgets/dfloatingmessage.h +++ b/include/widgets/dfloatingmessage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2019 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2019 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -38,6 +38,7 @@ class DFloatingMessage : public DFloatingWidget Q_SIGNALS: void closeButtonClicked(); + void messageClosed(); protected: using DFloatingWidget::setWidget; diff --git a/include/widgets/dindeterminateprogressbar.h b/include/widgets/dindeterminateprogressbar.h new file mode 100644 index 000000000..7883b1bea --- /dev/null +++ b/include/widgets/dindeterminateprogressbar.h @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#ifndef DINDETERMINATEPROGRESSBAR_H +#define DINDETERMINATEPROGRESSBAR_H + +#include +#include + +class DIndeterminateProgressbarPrivate; +class DIndeterminateProgressbar : public QWidget, public DTK_CORE_NAMESPACE::DObject +{ + Q_OBJECT +public: + explicit DIndeterminateProgressbar(QWidget *parent = nullptr); + +protected: + void paintEvent(QPaintEvent *e) override; + void resizeEvent(QResizeEvent *e) override; + +private: + D_DECLARE_PRIVATE(DIndeterminateProgressbar) +}; + +#endif // DINDETERMINATEPROGRESSBAR_H diff --git a/include/widgets/dmessagemanager.h b/include/widgets/dmessagemanager.h index 198815368..d3cb5e06a 100644 --- a/include/widgets/dmessagemanager.h +++ b/include/widgets/dmessagemanager.h @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later #ifndef DMESSAGEMANAGER_H #define DMESSAGEMANAGER_H -#include +#include #include #include #include @@ -16,9 +16,11 @@ DGUI_END_NAMESPACE DWIDGET_BEGIN_NAMESPACE class DFloatingMessage; -class DMessageManager: public QObject +class DMessageManagerPrivate; +class DMessageManager: public QObject, public DCORE_NAMESPACE::DObject { Q_OBJECT + D_DECLARE_PRIVATE(DMessageManager) private: DMessageManager(); //构造函数是私有的 diff --git a/include/widgets/dtoolbutton.h b/include/widgets/dtoolbutton.h index 95d4feb50..61982ea02 100644 --- a/include/widgets/dtoolbutton.h +++ b/include/widgets/dtoolbutton.h @@ -5,23 +5,34 @@ #ifndef DTOOLBUTTON_H #define DTOOLBUTTON_H -#include #include +#include + +#include +#include + DWIDGET_BEGIN_NAMESPACE +DGUI_USE_NAMESPACE -class LIBDTKWIDGETSHARED_EXPORT DToolButton : public QToolButton +class DToolButtonPrivate; +class LIBDTKWIDGETSHARED_EXPORT DToolButton : public QToolButton, public DCORE_NAMESPACE::DObject { Q_OBJECT public: DToolButton(QWidget *parent = nullptr); void setAlignment(Qt::Alignment flag); Qt::Alignment alignment() const; + void setDciIcon(const DDciIcon &dciIcon); protected: void paintEvent(QPaintEvent *event) override; void initStyleOption(QStyleOptionToolButton *option) const; QSize sizeHint() const override; + bool event(QEvent *e) override; + +private: + D_DECLARE_PRIVATE(DToolButton) }; DWIDGET_END_NAMESPACE diff --git a/src/widgets/assets/icons/bloom/checkbox_checked.dci b/src/widgets/assets/icons/bloom/checkbox_checked.dci new file mode 100644 index 0000000000000000000000000000000000000000..de3949458d09e4f0edb76b147a5e585c99f3de4b GIT binary patch literal 38566 zcmeEubyQs2(r4rD9vm8X2=4Bh;0f-~xVu|$mmnc{NFX@D9Rk7K2_7`K_cY19_q{js zy;<-3?timpuS54)ha>xx{i59RK>ye{V+u{`dJB@-i|4kbP}w2{kP>J{@Gp zVQk2s;IB=7y&Rz}vH}MkX~wn~DhN3?A`;^DwmP zK{TD{U1@K@QeNA?+6?)tz3avtyO-Aw!1q|0$FTKFaAoyCa zPW?lP-5uNFCHa@bcAv%JDr>EI9%@k5H=b{y*%srxEyL?K%kinWUIz3uhoULyn%H0&vVyeJrr<%B{~I21NR`a&0#KBFuq* z?A;Zucxm6Ixhc2Q#1h7?xnlq5kF=#@PexW9*VLVGmGO?kVpl0wobGRo%*!otW%@d3 zy~OHAc4;OGH?}PYOzFelXy3jq?$9Z@%H5;eX=p&F&d|$X!h5i*(YRec z^n*nUG;mbg1w5yG1C@b+PPQ%acA5uY7F~vU?gET+4NkrX8$W`D0^&|~aDC8EcbI+R zYOY`}$xeBNBU)v#e(@vi|K!InN%#AcAC;YrAYyqX&i2l{odRKt?%f zkwju(-APPpX8T5q-!|jJj*BT)9p{q#q~^hS`%IL!b#$}tn_;hu>*P3by=OUl8=5YY zrfn`Z$@Sw%fSOrS7($T4?NU88VB?4tM(qZeZwNKuuINVBBL44)|O`T6;VTy^R&xX~8+ZB!6b zp(@1@ItZY|xc@%(${i616?$#{vpd-+0ASOI854?5%!n0|>QBXu#o#Y%iHxbn8!sc( zmR?(vSv8PV^iGWMd%-oYy%VMFcmk-13$8GC!NoJav7^~*U9v(Z7J9i??^HS%A z%8T$yr?{OR6w<4AJB6ZFb^)hL?L`wKUd6TzskS*ef_QI>Kb6$J6!!3D{H$NW?o>C2 zcjgGRH^M~`=jx5F7}?W*n>DK8jlTXd6GwEtcf2>`|U_mHUP z334Fg35i-D`~N8t0il0i_a|2Ui9{%nrR$ijbYV80?T6k z52-hPj{6ZyGGlw8k$ONd5eK;k0aZmA@lDoZt&bv(ESyTU$*?^ldQ0I zAY)=|&;zJt<*Qvtb4l;_#Sou)UU1?Nqb}AvNd0*kpS_Infc@*HmTV|&h^X`=N)XaBj`MsK8;hSy#y}-*`I3vRP_;@?SGL9N`nUqp zeWq}oouPdHQSl%tp=?tg$ccw&Ag3B`$B7DN&2H~pwZwYF`J$yv=c+)d8Gc<-s}|ZB z9CXuAMOTn8kf7Q44pFlBy=lGzkg@QYvesmS%3ZG-o*i;8?Ba*s`?#i~S^w+y#jJMY z$j6n2jSI!@1#=<65)`C3B5dFw56JegCJ$8OBfQA-sSPw7KzN+%b}2v|xeJDss!rmaT^hLg|Sw<^&rDh#%brhOEA7oZ|)-1 z^e}p*dff&)-$iRllx;xI)iKxf*CN)RXl|v4HGJ*wvI3@hy=>&a&Fy;J*2v(@F81&? z2QA3AaeLeN=tPVT0PuBSw4mRQjQ5`FX6N)FQi2maK z-WL2}bRR4gFtvEqeBH*TD1>|zDh0|$6)Y#rsj1)K{?N>cx2U)1Q&oRh!Q1fGaG?R93&|?iPR>9ml!DQ&*L)ZnNvJp zY+XEtv*!9>MT+Ta)I5JiQPpl)r|SrMa5&$~kGLOmsQyTV5q!FyXQuD23wPuv*B9T? zvE1-AMk~*RenDHg{&=S~-`_jPjw_aten^0`ZGqa+H9O{b6lrO>de~}OJ-jQ(&`e+W z8PZoau-dRvF{*w`MX+-}PVmsoafay1V->vD6s4m_&{|eDr3w17=|z!<5(n<#19GbH zeoBEbHB)pe`DO5JCpm1TIV-Jkq5WX{Hk7!o0gizh1F1zD)_4wC(0eXi7gYeT_y$n)?7Teho>+B8ZRsu43`=( z=OzmHPEB)AoduicuNc)_L5oS2{4RS;$NSw<@KR_WqN(A)j57VE>L;LWx@IVELTmH8 zqJpy&ne@XQst4uFmkC2P-j)6Z(G%Xh?LM(rRvr; zLY1%dWw-dEOz`H2{Ak`D*PIw6s7Tz@eRIq7MU-z>p+6DG|MhZdxS(!kt(}^%gPde6 zE9cFjSUv!-rtqo*ZW?YC?-jN-p@E_u+PbCZSq{1 z+x8lNF(`dff;#L-kHA9KuYpUU&PeI8(K?{;46Rzy9T^5$0e(HL=e{nYT;C5#qhhpb z@#?Mpz5z~&+``POQK4>=j5*x-3bO0=H2cZG=`24wzm;8F+*d2R@ryQIvm19i`(R{Q z>W$fP-v;vqq(Mk3ZjT1c)mkhiC7(T<=C=51KECN(bV73f@gT(0 z)%D?{P1E6k##`;?FlLc64O^z*E2S1#l2guv2VF&%qlBTTMpFB z^|rbSY%0l!cVES?X4R64vU%GA?R)u0HNLatw_xbTxaGIx$ZfK{WSmywPs@5F&%e8( zubzq(4o<+so3B3LH)89u zMV3l18K+pWXS-t(C$6Y?hc|TDLE1Mqvgl}28}T7n9ye(T9Wk#iBXZ=ESc-Hk52KL& zGbCJ|TdO2l1&Z(aSnuwSFsTV!QKH4)W0=p@a8p>lMGb28$|ruVmnirOZK1P* z0CPInf4uga8Mzoq2$~{8idA_e94<=&H@s}|5XGlT0#*aPfF!gm0My^g$w0i5f6B_x z{x`BRN|31M_xRVW4A)aM^puqeqiz5J%O1hjBj3x9;#5PLr1%nmgSC^R^`Q2vc`oF| zdeGZOpINH_oh}R;VAFC}rFaBZc-jyqz{nQiRXbb4d+4kk#g6E&h*~7IiNtEM&%DNo zamB~-W+{f~HWa9%xrm8~fzOgu6ktv(F3hsb62ViB4u(OfMR%%l!w^ zrgF?S5{CdL;O*=5*jH0gcU9Dlj`9C6B z#lU%D?at4UMxEeA@zwQ!T}SHoZ8#x04fTFB(sGt z^&ou+O&9B9#{&c%7yA-x$1jgsm&jRrN8$DSMh=*Af+nCld%&3!u@r!wN2J1s7U+X} zz*{m*PfB=itApe*4!?M$`zWEG=Qe;fxZ4-Ic$ZM3RgVU=+D*yaU!O7BQo8ppsb0L} z3&BV<@M>RG!L&Kpx=c~e7CKoMpn3^9i|Yz!gfVw@Slqod~0HQn7Vs~{DdgQ5UT%I+<;8*H#fq%>p?*4JBKVE zkKF!FJWMFs2pqC!Fe?pWG( zqsU;Q6QVBhx9yn&otS|9R3yF|nNET`m@$u#AT~a8;hu^$e~D}}@7k`s420rVD!?h+ zMR#+09q&0)FvA|rF<~FF#mO`#JE;U6?wvXoK9i^Ef5pI&P9I)_iKcCD7vr``;LL*=pSA1SRUc|S=yKa^ra!r2V%?fxA~@!Lp> zcHO$Q$&EGbwZ3HWuRa-`!{yv0trpie8lzPT@D4yFNZ4Uc@~Ulds5sHjyS)SBZ&yX%)b=Ind)!&kx3C*n3xx$ zg~;*t=$&ZXO9Yh^%(k6%s3&gO{2OjPWsiU94!4*ckl(KRF`I0WKS_WJP7O;94!~~q zZN9!7)T8(qVyk^)pvkqbsNg^N#5s8@WV*EsqE zO9NfPmgtEyK*UhZs0yJU^dqRE-{gmEl{OyXwe}d(Hk$`b>+=;2x)W}>xEIH+51-gB z=w_Hk0|4cRTUW`=y#`bmWr9m&wq*`&25v9Pwl1Spi)QABHmTjl-h3CjP?$G$Wvtu1 z6oEC;-Ekw9k@aVQWjtI@AaOog<sDCj2k3Dgi9Lc1Ki??`NKoRz_7vGvx)ZcXq+4v^Cd4Sy>U+Qp->Xh!BK zcZ{W5dYQxLkEVdfy%((vC!m2dBGic^>sH;UpTNtj`UYRy~Yvbq}R5J~f;uFWhu-&js2|+JAzN zh~n{;>|UbbHq9U;&ehseo~epV<5J!`j5NkY*7MV#C*0N)*1Q?O)e`L`+33YS@5D}v z$44B*oZ|>BG_2C|A^rzs8G`vA z*%JRJIwH?;?X3%dbkr;r>RWDip2ywx=#_%c1|ne@K8ep5c=*i? zZ5y|NV2w53q<^d0*pg<8X206*cDIa>U(;C4L2J%&hgmya-X#(oY1jb!qy<+#n(8fk zEq&MyJR&(tLGKt*95yDhMR^lRPk?1CZ2HN# z^C0W9$P3l9pM^8H2|A?3jy6DmoJnWj7!IbYT%Hr_ev&I+MuP5EdD8PneFZ=mXSw2n zQS{6d-}K7_dLyAYWUNxkpwFI!FQqWUVf&4Pw6L&bGdsmaLf(H15`~6eU^c=`P!}Gv zfKqrSmM>ez3iD2`El`1$&`}y+J0zGB@5#2JLt-cx0O0@N&gEa+85pnUO)LcCa}9aI zDD7bT<;C$VICiU~?*X{>PGyuRxwshUJ?6{pxCW~$5apl&X^Awwmr8y0US}2GkP^0D z76>m-zHq`r7@(D~y?q~WyLbM&@k&ikAHFm1gJ?jz;clFYYoVmE)7`^F${OESQ4#-D z|3hmDzaMJNRcfOChj;N9UpLyA+gC-{+PLYHD5a|%E8kr{T$=MA?H>*OaI3?il&bR7 z@hIC68C_{G+?~|XY3|>dZ^USoy?G9^`Eznu2p%EE}CB$75+ulwH zu{c6!hYbyflgE68!<0o=PAj&aZz};yhzecpnW6ASg1EY<*!mj)D>1Oxw5|zO0kPx7 zc$`KgpU_u4yJuQ3D^OB_ObYZ}!6(xDdO_xdcr=G6V{4tI(5vbb&j8j&o+&T!GBq_d z1EFLjD4wTe=wl4Rh6V4(OutHlev*pte>V)4bYSca$D`_0N9Ldjs zT7iCx&K6UCBQ#O`T+Q|K$5)bz4-3-^;ank^P(1S0!1&c;4^`(o|MryyzmKo?-J1s? zr|4%A)u+}CWj3w*zhV`t)D|Mc5QD5kTO=*+UnJGN$xH-Vy#YE7)PMYzP&izDXoG5F z2MJ?TM_a%+X0G|$Hb+$cJ>=tHBsreEV}8$pFFpK(4#I8+yI2BtnUOT`A-#L1{TK(U z4YQmS2>hfMthxM7&R3su1ep=cg1HDTM)F!6?akdl%bemy@jDl+y-c(9c7{51K}8@Usslih9^GzuMrz}V}7P1R+NETNmg*ovHtUJUWn7eaoO&XMOYJI#BC z8jghM8#67|Hm-^{POz%y?9y@HI0P(L#Uo4X(F0Dm^p*vxfIn1{=_>S8avcQ-x6);) ziq%yof|cz|XhW;O&2ODrg{@Jaa(yPpVYdy>rFC_O*oW}>N5nK<8I-~j%Rh)==U zFFX%3bE&wb+a#30!vQgK3$(VmseTU4hyT0lL7WiF_B5W*pAoYEpQ69_zd?WFKhdAA zlMzxZaM!dh^^QXPW)^YOhCLc6ug=g;$i{~un5fQsJjacdTgc=TmvVJ!(^?>($La-m^@2R;s)Auwnu_dXvO&h z1iaey{DYEJdKMSC`$QcidZ+5Y!`?;L5C06+*oBXK?`LGbsD&+<3+>)85|9wQ{8YBU zW4|a@;QpamaiwGVtViNh(!>278{T){oDzUK%X2|Rntab?rOY5qW^_vG?4lWt3hbGE zBIno+1uT|4An>5+fJ)*Z5%EO}Az|@sagD7oPKJrYj}KS{Zv%JmdlAsjGUZ6L7sND| zzB6uL9XP*Ls(c@67^jNa${c^D`E^5U;Qh;hS61SNHR15yT6`nYFTaGRG>t#>FSr-m z2@cigyjvVO0(pchd!&Lq3Y9%-ls&qXJ;s$i)|5St^~n%^`3=qxN<)wdvi()T@N1Pt z_lW~f6%3-kDi{VIx^NgB+rSr{<{{#Xa&f+fUP2{1U_KjMnIzP2Idq`U@={2l#E^)u zuv0j(@C?lHiqho@E>M;)h@?Lw`lc|wdpUlw@*TRO>0XQF*W$rpjLN_3bSeqp#lrXp4U+M)!mhz#_Ek|8 z8c4J+t)V(n~@5kpD6x2pOL%&UiT04>jo8iM7p!3d{3iJaQ=jUqj z{S`Y{coZCW(*EM$m;x*~^cYtI#+d_Cw%_bjf#3hG9r67)lsEg6@*bVflPYw+(Ike- zJd)k0Hd(V<5f3IdobWwXkjaul>J<3*v?K4|clQCIzE#KC=?~sOo3Ub@)vN|65xiV` zxrPo^PjAWf@pSg~>>5LpIre4Sb!(`VrY~dF=^M-!SOi$l!a6Xpt<;p(OIn~CGlEgX zDL$1uL@87}HZXIcefeY`b9AwEB|7rGIv(5{?MBK=BA-;jc(%N}{LuYy%!}dGohB^> zCTau~($AarjSvT3Q0m9=`hDEdIfYsA{@|p&^J?aG#fn2hSIe%RN;4Hk5kX3Yy?g~% zn7C3z+5jaU)Y{wmpS}ltBrfi*B2f6-B;||~m;1IJEai;bdiZ=v(9M0gfr_1WRd|D+ zFFo@o0QRxi@spMAu@OkQ_d+2g1dH}@5#vE(tsM_v{Np0#>E{G`@(5XxS;P0hu(x2~ zLqNu(sA?YdIlpvn$T`1a?#8AYv=`}Vwm?Kn+%E)v@{a#E>Hk%~WBw-((%%s#0U3Po zv}_*KFMaC5gCPkE2ao>EYn=NZ`LRG*=hdHdo^o9gCM5FpNuA40*rHGgFqw_3BnE+X zY%YDhMi6Hr%q)gUWMdx5SDLy<1{aRN0A8v{EP@Q5ADPxh1^J>fbYcqgyqkqeuoT}f zI%Alxm+k!BmcduQ)R~9FGaE5oTJAw_{aAq)XYDGe`>|!Ew9}8v2ChK za-YiN^gdInKhNt6(1)=4%H?k*!9#P^xGb7O&kPmbZj;e_pS=h=8-|j%bjMFL+NA0~ zl3JK6HKm>8?*BM zq}#Jz{&7_<wp3c`NdvOoyc{;N!%avB*w*@)41{TL~r3xM*)ADikA@1C5$MIKr3VF!pXQp%#2@FI)C72S!sPTIyV6o33UO$)YSP73vFpzg@z(8&# zd4A>mDW&25j$(1bn%N>$yu!65Qa)XxNrjyRGveK2>Y zg9~g#qkXn~`^c(t4On@BTGdNKR>|S4d_Jh=(qNaqMmXY*R#Daw4{>rpcC^dB_4%fPExvmN-EH0l^Be5^a(+H>SW6Tq0oV1xWV zXDQCTCb-k=Q?@2ouzl20Ihj|K-^cQZV6ABwjv%CB3jkph&(5cFECxTX&u&A>$Az3>RaUy8(O5|JJ?9wqgVH2cS z?(eh7`*s#{vB*WT7>Wq-jBK7)f zhP(p+h7p)H;jNvuLvOP+Q6yP0H4aujVA)t^_zaeFQ}b?0pzgFw>e1294KeA^xc6eg z0y<0~eEnoirA;E{80Grv!@<4iCh(0QcPixb<;N{Lf;C#9kK;P z4%-{FgCrjj$|@Gu>CVyx6va(1R||Fzf7$6rWT^xyb{rGNFEAd97SmD*K_un5NF!I} z-n8_Lc;fH{FcPSh7@0&waXCzMm*~Gx$Ku~`N#$R;RN~iE@&N`DYNx)=bR=hvM{kk7 z1Q{&;#dm@{Y+&M3O=m7p{B}C4K&oG>#B18MAW7ei;k-lbzd6?L}t&_{h?lYqbX|ma-aP53W3sWqd zadz=$FS~z)gI1Vf*bS$%0(l!bgFUwM6*F3~en!nzusnmAB~r4yNXr(>NvakVBIqP3 z7D+&cz$9NzsdHPPCX;rIMaij`AjmOG!`uBugma)z?@ks*KbQpNBBq zBuOGJ1Ehx&N~Y$p%_Jx>PL^V>>y)ro3FoqoLBV3tpj7~hPuM1Bg%RgKNTu!^Qz3P* z8pdi(m3G6nkF&En`IrL_|g?zklEPSnz3liB-9FzPVe^Ml&RJ`!Bvqyt22r{UjdcCX6bn8hs+OxE07#D zJph36kF2J})4b_BpfOben4w??3@n@kzNMM^k5X6qkJKid^xf7SFCxZ_P4de04Uw=O z@&IF;$lqYY2GNisB5-L0U4qfyU*wr~3;k@jM{dNw=WRtrbckZ}B(MF-?*5W+)>(f*2&eo?RFX%~)Ef@CIOe~eK%C=C)_%8bqEtgFapHg^%KY?hu+4`)

H38?sqmjT~E!kqr|Ez9{!{=5$}U72*rrszV20&<1b^8Tsr*a(b5v@ya` zoO_jcUW7O&_+?phf=&JgJ~*1N4S&0S)%BmeM!Wxp*Ej*O(7(rDdh{z=ZhErZPhKOz zMrk5YHag3VB&|y%U6j?M*oqI5BuLWH%;|c|p!BHw&BOluD5+5pdhM*Bgq64ofGdp{IDfBpQSP zEy3zo`N(kC<1c%4pyL=fMB8Ec?ZQ@m&}`9t!lOFIsy=$pJXj_~W5Jb2pI+i9S0qpU zps=EDe`{T&B}iJ#7XFMoO;rrgrO1HWiw*XRKB7W}rh-USphbZdU#B+1&!A~{V*L`H6|nf_4J(&779@9v zNnF!TuKiODKa&;IT1~pu{2ZEXfHC0b^Bu*q^~DsQ^+po+=PO~WVT*@u&+U;#^B<`c zV_(Oqsvpgh=GDtR2I>_u%r*JJR$P3+T3NNZ-1~? zyCcX3bNTDkDjfLzjunE}T5Z%ft6#eD3c^8%fTNds!N@JOl(!Acdu)mMuz(oo568MVA<8rxmtNnJ zNsU9g_Eens!_*>!-+%jRwPVBUXX;Z8vj6z`NL#bD%MS;pw#p#>g{-{PJdB4Rj5d!NJ1{o{$O3C7w%X1-M8eKS zjfXa~NV1U-i64O$31;weVT|{Bk;Eg|mabeeGP>^vKnd2TuBD&HdQK73N`ncUkbp=5 z1rpJp_z2JC0;f8=7@(j~kOQ>?8uKNU&ajbbVXefP~HVS=Y79a#3PNZd744%)>8 zdkaJ}9RfHx-%Z{*hH_3gvGNat32-roPD0@IQ&E+s(E!}67S^06X2ILL`Pz4mDp(7Uy}9;l$9yC%@bXN@^I8m$CU_Ah z-ZlZe2&`minrAcHbPG>=dvM`nzsD@xw8)L^Wfc^TrECCc(70+>NLDXKWL41$T zkBe!O3au^!QNiU2lCEqUbM?tBjdWGcY~jwkv1vNCa6o`dUa#ypoO##`Bzwg!m5>>$ zPCnt>N$^2oK)O_lsIQVJBnBqbXqVi*pXBOhM0B=EbP3W!Am=wM+LAI82R!gJ?w)2Fh7DGoe`vOD8?fx67`f!aHZXb%*ujFr& zpywjgvN#UJ))l5ufUO*#MFx3|sq_sZG-AD7Sw&R(dW++fuL7V0=xzj+R&SzLvHVMR zNjE*xR-A5C^T7$L_awLR(0{kytN@}vPvgl4%!2Iyr#|4x@5>;c|B796kR!ja3vRML z5f%hi&bD}*-xr7Nu1~~8xXQS3vZPzv6=d3t6Lix>7Q}f)h!~WFc|vq9(+eOQ8dIG7 z3H8$v1ujIpAl_!CW6fM}1%q|lis2?o(j470^ZmzQ@p4bp)A0=Fpbr{R=?0{OYo^q1 z=44&aO(~rt>r8zq+7xaKZ z(g*3YjY7yy>^mmZRht1qSsnFBTL=|oEY>(U9UK79qW2sQUJr?*A30@xvT!tVi{jeG zpCmB`@_rB>5@OjQKIA`Hc9*C3riWN|0(S73C>RIx1W~pQB>3%J^fmf5BfI*0KwC5$ zrQ1rW>W+^RS1hDj+3|~rl#~SYZ~?p+tMcS?Hu*>>H&(B7J=fu=aLXQ&vI?SrKHcL@ z@(&f6gA4N?qxd<5jy0MEOvci%(Z_KzxDm!mk$%VN_mF2pSO?ku)e>$#&FRS!rc>Z6 zZL=+BcHNJHVS%o`9U$Of;#9Xogyqfg;dqX=;ZybWoZ&@L?9H7)7eSl-vJy&OAx)3L zS-&lH?NBpnMOMpQQ~WG6S>;4H*@4As;Qc1;bIU8ks+LUQ9!GbRFDrl1;9o7olb8C-LNw&(gNXa?<&QDC??>AM^QEfM>EQ|SQLl*r zBu$`AInCrVrHBbISb(^7Rv3~J6<_30a>uIeHHzPQs5ac&_;Oj~;iD^3vNja`{0?OS zC-Axez_&>EMIxc0?5?1g1t;a`C!1P&Ut5JmncC5;Dt#+bIh*5`d8Mfp;Pk8!k7`v$ zDZZQt?7ZglOhT@h6tanu)YHrV~;g~B?sGuEY7Dheo?IQD2c4}|_FO_cczs%t8H#z`NEs+8dN`W+SaZCgVn zP64D%6{o|&FDh~lz}IUH#Sp_`kr=45e(++ZBdnk|JNZTd+fa6GG63~ z`^OVQo}S1m27?(E!jnW&cAb1#r1}6$gKFyI0GDmJP zD~R&HyqE8v=Z(#03^rbri%zcTR|5C*LOsOLi(l*q7-;6JotXCQ#odig@}I+W?bN$H z)`9$b2qs)@ZK)(5si{ZYZIj3mCv%kG!73x}%2ZZ~qmz4Uo35h~!Opql7;z)VPEZqQ zLVSXfvbD-^5tfq$&)(*iCN#)NOEo0OA@oPQCI&!p|Glok?-1+vG@j&n0kZ#}BG=nL z^x&W5`Ij#d0y+Lmo_U`-6Xc^UN8fcGK|9pScGfUW8$ES1Zv%?KCRe(s=*rk zi*yI>HG)+)0eeWV!j~@yX>GEVXRBdnAuUEEyU2)e0N(@$-$a5QFh$NuAc48huqn$T zI9Bo&$2=R{+jr-rw^H*u&%`E`_~7eT8aqXCAiPZLLI-a7VY7U$Spv97&%;TP6{yCE z@p=ZEkMQG%=hbZV3X1BLY{gQ=(w5SCsme}#@|3UyUMD74XyP~kF+g+(h0Sh?s~Dmg ztW+46-t#S4#VS3X?PJPFT%q%E=w}m~Y1#7gd+o4x!t}MQD33HeNJl**zI#w{A`29b_L|%P}ndDHB*AFU;>YJY3t~*gwoXd^9~}+>nu(seAh~ zC#$B+E7{?|UKYYHPwe0?QyFGGSozEeDdHPmEo2+WSgxUNL$@wwKy% zYnb-vE2Vcfl&9Z(L5F>E?nx=LxyF(9H7|9iA50@#z(KCy*P_8zo`EUxqgq-6A9dq1H?6JPN=Gs@P_)}k8s!kpCQTTs#)^udHpKTTv8h^3Qs4!(h9z8 zk&sRyiDYK8QG8@Lk-t9on8@y$w1R&q^nz8TZsM2_b{@c5`s!ew0*}%u15>6NB6+Pr zO2ZD($TNDH>W5E5bCVxa#tK#lmhsM41%JhlPr2LwZ3X0)jB-E4Hcu-c;C#q00azTx zk>uW=RKkcFQ4k^(B?6`W5N;wO`ly}SyXryNG4uKN$hgk8cF ziojV%7=5pdV8i~&8PJ;7y&JN;(aGmb6IYwE5ywM@cvk5Ych5)KavULYwCVX*0_C3r zcf`B`EfWjTad#cT$!rJ$pZu(rB1J;UZ_+B3et8{4RocBl* zmeZK1NkHS?jSB^}j`dp=JZy8$xG2~9Lm18sjzcHY@!b_u$*pah<8kjq@+RbT6o}RjqUOi8wE#Uv9XVXt@jq$1iQIm> zyzPj{6=5?8q$5vlnV=0c67Z^i+13pP6~F-i43P3t;?k{#xO+)3r($9tdUp}~e(^}B z-3{WV2HJ;0R9(lJBC7#b7?X|8%o|Z{xkI6(;v%?Y_ z=n$ju6dMrJDMP}8#e{=Sv`Iq_$|QMrehdXIU!D9Bq=T3%gSK>p_vn^cTzQi4YW-5Z z6#Zgp$EKv)c32w~VAFAnfG)OBur)KAu72DhswJjxJn}_)m!8Jjq0sap>+t@jW|g7! zlcegbEC1Qv*9c+BV31;TVNYXobFx}Yv`h&vVSVCLXQEC1CtR_gqC zDoM}lBQQUNJ7<Q-widXN!$DOlX=;d(z<$E+|;VsXB})0@-=*ZTe16;D`c>Z-bD zFTK)bQD!k}=`A;BSD0+do&i+mfEtQ`r?qf=-~(cw19*oHLlWRCpn)=>{<2OI723zdBzkK&ntdm7na^84@l zN&kOO-T&{Y`+vHpj_2=1KDiJm{nJxSgY5sOo}vN-ZGVryBA;I<%=v`Ezq<*XA-SL_ zFxVAf?m?>2aHK2rCJ2!a8i1cPQ?L2cuI6$X#_rRd6fVjvIwG4uy{9diE)OF zN_bCkt|T}am=iokR>dR&`}U}Hj7Z`hzlE#nOuIBFMr;yfjYLOP+&ckt7>UWK&`v@Z z9Ow=gMU;6%f8Hre;r2=Z7#(R;bv^>DQMM6`RF(Pkh+@8$DYO6Xc?1^LtlnOlw-o(F z5jl?w;&vCG*a~IUYw>f2`FkiP^2=gEzq&T)OWZH+9;w~#1N;cAc332LRmg!_NGyr5 zM`4zIJO0Q-KDbLaVN4yX8lh z-HTG%(I&bR>*dp72V8n{ga;RJVBlN9^;=_K-&A44JVoh85OP9_3m`n80stuf5kbvB zjoTWx8a z@Fq@BNUeI8Sf7#q~MJV%X)$98j7VE7#sJEy3ZqhD}V% zAS!Yg#9+Q@jhB?UiukZkuKln*kK6S6gGr0>POK&d{A&I@^J^gwE*fUtxx&A`??ux#-35X z>~;Y}Uj8d@F8WE1p1irI&NZ05OT(<|nZwsHFh|Azz0+KK$SP zDPS5v8;u-ewk6dE81dVy&xCJT#?`k6qOvq(@x<3sqN97RrJ)e-YT=yR-*hK^3ntQ~ zPRCN(epM?_A2g*&I3$e)ps3)=)X(>DCGzMux1UitF`uezlu*csQ4Y=OBI3q$g5Pl6 zNm^s$;Wy#t^|+ej+>TvcQnJGa1m;(xlwQ!A)ig6ZResqs_^@9UW3Qeilo(U#S_FZa~+=2?T% z!w0Z73HR@K_`0D2TVP3HqV&$vXDw)6EDU2Q{1gMFJrW>YMTxs^0M^@J>Rjqqb>sw0 z-S``kr$peuRcIkt!f$k$aQ*3+2eo01C5Xuy%6(>|jR_<-TzNb`X1K+N`)q!BVYdP& zcF!_ZMDg7GJ3hWV*EzW|4PuJ(*WwrF(u)^HK|cGc66y1s#bjtt^6B|+IA!!Fr{H?( zL9p_B?ba*HK6Lw?1ej0=i}j{MXLqCZ+zZ_Eb@RD)yf@3v%Jwx+yt^~rgjD$TN^H;h zJ+hySB1aHX>&-1gX(EM=UF9H#1r$BN$F#!sv5AfFp!QrC*(zSFABk%qqfJcrk6oy<4u~5_-o<>!w(fUewUR8*iY1UPIm5cwQ{vcs?M1n6SUK&vw#P zo1WWz(B&Par;=JQWmGD!jJ?~OGKDwoCdBu%!tn&_`gEv4FLp^^Q2PYq_|bM7ryUfFKw)v1C7V zBwO|bu>A*h3`+jMGAMZXlNP_@1WP&jupk^p7#NV97lv<@wShWpuHt=1$H!7h@BR+UM@7cW>1_vnaCYBHfF*hJ0g;Z;T0i|C`r& z%C|xDa8F(b;0MI?KI~vF)$h>AnA5X3kgM*hj-#rBZiowY@?CBClan?KG=@u73^G0^ z)z$N{L~t9Rm?wvPl&zE%B^-t67TnXe`A#H-v)>UjC)H5di<;vQOyC)-&0TG)@y0<$ zOm<7SA@c`AFI}ItG?PUmkV z42#DmulLk4=78Ew>#sWOtAgn9loN@Gls;Q0P%H4pkOyVlv4<%uMKakUR;Qrkungf9 z=hGvA3~v!1Xj|lFK%mHc4Fl5r9aTL_T2c*Mv=o_(2^<1e(+HDujfX#&AuKrImnFQ# zPqoJ^;FEz&AaF-OmJRdocN7l2BQEgM9mQBa)_FN$%W*p|H&jy>vFUEK%o|UmfW=-} zIAf?3htX@>pp+KW^P%7w^}y4On2Ub3pusjyDz7SJgQZ@rcY#~3hy{V`Su}3~+hmHz zdbS;uAHuhBZgzqdp4}%eiG39g;T&>n;S*Y*o1(wq<&lRUP&~B@zg?MZgAL~YS9>r> z5rIDiSWxN31+M>D>E#0~UlwaaFqaly#u|EHJ8)~ z)$C(q^pZg0it!`gbtC#OGuk1~yb?Kv*yBKk=@B~yUIgdk?{ANkVWhi)3<8vicx_3{ zXi)g@^Y5+R*P%w@wHYO24h@^CtzXBLQ0jS=Vcgjq-@#VUFRHUfimE#=LL`!$vqu!< zAOv*|y_TP(LumXa4vZ8`uZOhnT*SW%GnSEbGdFXaF98!J{KDb|h*apbj+E>fc&Wb) zbNu8ghG8}6Go5mU(`h5%v3?DDKZ^4kQ#!asY?PLOUYXMz(OT*~hPhZ!*bO&EID(+L zFFe{l#G=`ua7AFmF+I0&?08wESIzimL#+EN!PXMIwHf&&iiIGdQ?=DQj!N_=Ifr@~ zK$8Gb2Q&#NFa5hFDMI&-351Fr0d!B4KbIY+hEIv?>oK|hn1s=vVEN@U>q=|}auEGc z#OZcxRg7ip&`_%?34sQV_Di(P_z@LU0Cl?FK<==BVGiJ~O(aBQ0;cnZJEuxgd7H&+ zFC9cZ7m3M0-uHQTm&%*310d*ZSCV~yAYQPz>nx0+Obx#%zAT@{}4Vbc>BCl*CjN9J+g`{cehEyHpryS^3tdSzU6tS)J1 zzUCOP5OQ@*y_wSNUC;I*k!k_eGyTVGaWuwhZPf}rVoD~hKHA5vbmts4FcOajC+N_I zv*qh#1F5-nu6vBh38&4U<;#fN1ADhj&(4P&JgCJY1gtTjy};K$*2^BD`}|Zd`-^w8 zKP55YCVH>Xt3KsC^E{DW*v}EO_w^0$;?CKc(hPP|8eWPRJE#su6GVZNfS!wn*+r#H zj~mEA2=|`k<1h>{b81j>n2xdOD%$gPJ@<+wW-GLCzw;jy4=?;E2}Ye30!JMuq+Lwp z($HwPDvsJDA(~W+KiJkGrrGNcE{~2gcP{n^Mn|(HF6vxFE-jL~F0DFJOASYDk){Tul1wZ5U+5MorN61^% zC^E`^{s!NRS0%?%wdfN*c3b5=<~;(;!}*m~>S*#I)_JYl{sLy$+C)?!cNRo_PYg3L z>46VzTcTx?n}$2y$ouYFZ5Y$IMHW?chD5_VdZAYCm;rh@ihVO#&Y0P#fkH@;d5Spv9nZM&~uohaq&#o0+$xj zRz*&`vA0d2qm4kAHm>Oduzp;NNhq8OBTPuY8}D%=U&GrF-*%W#YRZB;(S!$>2mjKn z8^!G9>x)P4*!{l(Sbf6sE1L=ElwyXeiH!CWCjb-(QuB#kOvaDi;v=u_;Edi z2oCh}?Qo+T>jbC)3jzQ+WT@5e*Zp^y1OM<|5ck>yN(K5K0mBwsFx3ag2yo>=De?$zGMuR8Zy9n?a@-&DOk{y! zFL3YXs|8z%eA93V&W=cQHDDR_$F2;=8>BQ-Kx^H_T?8{xLDm7fwkp^`X~j6sMyh`> zRERY6*RCNPD_#NW3{v*E>VrOhZT9C?37#DUJnL?swih5ad<7etg#nn$tzDFH2~tIz z2${)8i{_)k70(gJ*4)O`<7I(fHN&3`G49_5T5a*x>g1i4x&(p2E=Gt@t$;@E|Cw)k zirk^T$?2&gfo?=^0S9@e(T&F|&4^wNtNs9o93=&&z3==ALPip1wC@W}zcDsB$CIiq zchJAwm?REc+#jiu4}7>OT}x3=;)>1+15u!2b7g=nz_v8sF?-}4)yqj zUuVJGgo+`;^WjbJe;yq_ov zsJ1^RJnH0gDrU8`PDiM5wiE$)A#s4`vz48^TZ`18=9Qj&Rp?%>A@l zQU0r%D)&F}6l}ojPo4sp8ky*zo91>B*GGW4kc*VEJF-bm7E7n(nta$S8+Zl_QR|Mo z%e5^^us77q_SM6sp?axc!9u^^=tr(lQ_gzQ=GU1A;5|s)in-PGBMNh|)SJ(A-$N%r zJX8GD`8_B8`~i>)jtAuji+dj=BmCB#2VLz#oU^fDqi97d*r4H?>-3k?S{mT9M>;{* z5>mD=!NhF&1w)a+s=j}+&_ozizIQ@~2V-XRl%LP0g8OSv<)$;lAcq^gnZIwo#ls%h zeFfjH*WFvMUp(B$v;-7kjMWDDH^N1?ouqk5MEf9I^%TB2_esBS>0A3YG&I)#vq9ve zYde}0P$5l78X0Xf%r~&MPE;NpMTZ0;j@QMuK;iu98}Wf1L)lEhi3*BN-xDsK1u2Jm z-}Bm9dQ)zaLE5yAThZ@`34Hm6qOBrG4cALDH7B>f6cv~Kz`1jeq)Hc;?`31=6u4JD z(V_VNNj26WMy0HHH4aNHMf55Ol^N|CW+n_Xw}6eq4R6$ETy&-@)KAd)rx2pN%Gb;d z#xYIpaQfD!J>xm8Mf%4b&-7oRtZ+0`SvBvhUKVs83`iMGW7)OgHywcx+5P!F6|Z0x z43le0Hq!8JVRHJ2jLTepi465!?D;UxxRCx7VNh;9`)Ogq{7Tp}RZXN*#QuRn^B3j% z+P5${!=rwWj^RqYp;98r3-mxOOzZ~uG5?Z3x&m-F zbU`DYW8nIqjd-Bw{IB(o5f3-?xkCL>Com=;BpB0B!~$3 zrQa(s-j6wy>Q24NiS)0&*G>pLu9vLiIIu|peF_29j_ECYTg(0NI9SCz&p&f)MG|YW zk~`%h2i`=H@&!1^a-w1_(z3exh8HD(b3q_%5J=k^TO*TH`y$VJbnipp5$DLM-dx;C zBW&!7;>!Y3YwIliT@&jY$PVd#U6D2v$vra9R@tf!qb;kLYjW6s9L_7CGRoF64-)Ai znC&tWX!@MUAv}<}<<@hR<;W#gxqM*_ckL}$MSPu)mf`EwA|#YCQu5uW>m9j{HZ@nV zPDBLC{Z&)Zh{nx?#?AMMh_GV?GP%zbxykl|xQ(GNr_-pf4#o~B7;yI-#r;gNA3bY2 z+EJbEMtypnD4}}N0Bk1UY4Dz+p#Q+@$pl{KVgh(Qoll;ID}FO7(6p^OL0T>~+R~!^ zv7Jvt8m|dm}uQS|Ss#iF)JLmE&YiX^Z5a6?$2KLI7U%7!U95H7XV= zl(t~GnVo!^?Tr2#jn%xDs|`GJfi$WyY4_{RS5{Eo{Eeo4I0$Sv#vo%t%l4~~q@m_g z$01;TZVs(CVQ0?NNgHS78BK55OXpyYCoPB0y#llxxO*VB_z(P>mr!Yda)ctbSb@>( zLjg=XOpjk^Kxj@jWT;CG=4}I1XIf7K{N1_kPS!=F)_<@SCOC-RUOylUvCE=eR5Bx` zXbQKJal>OTV3`N8i6NsIHK}`tINe;@?uTf04ClVLG4pUaI~!7{Y;834=&C^`+N34# z6ca!+(dDPkB)})(Q)-5#7J7VX4+CQ9l22ZFFZQ7@a#-K8TUk5)6blnEvX>)y1ZM1ijTWGOYQcAp+$w0TV6KX%E;-^8_FI(kNcj`p~#e9~An|yEQ z#d)>E_1i|TEXz$*w!Jq8-qGkB5&xEmX{<;qu>CVddcUwn`k6&7?er)1^0i7{$W}y3uK-VuCAZl6Hefz%t#pj0=Yo!v)UM`&N z)eeS9RBNkCY0>BSfS!Uo)6*K?kbP!dhY*Ji!~uh1tN726m~A3m^3LZktVRvh)!`;) z99%P&bZq=Yn7gg5sID)oPwm?)4xd}HsPDIgvP=Bdm^ENba2lPyu+q)=@@q>)Bg2nW zUwP*wXloQ@V(W%r^1dSOnM zUSYt`_S%~HVKQTumJc48pp=HVa8Vmz45K}FVD*EWK~njM%dGRN5DT?%kTk?UpW#$i zB1^=_?o6HW-V5u=X9xk73J8D!%)tl((f!?mQ9&&jV;3@Tq7Ibp#fi(Xv5vv%od^05 znx~lfx#CAyphFG_OPCqR2Mj$zHVDz-6R7~Mm;L~YR+SP=<=$SVC)dxowm6f38_kbP zM;Xa45F!)o6qPbGxUSX#Tr5^Wk4GTb&n;72 z=*sB8bYJ}R+o<{y-oDfNgYnjHGjOzmtrKnJg#uJxYIam}p4BtXm{g5orx0&gsXe<4 zrKE4~U7jo1WMll~)aAz*hnl5&60kXP!PuLwRJMo6Xobu?NI%Lvd@-5Jot}R63RTQ4 zDR2YhY5zI^TLEky@ckcoU0wh7VmCk z#X-CXqKWjnnpdFgn-dasoAMJ<8GryWHV!uoa z<&zz>;;saLVdrF769BnBd08Y9l?d_i;ju z$e{RWm#8*P2i{dH@S@w}NjIWFAQEd8;af_uD9wAU!)JEu-_HJc@wN8osMos@1}qNv zFrB)w^cf%uec^KQIE;LVJ%%WhN}9C)8EA$WMR8Qq&@U~eKaXV`8C9+Q5XQkY%axLr z)~aQ)_N;JXjYN2O4-Oi_?FJfEH#XeTNme@k2o?*N`kcgo40bEZuK$@wXPvB?wUc`m zn^R}>@bh{nCy#v~`yLVh`I_spIq|JQi0(XH5+#d}HWfDU?F`ZH7)MrBm2ENhs(lRC z5sv&C>!CfM3=RuL{nYS3Y*BFS`D5!XWtmb6Ij<8?-_-`Bw6HX-ACevg7`P}av)5rKnj%8qcuCB}_x zL=BP%_3oa;yZ_b+?m|(l$%<&=*Bk6?A;HNGl>=$Rv7>LS`0rRsh8N)L3FVR_uMB*= z?m;?`GQ-h}M1%L#j38h5#yTZsMtFSz7o>lGPWF&E_(y*HFz|T}irec+SV$fatwCcq zXcyt%_+V6jM?Ukw>s+*5NdE~RY)FTceCzjZC&VD6LkmbwK@Sv+ZS~5$LPq!;W0Lzz z$s5Mp#GDaM+O&te0oO7@W*gTrrb`oLJ4Ze4^bJm_XsJ3G{>ReqC}A35^HRRAr2DO# zzEDeh++i7fp{o1c3})Zfsn>xi6)jUg*jU=yZ`HGUUS=HnU88IOeWrxds=Mx4pZLDt zbUEQ>Z0KE`p#z3tIcK@`AphI)HKp>o&zBBbPQDU`voKt~4!ybf%06A!D`!s3=?n_@ zcS^NB2v2`^^8Wbf|p}IZPetO ziOPUU|0)NJ8Q?=f7t}XV1K0noZ|Vagm%rBEeA5&2_$xG`f%>Kt#Ri8~hx8qK1CpyX zznS-FN<$Ec1*Xf{;0%paurJ{hZHC=)17nlQG@kRAoY(vJ3j$)U3D4=j*Wqr0niM66 zN-$B>U!RIN13ru1?AWYs{*Y=E(o9rJtLO49j~+NG(+~&7tt&AUn1jnI;b*1vsR-5Y zo^QQ)oCQI768nWJt3v($oe}Mh2Ja5GYd^x}l%18H5kjeMHky&ydxDSH`cj$&0Y+&_ z7_L#M{+G%bM-O-4s*v=pev+*PDKE0vkf|5R2XBp}X?t0o8}|wgJ7f4wYih@RO3k0c zCliUyKZ;fFH89RZTi|KXf0ZvXQM&vpK} zu3Zv6MYx#Ln}a~R1kMZM8r9ufec{YRU%1OAgPf}ca~ZU7`eeUJ!vK!`@Axw+(lHp% zEJGN`w6k1C;?(L{>yve}6ZwS^ac!u17@`6uGpWkUwV!D>93G}pF!<#sUC80MMfgY> ztO?vBj;+vgIJOh#DZYShw>;G<+6wjOxp|iDX#HvNy+hUBH?y9Mj81-XB?Xk%a4G6= zDP%$!;n=u)=r3>+Qc&eyW!lBK%OTOxo2k5hmXs}%oX5T_J$T}GK0p8D>!7myx4IXQ zqLl@Hgieckl4UM1Iv~q6?l41#HzCxQB>2cNpgZse=bS)-7f>K)RT zj_*DIXLt~rg`47WN<&P8rn+^-JieVcG+80|5J5s3WI^ycdv?QdyA6E10w2yJe5{hj^7>F9#n`)jG) zF^WB>6e1A^b)}nTG$lr=D-M z=$h9z!O!z9#!Lq6UYLKPDu3-TM^w)e`8b)7V_78lb0t#h?A#!B&~ws8Y&}ZucY5p! z-RmR!IJN{tg){Mx#>`hvjAFxHp5)_o2p*lh+Lg=ko?Qu)Pa)p(^H4W*zIiwG7983Y z*Nb;1Wq(2HK~e1iocN2ATFKhlKFgULor+m z5)L-P;f*w8cf-g_yB9>6x3BP_c-07yWgyc8e6c+xn*dpUvdgkiyUZqq2FP-4d7}f} zq1pKTNqb4t@XNyEKz%}(m&1r4f|u5>LZ6QB^Y;o{aAN^4tfJ&fdWlqHennWoTxoEj zx2?>sZuyP+Twt+q>2f(JH@C#M5aD*o@%pIji$y@scx_9qm&*WU(c5L5j8~0Tca0o^ zukAHHX!=tgZFMYL-DS$~eY>*$5fz<%FZEGg@ss>&3V9Q@gO^2Ek^5ch3-I>HG&%DY%e)xHmGmNTJ< z5azaj?p;KEX8Kgz@7o>ZdFzKWzQRedjpn>tDz^zg-KbskkM<&j-@ zUh5jm>eSO3@gX6=vCK5)B9-;^hyyGY`|%~V%s-aK1(`^U^rZ4`eHWv28Cx=)zY{CvoHSGtP-1)Z3EmNjs7oB zBGdX0J@Kmlg`Rk3z(D^Gc;m@NV*#%};SDYXmIepiDG|$XVSOpA0L?x=&rSJGlfUP!I?nos#{sQw_2VAvIGQ z<%>onVg6X6PAXsXAz4`=@|P&bGs|REKEip(#p`jp$KbTt`+NRCww`q*VneqM(iwY^ zM!vB*4~q)HpJ$yIA8Ox%sW$?B(FdB^s*M-lk`9~is7egH<2BtqIsKM>$7@-neYb-(T3^uU}7YDi8e z1$(ErwuG0etcYQssL|x^inxoni4_Uc=!cV&5vvS1+)@<^@CFC>L+EjV9hcg zY-)WOSy2D9-)lGeQ9JlSCwSP}7l*N-`Y|8&W(L@k1|2J1_-c<+^r%p3?{RKxPojG| zbI)jIf9q*IC;jkd`bE^Vqyk|I#h;3worX`C1`25YhlO2T3LgRg5#@J3 z`g;;y0iY3?1qIv{)~y(djB|j}=6QLaRZIO^s|O zy-|<6eByJ%`Yhje`K8mLGB2Z@5-v)ZY_AMouQXsRBSdF&H9sI?Ov%ZCC5E-qnXB<) zEs<%4@eR0B^pbXEUaFz0yQ+z|rX`IVdkhhIeG^G?pWVl2+GChb6vQzt9%b!J`6ZHl zqFLZ4UUgYB@wU8-eJ{zo?GZ8u@rA1{xaR#S_)W^~qn?iB(YAQRcR?hFFYTLRcTS&1 z#KJc(-!>l%osag;M+pvmGNj~O%UqSHsB?9Tw|Tp4E@&zg==#-XtE7C!fe){&!GYJ~ z$BepNYopK26!*~;~CVfMKKa8}3n7^J+rb9M>eIU?d>WXs*=!`Q5`4L1@F1QmXl zS3dc53o`u%H$_p|08V*a&P(s?B(6GWi2Ti&jloBCpYQ%g6W!*kFHK8a(Jahn4b0So zPaa8Ry2`FYXw>8 zlw;gd?)sgUKE)*5uY9NPS9f4g)~$!GWXZrKhidh;Gl-wDcHUgNHlUfQ0q4&*2%zfK z_A}fu#Uhz$Uqy5 z4;mW?*jCLF<+MF0?7;mNh2~hgFdd+Ig5RO=$S8N$>pJtK zl}i{2iie=`{+Avw{6pn(5~>FbfF4|L|22b8^kx&UaI^AbCEihZK9E*rY4Mtn6@FC3 z9B6Ml2qsfXe9h)ZRYork$@E@2kCcQs3?$f>4L4u6-a+EwQ0$V~&G(M~u!AP$hteJv zZZx%|X*8syrD62#Q5BUnoY8WaL*SX2QJIH1#Y(~$Xm0v&1Q1yG;;GiQ@WA5oFp*1I zJsYo#Xd=Nmu(S&oh2Ak=ZAQPvh|%Go3PmcMu_+A^#Qia&DOQhToqe0gA!&|%t% zPFCWgfhwaeZ_?1Zqjpr>Bm+jOjy&P$r~xv}yI*4WaRm zW8EcV_I|^1MW^p-;NFRo66AY?#D(zinJLAZp9Cj5e4p324a{9B48;nKmbSDQRw(z6Qo?|)I-ac8L-%nLsXV3S?5x+=toYoaGO-Js)OIZVX zt<_YDMopY8jT1#(mCbZ57EH9@dQX!#IjabqTp9SY>u*)5T@SzPu3f)VoL|LXEqn6{ ze6H(`6gLBFeX8_k-;8R5Uz}i7?LlhmB61t@X4}{&0Bg%uasD{|KAXJ4Y2l7HyZV)8 z*UD)p*drxi34Op#{NNPi1$oPI3P!pJ|FOublP=|O?Z)D+%OK@+!!e>hAEDJ-j4#&F z1KPzHkl&ta#=kk%VcF`#h077Vr>ShA1vl5^5kIS)0qq*{&rG9vXF3%$;l0NITjpcY zt7E8C@4&)Q!`wt2y}aMEVq84Bv_gGGl&b&7p!2;QBX`hJ{)xOWo|gQITYg^FqTAWD zEX%jWiI?uM|DK!rUu;ms#QY0k{j0gDet=a5UH@usN)?D=pbMItk^`>)+1wQ3|GRGT z6ayUr@AZTgomUhSX~Q6nSp0{_n{++44$F35ISTU43c*gj$05Fw#lH_D?uelWedr5W z?~>u4G}{Hz?YKvHxIPc`cpdp$8D0t#O^Tk2fMSw1{#)HMY6s*@tUlcCqW9<)*ze)r zQEJiAV$!n=KBgkS%+C2}{()G8J>>M6Vy17U7`Auo?8iyFoiJOAHQ60OQ}i{v7j{2) z(gOTGSZdjGVaLgQ@Dn1YHl!pY1vL%`a|~&9siKKoHx)7Lq3+sBUk9?cLz345^-m=0 zuGd%7NepV0ou1o`S(m3(@xSlqtb1K^t+_U=_>0y18Q2W~3_x)*2s-yg_TRD_ zLC{P-mlQfSrV`M>k=O?bZ2efVD{;k6X}-6I6HgC}#8weK6fd&{db_VXuEhP;@0fA| z*g2^g8R+gd-QuJIzYNS_8HjL%cYbpimm<^?*>h{B+4$Ig&A#flgWR^^I+8WMm6hox zNi#adH@Zf0x{0!+G$GL!qE~BH6O>;vHE^=VJjDH4TYjO7e)&^%!*~z5DKaBTo^sa& z9QWLu@#k8q=Q+yBnef84>y6_*cjMCBBvY)m>WQiQ?43#5i4}?dW+Zl%!{S(BDH#y@ z4N*`kd9$hCImNHAQCZbFf_L%V%J(qBHs$-$SX*v%a++jI=kIz&&9#8{kR&XED15^a(*@cGRI5df`ONKV{+t;D zp2TPglW!HYI~cmEFudE{&9$$O(^)!VN6{93{9rJY5WJ8up_`hP%nBXIoZJ~%ZpIoP zmp5Ja#`2u<`&YY8_y0q_eCxlEFDC@_@2~Z@eEAa|e}v)?Xuh24Cv&2u{t#sYT{nTL zq5=Zqqw=ydFkzX_#q-#t`NZEOyR(Q_Xx15Mwz9W6vG}O>ZtMKF&sC@BIw(AxVyMB+ zs?y(b{my9fJB^kr9nN*xzzZ-)8T8_h_r}k0%F&nUo)c33jl3SI$MVa&sV6S8?p&{3 z$N_l(;It6$JpKuL@!S z5yGk=Bf_F#Kn+MvXmoTm7(GslRSfmuN^TdX!VR`<4zJeQ*Ry6nIih4r zo;%z-u&-y2@C>+!ZttAku}8v^tVt=M!ZUuhVKmKq^-xap+It%k)!2FG|Eb;S*F%el zN$UJ>e~HsODwxGYhceHatze{`jpK0)i7SaNnx><&=3vq8RZevymni?zov%#MpMVj> z;QJ6qz0RX6R*u!{>*b9RREAe?DQ*Nk+C-BO4zUP2J)gq_E0B^3Ac7u$`C{;LfETq{ zP>GUYYaAxzHg7D1sco|&djw|*sTU^8a-3vAW@VDmJ-{)FQTbeQn~8ITIc0BinKPVe zQLzJ=Q6&SfVO~p;@r{Zgn{l=ig(bC+$2*#`pw4H!fUEF~W`1{9j@Q*`Se&z?j^1VB z!+^RYPZ7V+ZqWbe^$__na|DzoJ7P7e^6RAO#%$%(B)|b)x@L-})Sp2)6btPlxJc6ptl#%Cq|STtxWmUJ z{Fq&F+w$~*!=Rg5v>uwUEEiCc(1yGaq8ke{y; z;vl&Rt2yV@2e@JnscEr~&P0CwJO!rnRL}MjTGv&fF35%0D7(aMpPWSM-m0VOun2MeTSvFX`DL8t=DU#u#L^I-l^Ab zj`XH!19=ilN}ez(I-E5AbCYf8O6VzCg3#tS;}`R%c`pp|rp)FPH(P28(KtYGFeorE z0E)7b`mUjQrhtYJTA6_TnUkJH1`jTzqMKO*2d*1-qb`UPF*eju3MY||Zvi7q1qU zknDur1&ToMImH04Y*YP*4m_Cvn%ItfBH(9#@`bJ95x` zG3jdmRNR+xK;>;{q+AoX`lxxPEu4qs2~KFuPX4hoja=3IXe`XR+z(DWLf4!YL*>?_ z_)0%ii}-=llzBjDU4mN-qAuK#asy^Mw*1*t&VRA@7N5b^FkAxdktK>^1^)T5zeeo2 zXt;!6Ps)#$x9H9%MNx^*Ewalw$$B0a5~9h7IfU_4#zo#x&E40~+nJ-K9!ui9-H-G1 z8em&DbT$w}J*4c5!kAD1RfY-rgm>E3NgwW}_Bk~VW#9;MCj{D##33zz?5`yI^X^Lj z@Z2|m;Cy`Yn?l#G6+?wfxp5~lag5Su-R;x*?PV%-$yvZ+oTbhbpG;)?Xk;K3?X)p^(hE&@06zwj+7x zJU}+FDr^c@5kct!iPAMAE26#zmAh%iX-YgSApFjS)(985cCxIi49YMxp zQ*>Pq(|?iFjlS2HxUj*Ot%kXT;h-2)V#a|VT3t#V3M-vQ+k+sd0Fn!Si5Ns|77Bt7 zMwODm1tVgisemG*fszvzsg|}J^;s&a6e=Qo0Vu3TCZ`+Qv^-CmMsXT3g5-eMZDAzw zMQ#)>eas@vANH1F)JjA?z5`7)La*ETmnD#^{J<1iYrAXmoS%@1oB6T841w9xOVH6l zN34@k(Tm=7-<+eO#y59VHFN3hUk_S1IysCtdc8jVx#KPFwQuzIRNQ$eIc__^kZ3Hs zUpYI8j0cWlxUH|rwion!u(rPDoNuG5xY)@^pC7dk+~~{-1lon95}moU6J4$rk1Py* z5jbKE0~H<4Y~h56>V8#-g1yvj1Me}paR)U;7BSt?DG67_IbTVE|xIv`%)^^`mSLcZY$9+hQc4p~xX8SJH6H-xSNN{~0a02c@)! zMMqz|!6r;I6O+s@Rx!}I?_L;Oli)l`Kd}$EN*D{Z86OL!t24gKr*->?v{HG`IP9kL5cxfsZNDrj PrBOoV*`rcYDBS-8p|wSf literal 0 HcmV?d00001 diff --git a/src/widgets/assets/icons/bloom/checkbox_unchecked.dci b/src/widgets/assets/icons/bloom/checkbox_unchecked.dci new file mode 100644 index 0000000000000000000000000000000000000000..413e4145a0d24968703c6e7ec3c4a828f68e9954 GIT binary patch literal 11832 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 IxefOJ2NG4{5&!@I literal 0 HcmV?d00001 diff --git a/src/widgets/assets/icons/bloom/radio_unchecked.dci b/src/widgets/assets/icons/bloom/radio_unchecked.dci new file mode 100644 index 0000000000000000000000000000000000000000..792ce8ec27bfb2c17efaea5500ec2c04ae4deb9c GIT binary patch literal 20330 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 RQB>2?X&ZGVSqbRC0026cRM`Lk literal 0 HcmV?d00001 diff --git a/src/widgets/assets/icons/bloom/switch_off.dci b/src/widgets/assets/icons/bloom/switch_off.dci new file mode 100644 index 0000000000000000000000000000000000000000..a02a0ed1e0a8c90ea86841c504df56c3d846dce9 GIT binary patch literal 66534 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 literal 0 HcmV?d00001 diff --git a/src/widgets/assets/icons/bloom/switch_on.dci b/src/widgets/assets/icons/bloom/switch_on.dci new file mode 100644 index 0000000000000000000000000000000000000000..a0cc265399d93f94269b283655770591737113b3 GIT binary patch literal 61778 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/window_maximize.dci bloom/window_minimize.dci bloom/window_normal.dci + bloom/switch_on.dci + bloom/switch_off.dci + bloom/radio_checked.dci + bloom/radio_unchecked.dci + bloom/checkbox_checked.dci + bloom/checkbox_unchecked.dci diff --git a/src/widgets/dbounceanimation.cpp b/src/widgets/dbounceanimation.cpp new file mode 100644 index 000000000..d574375a7 --- /dev/null +++ b/src/widgets/dbounceanimation.cpp @@ -0,0 +1,107 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "private/dbounceanimation_p.h" +#include +#include +#include +#include +#include +#include +#include + +DBounceAnimationPrivate::DBounceAnimationPrivate(DBounceAnimation *qq) + : DObjectPrivate (qq) + , m_animation(nullptr) + , m_animationTarget(nullptr) + , m_deltaSum(0) +{ +} + +DBounceAnimation::DBounceAnimation(QObject *parent) + : QObject(parent) + , DObject(*new DBounceAnimationPrivate(this)) +{ +} + +void DBounceAnimation::setAnimationTarget(QAbstractScrollArea *w) +{ + D_D(DBounceAnimation); + if (!w) + return; + + if (d->m_animationTarget == w) + return; + + d->m_animationTarget = w; +} + +void DBounceAnimation::setAniMationEnable(bool enable) +{ + D_D(DBounceAnimation); + enable ? d->m_animationTarget->installEventFilter(this) + : d->m_animationTarget->removeEventFilter(this); +} + +bool DBounceAnimation::eventFilter(QObject *o, QEvent *e) +{ + D_D(DBounceAnimation); + if (e->type() == QEvent::Wheel) { + if (auto absscroll = dynamic_cast(o)) { + if (auto wheelEvent = dynamic_cast(e)) { + if (absscroll->verticalScrollBar()->value() <= 0 || absscroll->verticalScrollBar()->value() >= absscroll->verticalScrollBar()->maximum()) { + d->m_deltaSum += wheelEvent->delta(); + bounceBack(wheelEvent->angleDelta().x() == 0 ? Qt::Vertical : Qt::Horizontal); + } + } + } + } + + return false; +} + +void DBounceAnimation::bounceBack(Qt::Orientation orientation) +{ + D_D(DBounceAnimation); + if (d->m_animation) + return; + + if (orientation & Qt::Vertical && d->m_animationTarget->verticalScrollBar()->maximum() == d->m_animationTarget->verticalScrollBar()->minimum()) + return; + + if (orientation & Qt::Horizontal && d->m_animationTarget->horizontalScrollBar()->maximum() == d->m_animationTarget->horizontalScrollBar()->minimum()) + return; + + d->m_animation = new QPropertyAnimation(this); + d->m_animation->setTargetObject(d->m_animationTarget->viewport()); + d->m_animation->setPropertyName("pos"); + d->m_animation->setDuration(100); + d->m_animation->setEasingCurve(QEasingCurve::InQuart); + d->m_animation->setStartValue(QPoint(d->m_animationTarget->viewport()->x(), d->m_animationTarget->viewport()->y())); + + QTimer::singleShot(100, this, [this, d, orientation]() { + + if (orientation & Qt::Vertical) { + d->m_animation->setEndValue( + QPoint(d->m_animationTarget->viewport()->x(), d->m_animationTarget->viewport()->y() + d->m_deltaSum / 16)); + } else { + d->m_animation->setEndValue( + QPoint(d->m_animationTarget->viewport()->x() + d->m_deltaSum / 16, d->m_animationTarget->viewport()->y())); + } + + d->m_animation->start(); + + connect(d->m_animation, &QPropertyAnimation::finished, this, [d]() { + if (d->m_animation->direction() == QPropertyAnimation::Backward) { + delete d->m_animation; + d->m_animation = nullptr; + return; + } + + d->m_animation->setDirection(QPropertyAnimation::Direction::Backward); + d->m_animation->setDuration(1000); + d->m_animation->start(QPropertyAnimation::DeleteWhenStopped); + d->m_deltaSum = 0; + }); + }); +} diff --git a/src/widgets/dbuttonbox.cpp b/src/widgets/dbuttonbox.cpp index 9bb89b540..d90cf735d 100644 --- a/src/widgets/dbuttonbox.cpp +++ b/src/widgets/dbuttonbox.cpp @@ -1,9 +1,10 @@ -// SPDX-FileCopyrightText: 2019 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2019 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later #include "dbuttonbox.h" #include "private/dbuttonbox_p.h" +#include #include "dstyleoption.h" #include "dstyle.h" @@ -12,10 +13,17 @@ #include #include #include -#include +#include + +#include DWIDGET_BEGIN_NAMESPACE +constexpr int HOVER_ANI_DURATION = 150; +constexpr int CHECK_ANI_DURATION = 200; +constexpr qreal HOVER_BACKGROUND_SCALE = 0.8; +constexpr int SHADOW_HEIGHT = 2; + class DButtonBoxButtonPrivate : public DCORE_NAMESPACE::DObjectPrivate { public: @@ -291,6 +299,7 @@ void DButtonBoxButton::paintEvent(QPaintEvent *e) DStylePainter p(this); DStyleOptionButtonBoxButton option; initStyleOption(&option); + option.palette.setColor(QPalette::HighlightedText, this->palette().highlight().color()); p.drawControl(DStyle::CE_ButtonBoxButton, option); } @@ -351,6 +360,11 @@ bool DButtonBoxButton::event(QEvent *e) DButtonBoxPrivate::DButtonBoxPrivate(DButtonBox *qq) : DObjectPrivate(qq) + , m_hoverId(-1) + , m_checkedId(-1) + , m_pressId(-1) + , m_hoverAnimation(new QVariantAnimation(qq)) + , m_checkMoveAnimation(new QVariantAnimation(qq)) { } @@ -366,9 +380,17 @@ void DButtonBoxPrivate::init() q->connect(group, SIGNAL(buttonPressed(QAbstractButton*)), q, SIGNAL(buttonPressed(QAbstractButton*))); q->connect(group, SIGNAL(buttonReleased(QAbstractButton*)), q, SIGNAL(buttonReleased(QAbstractButton*))); q->connect(group, SIGNAL(buttonToggled(QAbstractButton*, bool)), q, SIGNAL(buttonToggled(QAbstractButton*, bool))); + q->connect(m_hoverAnimation, &QVariantAnimation::valueChanged, q, [q]() { + q->update(); + }); + q->connect(m_checkMoveAnimation, &QVariantAnimation::valueChanged, q, [q]() { + q->update(); + }); + m_hoverAnimation->setDuration(HOVER_ANI_DURATION); + m_checkMoveAnimation->setDuration(CHECK_ANI_DURATION); layout = new QHBoxLayout(q); - layout->setContentsMargins(0,0,0,0); + layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); } @@ -484,6 +506,7 @@ void DButtonBox::setButtonList(const QList &list, bool check d->group->addButton(button); button->setCheckable(checkable); + button->installEventFilter(this); } } @@ -575,9 +598,11 @@ int DButtonBox::checkedId() const void DButtonBox::paintEvent(QPaintEvent *e) { Q_UNUSED(e) + D_D(DButtonBox); QStylePainter p(this); QStyleOptionButton opt; + p.setRenderHint(QPainter::Antialiasing); opt.state = QStyle::State_None; opt.rect = rect(); opt.direction = layoutDirection(); @@ -591,7 +616,156 @@ void DButtonBox::paintEvent(QPaintEvent *e) opt.state |= QStyle::State_Active; } - p.drawControl(QStyle::CE_PushButtonBevel, opt); + bool isDarkType = DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType; + int radius = DStyle::pixelMetric(style(), DStyle::PM_FrameRadius); + QColor background; + if (d->m_hoverId >= 0 && d->m_hoverId < buttonList().size()) { + if (isDarkType) { + background = "#141414"; + background.setAlphaF(0.2); + } else { + background = Qt::black; + background.setAlphaF(0.1); + } + + p.setPen(Qt::NoPen); + p.setBrush(background); + + auto rect = d->m_hoverAnimation->currentValue().toRect(); + p.drawRoundedRect(rect, radius, radius); + + if (isDarkType) { // 深色模式需要绘制上下阴影 + QPainterPath rectPath; + rectPath.addRoundedRect(rect, radius, radius); + + QRect excludeRect = rect; + excludeRect.setHeight(rect.height() - SHADOW_HEIGHT); + QPainterPath bottomShadowPath; + bottomShadowPath.addRoundedRect(excludeRect, radius, radius); + bottomShadowPath = rectPath.subtracted(bottomShadowPath); + + background.setAlphaF(0.5); + p.setBrush(background); + p.drawPath(bottomShadowPath); // 下阴影 + + excludeRect.moveBottom(rect.bottom()); + QPainterPath topShadowPath; + topShadowPath.addRoundedRect(excludeRect, radius, radius); + topShadowPath = rectPath.subtracted(topShadowPath); + + background = Qt::white; + background.setAlphaF(0.1); + p.setBrush(background); + p.drawPath(topShadowPath); // 上阴影 + } + } + + if (d->m_pressId >= 0 && d->m_pressId < buttonList().size()) { + background = Qt::black; + background.setAlphaF(isDarkType ? 0.15 : 0.2); + + p.setBrush(background); + p.setPen(Qt::NoPen); + p.drawRoundedRect(d->m_hoverAnimation->currentValue().toRect(), radius, radius); + } + + if (d->m_checkedId >= 0 && d->m_checkedId < buttonList().size()) { + background = Qt::black; + background.setAlphaF(isDarkType ? 0.3 : 0.1); + p.setBrush(background); + p.setPen(Qt::NoPen); + + QRect rect; + if (d->m_checkMoveAnimation->currentValue().toRect().isValid()) + rect = d->m_checkMoveAnimation->currentValue().toRect(); + else + rect = buttonList().at(d->m_checkedId)->geometry(); + p.drawRoundedRect(rect, radius, radius); + + p.setPen(Qt::NoPen); + QColor shadowColor = Qt::black; + shadowColor.setAlphaF(0.2); + p.setBrush(shadowColor); + + QPainterPath rectPath; + rectPath.addRoundedRect(rect, radius, radius); + + QRect excludeRect = rect; + excludeRect.setHeight(rect.height() - SHADOW_HEIGHT); + QPainterPath shadowPath; + shadowPath.addRoundedRect(excludeRect, radius, radius); + shadowPath = rectPath.subtracted(shadowPath); + + if (isDarkType) { + background.setAlphaF(0.5); + p.setBrush(background); + } + p.drawPath(shadowPath); + } +} + +bool DButtonBox::eventFilter(QObject *o, QEvent *e) +{ + D_D(DButtonBox); + for (int i = 0; i < buttonList().size(); ++i) { + if (o == buttonList().at(i)) { + DStyleOptionButtonBoxButton option; + dynamic_cast(o)->initStyleOption(&option); + if (option.state.testFlag(QStyle::State_On)) { + if (d->m_checkedId == i) + return false; + + if (d->m_checkedId >= 0 && d->m_checkedId < buttonList().size()) { + d->m_checkMoveAnimation->setStartValue(buttonList().at(d->m_checkedId)->geometry()); + d->m_checkedId = i; + d->m_checkMoveAnimation->setEndValue(buttonList().at(d->m_checkedId)->geometry()); + } else { + d->m_checkedId = i; + d->m_checkMoveAnimation->setStartValue(0); + d->m_checkMoveAnimation->setEndValue(0); + } + d->m_checkMoveAnimation->start(); + update(); + } + if (e->type() == QEvent::HoverEnter) { + if (d->m_hoverId == i) + return false; + + d->m_hoverId = i; + + if (d->m_hoverId < 0 || d->m_hoverId >= buttonList().size()) + return false; + + QRect smallRect = buttonList().at(d->m_hoverId)->geometry(); + smallRect.setSize(QSize(smallRect.width() * HOVER_BACKGROUND_SCALE, smallRect.height() * HOVER_BACKGROUND_SCALE)); + smallRect.moveCenter(buttonList().at(d->m_hoverId)->geometry().center()); + d->m_hoverAnimation->setStartValue(smallRect); + d->m_hoverAnimation->setEndValue(buttonList().at(d->m_hoverId)->geometry()); + d->m_hoverAnimation->start(); + update(); + } else if (e->type() == QEvent::HoverLeave) { + d->m_hoverId = -1; + update(); + } else if (e->type() == QEvent::MouseButtonPress) { + if (d->m_pressId == i) + return false; + + d->m_pressId = i; + d->m_hoverId = -1; + update(); + } else if (e->type() == QEvent::MouseButtonRelease) { + d->m_pressId = -1; + update(); + } else if (e->type() == QEvent::Resize) { + d->m_hoverId = -1; + if (d->m_checkedId >= 0 && d->m_checkedId < buttonList().size()) { + d->m_checkMoveAnimation->setStartValue(buttonList().at(d->m_checkedId)->geometry()); + d->m_checkMoveAnimation->setEndValue(buttonList().at(d->m_checkedId)->geometry()); + } + } + } + } + return QWidget::eventFilter(o, e); } DWIDGET_END_NAMESPACE diff --git a/src/widgets/dfloatingmessage.cpp b/src/widgets/dfloatingmessage.cpp index 2c5270909..c581f289e 100644 --- a/src/widgets/dfloatingmessage.cpp +++ b/src/widgets/dfloatingmessage.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2019 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2019 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -11,6 +11,7 @@ #include #include #include +#include class MessageLabel : public QLabel { @@ -54,13 +55,17 @@ void DFloatingMessagePrivate::init() iconButton->setIconSize(DSizeModeHelper::element(QSize(20, 20), QSize(30, 30))); hBoxLayout->addWidget(iconButton); + hBoxLayout->addSpacing(10); hBoxLayout->addWidget(labMessage); if (notifyType == DFloatingMessage::MessageType::TransientType) { //临时消息 timer = new QTimer(q); timer->setInterval(4000); timer->setSingleShot(true); - q->connect(timer, &QTimer::timeout, q, &DFloatingMessage::close); + q->connect(timer, &QTimer::timeout, q, [q]() { + q->close(); + Q_EMIT q->messageClosed(); + }); } else { //常驻消息 content = nullptr; closeButton = new DDialogCloseButton(q); @@ -69,8 +74,18 @@ void DFloatingMessagePrivate::init() hBoxLayout->addWidget(closeButton); q->connect(closeButton, &DIconButton::clicked, q, &DFloatingMessage::closeButtonClicked); - q->connect(closeButton, &DIconButton::clicked, q, &DFloatingMessage::close); + q->connect(closeButton, &DIconButton::clicked, q, [q]() { + q->close(); + Q_EMIT q->messageClosed(); + }); } + + auto effect = new QGraphicsDropShadowEffect(q); + effect->setColor(QColor(0, 0, 0, 0.1 * 255)); + effect->setBlurRadius(20); + effect->setXOffset(0); + effect->setYOffset(2); + q->setGraphicsEffect(effect); } /*! diff --git a/src/widgets/dindeterminateprogressbar.cpp b/src/widgets/dindeterminateprogressbar.cpp new file mode 100644 index 000000000..e0d04d4dc --- /dev/null +++ b/src/widgets/dindeterminateprogressbar.cpp @@ -0,0 +1,138 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#include "private/dindeterminateprogressbar_p.h" + +#include +#include + +#include +#include +#include +#include +#include + +DGUI_USE_NAMESPACE + +const int SPOT_WIDGET_WIDTH = 200; + +DIndeterminateProgressbarPrivate::DIndeterminateProgressbarPrivate(DIndeterminateProgressbar *qq) + : DObjectPrivate(qq) + , m_sliderWidget(new QWidget(qq)) + , m_timer(new QTimer(qq)) + , m_leftToRight(true) + , m_spotWidget(new QWidget(qq)) + , m_animation(new QPropertyAnimation(m_spotWidget, "pos", qq)) +{ +} + +DIndeterminateProgressbar::DIndeterminateProgressbar(QWidget *parent) + : QWidget(parent) + , DObject(*new DIndeterminateProgressbarPrivate(this)) +{ + D_D(DIndeterminateProgressbar); + d->m_spotWidget->setFixedSize(SPOT_WIDGET_WIDTH, height()); + d->m_spotWidget->move(-SPOT_WIDGET_WIDTH, 0); + + d->m_sliderWidget->setFixedWidth(150); + d->m_sliderWidget->move(0, 0); + + d->m_timer->setInterval(10); + static int step = 0; + connect(d->m_timer, &QTimer::timeout, this, [this, d]() { + if (d->m_sliderWidget->geometry().right() >= rect().right()) { + d->m_leftToRight = false; + } + + if (d->m_sliderWidget->geometry().left() <= rect().left()) { + d->m_leftToRight = true; + } + + d->m_leftToRight ? step += 2 : step -= 2; + d->m_sliderWidget->move(step, 0); + update(); + }); + d->m_timer->start(); +} + +void DIndeterminateProgressbar::resizeEvent(QResizeEvent *e) +{ + D_D(DIndeterminateProgressbar); + d->m_sliderWidget->setFixedHeight(height()); + d->m_spotWidget->setFixedSize(SPOT_WIDGET_WIDTH, height()); + + d->m_animation->setStartValue(QPoint(-SPOT_WIDGET_WIDTH, 0)); + d->m_animation->setEndValue(QPoint(rect().right(), 0)); + d->m_animation->setDuration(3000); + d->m_animation->setEasingCurve(QEasingCurve::InQuad); + d->m_animation->start(); + connect(d->m_animation, &QPropertyAnimation::finished, this, [d]() { + d->m_animation->start(); + }); + QWidget::resizeEvent(e); +} + +void DIndeterminateProgressbar::paintEvent(QPaintEvent *e) +{ + D_D(DIndeterminateProgressbar); + QWidget::paintEvent(e); + QPainter p(this); + + p.setRenderHint(QPainter::Antialiasing); + int radius; + this->height() <= DTK_WIDGET_NAMESPACE::DStyle::pixelMetric(style(), DTK_WIDGET_NAMESPACE::DStyle::PM_FrameRadius) * 2 + ? radius = height() / 2 + : radius = DTK_WIDGET_NAMESPACE::DStyle::pixelMetric(style(), DTK_WIDGET_NAMESPACE::DStyle::PM_FrameRadius); + + bool isDarkType = DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType; + QColor color = isDarkType ? QColor(255, 255, 255, int(0.1 * 255)) : QColor(0, 0, 0, int(0.1 * 255)); + p.setBrush(color); + p.setPen(Qt::NoPen); + + p.drawRoundedRect(rect(), radius, radius); + + QPen pen; + pen.setWidth(1); + pen.setColor(color); + p.setBrush(Qt::NoBrush); + p.setPen(pen); + p.drawRoundedRect(rect(), radius, radius); + + p.setPen(Qt::NoPen); + p.setBrush(palette().highlight().color()); + p.drawRoundedRect(d->m_sliderWidget->geometry(), radius, radius); + + QColor highLightColor(palette().highlight().color()); + auto borderColor = isDarkType ? DGuiApplicationHelper::adjustColor(highLightColor, 0, 0, +10, 0, 0, 0, 0) + : DGuiApplicationHelper::adjustColor(highLightColor, 0, 0, -20, 0, 0, 0, -20); + pen.setColor(borderColor); + p.setBrush(Qt::NoBrush); + p.setPen(pen); + p.drawRoundedRect(d->m_sliderWidget->geometry(), radius, radius); + + if (d->m_sliderWidget->width() < d->m_spotWidget->width() / 2) + return; + + QPointF pointStart(d->m_spotWidget->geometry().left(), d->m_spotWidget->geometry().center().y()); + QPointF pointEnd(d->m_spotWidget->geometry().right(), d->m_spotWidget->geometry().center().y()); + + QColor spotColor = DGuiApplicationHelper::adjustColor(highLightColor, 0, +30, +30, 0, 0, 0, 0); + + QLinearGradient linear(pointStart, pointEnd); + linear.setColorAt(0, highLightColor); + linear.setColorAt(0.5, spotColor); + linear.setColorAt(1, highLightColor); + linear.setSpread(QGradient::PadSpread); + linear.setInterpolationMode(QLinearGradient::InterpolationMode::ColorInterpolation); + + p.setBrush(linear); + p.setPen(Qt::NoPen); + + QPainterPath clipPath; + clipPath.addRoundedRect(d->m_sliderWidget->geometry().marginsRemoved(QMargins(1, 1, 1, 1)), radius - 1, radius - 1); + p.setClipPath(clipPath); + p.setClipping(true); + p.drawRoundedRect(d->m_spotWidget->geometry(), radius, radius); + p.setClipping(false); +} diff --git a/src/widgets/dlistview.cpp b/src/widgets/dlistview.cpp index 16672ba05..8b7bff3d6 100644 --- a/src/widgets/dlistview.cpp +++ b/src/widgets/dlistview.cpp @@ -13,6 +13,8 @@ #include "dstyleditemdelegate.h" #include "dstyle.h" +#include + DWIDGET_BEGIN_NAMESPACE DVariantListModel::DVariantListModel(QObject *parent) : @@ -196,6 +198,11 @@ DListView::DListView(QWidget *parent) : DObject(*new DListViewPrivate(this)) { d_func()->init(); + if (!qEnvironmentVariableIsSet("DTK_DISABLE_LISTVIEW_ANIMATION")) { + auto ani = new DBounceAnimation(this); + ani->setAnimationTarget(this); + ani->setAniMationEnable(true); + } } /*! diff --git a/src/widgets/dmainwindow.cpp b/src/widgets/dmainwindow.cpp index d0232e6a9..a1daa8ccb 100644 --- a/src/widgets/dmainwindow.cpp +++ b/src/widgets/dmainwindow.cpp @@ -43,6 +43,9 @@ DMainWindowPrivate::DMainWindowPrivate(DMainWindow *qq) titlebar = new DTitlebar(qq); titlebar->setAccessibleName("DMainWindowTitlebar"); auto noTitlebarEnabled = []{ + if (qEnvironmentVariable("DDE_CURRENT_COMPOSITOR") == "TreeLand") { + return true; + } QFunctionPointer enableNoTitlebar = qApp->platformFunction("_d_isEnableNoTitlebar"); bool enabled = qApp->platformName() == "dwayland" || qApp->property("_d_isDwayland").toBool(); return enabled && enableNoTitlebar != nullptr; diff --git a/src/widgets/dmessagemanager.cpp b/src/widgets/dmessagemanager.cpp index 6e7a362b5..043731e81 100644 --- a/src/widgets/dmessagemanager.cpp +++ b/src/widgets/dmessagemanager.cpp @@ -1,19 +1,48 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later -#include "dmessagemanager.h" +#include "private/dmessagemanager_p.h" #include #include #include #include +#include #define D_MESSAGE_MANAGER_CONTENT "_d_message_manager_content" +const int MARGIN = 20; +const int MESSGAE_HEIGHT = 50; +const int ANIMATION_DURATION = 400; Q_DECLARE_METATYPE(QMargins) +class ImageLabel : public QLabel { + Q_OBJECT + Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity) +public: + explicit ImageLabel(QWidget *parent=nullptr) + : QLabel (parent) + , m_opacity(0) + { + }; + void setOpacity(qreal opac) { m_opacity = opac; } + qreal opacity() { return m_opacity ;} + +protected: + void paintEvent(QPaintEvent *e) override + { + Q_UNUSED(e) + QPainter p(this); + p.setRenderHint(QPainter::Antialiasing); + p.setOpacity(m_opacity); + p.drawPixmap(rect().marginsRemoved(contentsMargins()), *pixmap()); + }; +private: + qreal m_opacity; +}; + // 仅仅为了接口兼容, 符号不会减少, 如果使用了这个接口,实际调用走的有namespace的 class Q_DECL_EXPORT DMessageManager: public QObject { @@ -91,7 +120,30 @@ static void sendMessage_helper(DMessageManager *manager, QWidget *par, IconType manager->sendMessage(par, floMsg); } +DMessageManagerPrivate::DMessageManagerPrivate(DMessageManager *qq) + : DObjectPrivate(qq) + , m_aniGeometry(new QPropertyAnimation(qq)) + , m_aniOpacity(new QPropertyAnimation(qq)) + , m_aniGroup(new QParallelAnimationGroup(qq)) + , m_label(new ImageLabel) +{ + m_aniGeometry->setPropertyName("geometry"); + m_aniGeometry->setDuration(ANIMATION_DURATION); + m_aniGeometry->setEasingCurve(QEasingCurve::OutCubic); + + m_aniOpacity->setPropertyName("opacity"); + m_aniOpacity->setDuration(ANIMATION_DURATION); + m_aniOpacity->setEasingCurve(QEasingCurve::OutCubic); + m_aniOpacity->setTargetObject(m_label); + m_aniOpacity->setStartValue(0); + m_aniOpacity->setEndValue(1); + + m_aniGroup->addAnimation(m_aniGeometry); + m_aniGroup->addAnimation(m_aniOpacity); +} + DMessageManager::DMessageManager() //私有静态构造函数 + : DObject(*new DMessageManagerPrivate(this)) { } @@ -114,6 +166,7 @@ DMessageManager *DMessageManager::instance() //公有静态函数 */ void DMessageManager::sendMessage(QWidget *par, DFloatingMessage *floMsg) { + D_D(DMessageManager); QWidget *content = par->findChild(D_MESSAGE_MANAGER_CONTENT, Qt::FindDirectChildrenOnly); if (!content) { @@ -125,7 +178,7 @@ void DMessageManager::sendMessage(QWidget *par, DFloatingMessage *floMsg) if (par->property("_d_margins").isValid()) content->setContentsMargins(magins); else - content->setContentsMargins(QMargins(20, 0, 20, 0)); + content->setContentsMargins(QMargins(MARGIN, 0, MARGIN, 0)); content->installEventFilter(this); par->installEventFilter(this); @@ -133,10 +186,60 @@ void DMessageManager::sendMessage(QWidget *par, DFloatingMessage *floMsg) layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); layout->setDirection(QBoxLayout::BottomToTop); - content->show(); + } + + if (content->layout()->count() >= 1) { + content->layout()->itemAt(content->layout()->count() - 1)->widget()->hide(); + delete content->layout()->takeAt(content->layout()->count() - 1); } static_cast(content->layout())->addWidget(floMsg, 0, Qt::AlignHCenter); + + // 限制通知消息的最大宽度 + for (DFloatingMessage *message : content->findChildren(QString(), Qt::FindDirectChildrenOnly)) { + message->setMaximumWidth(par->rect().marginsRemoved(content->contentsMargins()).width()); + message->setMinimumHeight(message->sizeHint().height()); + } + + QRect geometry(QPoint(0, 0), floMsg->sizeHint() + QSize(MARGIN * 2, 0)); + geometry.moveCenter(par->rect().center()); + geometry.moveBottom(par->rect().bottom() - MESSGAE_HEIGHT); + + content->setGeometry(geometry); + content->hide(); + + if (d->m_aniGeometry->state() == QPropertyAnimation::State::Running) + return; + + d->m_label->setParent(par); + d->m_label->setAlignment(Qt::AlignCenter); + d->m_label->setContentsMargins(MARGIN, 0, MARGIN, 0); + d->m_label->setPixmap(floMsg->grab()); + d->m_label->setScaledContents(true); + d->m_label->show(); + d->m_aniGeometry->setTargetObject(d->m_label); + d->m_aniOpacity->setTargetObject(d->m_label); + d->m_aniGeometry->setStartValue(QRect(par->rect().center().x(), par->rect().bottom(), 0, 0)); + d->m_aniGeometry->setEndValue(content->geometry()); + d->m_aniGroup->start(); + connect(d->m_aniGroup, &QPropertyAnimation::finished, this, [d, content]() { + if (d->m_aniGroup->direction() == QAbstractAnimation::Backward) { + d->m_aniGroup->setDirection(QAbstractAnimation::Forward); + } else { + content->show(); + } + d->m_label->hide(); + }); + + connect(floMsg, &DFloatingMessage::messageClosed, [=, this]() { + d->m_aniGeometry->setStartValue(QRect(par->rect().center().x(), par->rect().bottom(), 0, 0)); + d->m_aniGeometry->setEndValue(content->geometry()); + d->m_label->setPixmap(floMsg->grab()); + + d->m_aniGroup->setDirection(QAbstractAnimation::Backward); + d->m_label->show(); + d->m_aniGroup->start(); + }); } /*! @@ -184,19 +287,11 @@ bool DMessageManager::setContentMargens(QWidget *par, const QMargins &margins) */ bool DMessageManager::eventFilter(QObject *watched, QEvent *event) { - if (event->type() == QEvent::LayoutRequest || event->type() == QEvent::Resize) { - if (QWidget *widget = qobject_cast(watched)) { - QWidget *content; - - if (widget->objectName() == D_MESSAGE_MANAGER_CONTENT) { - content = widget; - } else { - content = widget->findChild(D_MESSAGE_MANAGER_CONTENT, Qt::FindDirectChildrenOnly); - } + if (event->type() == QEvent::Resize) { + if (auto content = watched->findChild(D_MESSAGE_MANAGER_CONTENT, Qt::FindDirectChildrenOnly)) { - QWidget *par = content->parentWidget(); + auto par = qobject_cast(watched); - // 限制通知消息的最大宽度 for (DFloatingMessage *message : content->findChildren(QString(), Qt::FindDirectChildrenOnly)) { message->setMaximumWidth(par->rect().marginsRemoved(content->contentsMargins()).width()); message->setMinimumHeight(message->sizeHint().height()); @@ -204,7 +299,7 @@ bool DMessageManager::eventFilter(QObject *watched, QEvent *event) QRect geometry(QPoint(0, 0), content->sizeHint()); geometry.moveCenter(par->rect().center()); - geometry.moveBottom(par->rect().bottom()); + geometry.moveBottom(par->rect().bottom() - MESSGAE_HEIGHT); content->setGeometry(geometry); } } else if (event->type() == QEvent::ChildRemoved) { diff --git a/src/widgets/dsearchedit.cpp b/src/widgets/dsearchedit.cpp index afafab3a0..35acfdcd6 100644 --- a/src/widgets/dsearchedit.cpp +++ b/src/widgets/dsearchedit.cpp @@ -39,6 +39,9 @@ DWIDGET_BEGIN_NAMESPACE DCORE_USE_NAMESPACE DGUI_USE_NAMESPACE +constexpr int ANI_DURATION = 200; +constexpr int HIDE_CURSOR_MARGIN = -4; + #ifdef ENABLE_AI class VoiceDevice : public QIODevice { @@ -270,7 +273,11 @@ DSearchEditPrivate::DSearchEditPrivate(DSearchEdit *q) , action(nullptr) , iconWidget(nullptr) , label(nullptr) + , animation(new QPropertyAnimation) { + animation->setPropertyName("pos"); + animation->setEasingCurve(QEasingCurve::OutCubic); + animation->setDuration(ANI_DURATION); } DSearchEditPrivate::~DSearchEditPrivate() @@ -377,15 +384,31 @@ void DSearchEditPrivate::_q_toEditMode(bool focus) { D_Q(DSearchEdit); - if (focus || !q->lineEdit()->text().isEmpty()) { - action->setVisible(true); - iconWidget->setVisible(false); - lineEdit->setPlaceholderText(placeholderText); - } else { - action->setVisible(false); - iconWidget->setVisible(true); - lineEdit->setPlaceholderText(QString()); - } + if (animation->state() == QPropertyAnimation::Running) + return; + + auto textMargins = q->lineEdit()->textMargins(); + QMargins marginsInAnimation(HIDE_CURSOR_MARGIN, 0, 0, 0); + + if (!animation->parent()) + animation->setParent(iconWidget); + + animation->setTargetObject(iconWidget); + animation->setStartValue(QPoint(q->lineEdit()->geometry().center().x() - iconWidget->width() / 2, iconWidget->pos().y())); + animation->setEndValue(QPoint(0, iconWidget->pos().y())); + + q->connect(animation, &QPropertyAnimation::finished, q, [q, this, textMargins]() { + q->lineEdit()->setTextMargins(textMargins); + if (animation->direction() == QPropertyAnimation::Direction::Forward) { + action->setVisible(true); + iconWidget->setVisible(false); + lineEdit->setPlaceholderText(placeholderText); + } else { + iconWidget->setVisible(true); + lineEdit->setPlaceholderText(QString()); + iconWidget->move(QPoint(q->lineEdit()->geometry().center().x() - iconWidget->width() / 2, iconWidget->pos().y())); + } + }); #ifdef ENABLE_AI //Focus disappears, clear voice check @@ -394,6 +417,20 @@ void DSearchEditPrivate::_q_toEditMode(bool focus) _q_onVoiceActionTrigger(false); } #endif + + if (!q->lineEdit()->text().isEmpty()) + return; + + if (focus) { + animation->setDirection(QPropertyAnimation::Direction::Forward); + } else { + action->setVisible(false); + animation->setDirection(QPropertyAnimation::Direction::Backward); + } + + iconWidget->setVisible(true); + q->lineEdit()->setTextMargins(marginsInAnimation); + animation->start(); } void DSearchEditPrivate::_q_onVoiceActionTrigger(bool checked) diff --git a/src/widgets/dstyle.cpp b/src/widgets/dstyle.cpp index 234d0da24..d1fd1160a 100644 --- a/src/widgets/dstyle.cpp +++ b/src/widgets/dstyle.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2019 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2019 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -1339,9 +1339,18 @@ void DStyle::drawPrimitive(const QStyle *style, DStyle::PrimitiveElement pe, con //先绘画阴影 DDrawUtils::drawShadow(p, btn->rect + shadow_margin, frameRadius, frameRadius, QColor(0, 0, 0, 0.25 * 255), shadowRadius, QPoint(offsetX, offsetY)); //再绘画上面的待显示区域 - p->setPen(QPen(btn->dpalette.frameShadowBorder(), 1)); + p->setPen(Qt::NoPen); p->setBrush(btn->noBackground ? Qt::NoBrush : p->background()); p->drawRoundedRect(opt->rect, frameRadius, frameRadius); + + p->setBrush(Qt::NoBrush); + QPen pen; + pen.setWidth(1); + pen.setColor(DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType + ? QColor(255, 255, 255, int(0.1 * 255)) + : QColor(0, 0, 0, int(0.12 * 255))); + p->setPen(pen); + p->drawRoundedRect(opt->rect, frameRadius, frameRadius); } break; } @@ -1443,9 +1452,6 @@ void DStyle::drawControl(const QStyle *style, DStyle::ControlElement ce, const Q DStyleOptionButton option = *btn; option.dpalette = btn->dpalette; option.rect = dstyle.subElementRect(SE_SwitchButtonGroove, opt, w); - dstyle.drawPrimitive(PE_SwitchButtonGroove, &option, p, w); - option.rect = dstyle.subElementRect(SE_SwitchButtonHandle, opt, w); - dstyle.drawPrimitive(PE_SwitchButtonHandle, &option, p, w); if (btn->state & State_HasFocus) { QStyleOptionFocusRect fropt; @@ -1487,7 +1493,6 @@ void DStyle::drawControl(const QStyle *style, DStyle::ControlElement ce, const Q case CE_ButtonBoxButton: { if (const DStyleOptionButton *btn = qstyleoption_cast(opt)) { DStyleHelper dstyle(style); - dstyle.drawControl(CE_ButtonBoxButtonBevel, btn, p, w); DStyleOptionButton subopt = *btn; if (btn->features & DStyleOptionButton::HasDciIcon) subopt.dciIcon = btn->dciIcon; @@ -1498,6 +1503,7 @@ void DStyle::drawControl(const QStyle *style, DStyle::ControlElement ce, const Q DStyleOptionButtonBoxButton fropt; fropt = *boxbtn; fropt.rect = dstyle.subElementRect(SE_ButtonBoxButtonFocusRect, btn, w); + fropt.position = DStyleOptionButtonBoxButton::OnlyOne; style->drawPrimitive(PE_FrameFocusRect, &fropt, p, w); } } @@ -1572,6 +1578,14 @@ void DStyle::drawControl(const QStyle *style, DStyle::ControlElement ce, const Q break; } case CE_ButtonBoxButtonLabel: { + if (opt->state & StateFlag::State_MouseOver) { + constexpr qreal hoverScale = 1.2; // hover 时放大1.2倍 + p->scale(hoverScale, hoverScale); + p->setRenderHint(QPainter::SmoothPixmapTransform); + p->translate((1 - hoverScale) * (opt->rect.x() + opt->rect.width() / 2) / hoverScale + , (1 - hoverScale) * (opt->rect.y() + opt->rect.height() / 2) / hoverScale); + } + style->drawControl(CE_PushButtonLabel, opt, p, w); break; } diff --git a/src/widgets/dswitchbutton.cpp b/src/widgets/dswitchbutton.cpp index 273269737..48e5d1bc0 100644 --- a/src/widgets/dswitchbutton.cpp +++ b/src/widgets/dswitchbutton.cpp @@ -3,15 +3,19 @@ // SPDX-License-Identifier: LGPL-3.0-or-later #include "dswitchbutton.h" -#include -#include #include "private/dswitchbutton_p.h" -#include +#include +#include +#include +#include +#include DWIDGET_BEGIN_NAMESPACE +constexpr int DCI_ICON_SIZE = 120; + /*! @~english @brief DSwitchButton::DSwitchButton implements a switch button @@ -48,12 +52,16 @@ QSize DSwitchButton::sizeHint() const */ void DSwitchButton::paintEvent(QPaintEvent *e) { + D_D(DSwitchButton); Q_UNUSED(e); DStylePainter painter(this); DStyleOptionButton opt; initStyleOption(&opt); painter.drawControl(DStyle::CE_SwitchButton, opt); + + painter.setRenderHint(QPainter::SmoothPixmapTransform); + painter.drawImage(rect().adjusted(4, -8, -4, 8), d->player.currentImage()); // 为了显示按钮的阴影所留的空白 } /*! @@ -108,7 +116,38 @@ void DSwitchButtonPrivate::init() q->setObjectName("DSwitchButton"); q->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); q->setCheckable(true); - q->connect(q, &DSwitchButton::toggled, q, &DSwitchButton::checkedChanged); + + auto initPlayer= [this, q]() { + DDciIcon icon = !checked ? DDciIcon::fromTheme("switch_on") : DDciIcon::fromTheme("switch_off"); + player.setIcon(icon); + player.setMode(DDciIcon::Mode::Normal); + auto palette = DDciIconPalette::fromQPalette(q->palette()); + player.setPalette(palette); + player.setDevicePixelRatio(qApp->devicePixelRatio()); + player.setIconSize(DCI_ICON_SIZE); + player.setTheme(DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType + ? DDciIcon::Dark : DDciIcon::Light); + }; + + initPlayer(); + + q->connect(q, &DSwitchButton::toggled, q, [q, this](bool ckd) { + if (checked == ckd) + return; + + checked = ckd; + DDciIcon icon = checked ? DDciIcon::fromTheme("switch_on") : DDciIcon::fromTheme("switch_off"); + player.setIcon(icon); + player.play(DDciIcon::Mode::Normal); + + Q_EMIT q->checkedChanged(checked); + }); + + q->connect(&player, &DDciIconPlayer::updated, q, [q]() { + q->update(); + }); + + q->connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, q, initPlayer); } DWIDGET_END_NAMESPACE diff --git a/src/widgets/dtitlebar.cpp b/src/widgets/dtitlebar.cpp index 6c32eeaf1..20873d65a 100644 --- a/src/widgets/dtitlebar.cpp +++ b/src/widgets/dtitlebar.cpp @@ -354,6 +354,10 @@ void DTitlebarPrivate::init() q->setFocusPolicy(Qt::StrongFocus); auto noTitlebarEnabled = []{ + if (qEnvironmentVariable("DDE_CURRENT_COMPOSITOR") == "TreeLand") { + return true; + } + QFunctionPointer enableNoTitlebar = qApp->platformFunction("_d_isEnableNoTitlebar"); bool enabled = qApp->platformName() == "dwayland" || qApp->property("_d_isDwayland").toBool(); return enabled && enableNoTitlebar != nullptr; @@ -427,7 +431,7 @@ void DTitlebarPrivate::updateFullscreen() void DTitlebarPrivate::updateButtonsState(Qt::WindowFlags type) { D_Q(DTitlebar); - bool useDXcb = DPlatformWindowHandle::isEnabledDXcb(targetWindow()); + bool useDXcb = DPlatformWindowHandle::isEnabledDXcb(targetWindow()) || qEnvironmentVariable("DDE_CURRENT_COMPOSITOR") == "TreeLand"; bool isFullscreen = targetWindow()->windowState().testFlag(Qt::WindowFullScreen); // bool forceShow = !useDXcb; @@ -1104,7 +1108,7 @@ bool DTitlebar::eventFilter(QObject *obj, QEvent *event) switch (event->type()) { case QEvent::ShowToParent: d->handleParentWindowIdChange(); - d->updateButtonsState(d->targetWindow()->windowFlags()); + d->handleParentWindowStateChange(); break; case QEvent::Resize: if (d->autoHideOnFullscreen) { diff --git a/src/widgets/dtoolbutton.cpp b/src/widgets/dtoolbutton.cpp index a2ac4d42f..7ce71c191 100644 --- a/src/widgets/dtoolbutton.cpp +++ b/src/widgets/dtoolbutton.cpp @@ -2,13 +2,25 @@ // // SPDX-License-Identifier: LGPL-3.0-or-later -#include "dtoolbutton.h" +#include "private/dtoolbutton_p.h" + +#include +#include #include #include +#include +#include +#include DWIDGET_BEGIN_NAMESPACE +Dtk::Widget::DToolButtonPrivate::DToolButtonPrivate(DToolButton *qq) + : DObjectPrivate(qq) +{ + +} + /*! @~english @class Dtk::Widget::DToolButton @@ -17,8 +29,15 @@ DWIDGET_BEGIN_NAMESPACE DToolButton::DToolButton(QWidget *parent) : QToolButton(parent) + , DObject(*new DToolButtonPrivate(this)) { - + D_D(DToolButton); + connect(this, &DToolButton::pressed, this, [d]() { + d->m_dciPlayer.play(DDciIcon::Pressed); + }); + connect(this, &DToolButton::released, this, [d]() { + d->m_dciPlayer.play(DDciIcon::Normal); + }); } /*! @@ -30,10 +49,26 @@ DToolButton::DToolButton(QWidget *parent) void DToolButton::paintEvent(QPaintEvent *event) { + D_D(DToolButton); Q_UNUSED(event) QStylePainter p(this); QStyleOptionToolButton opt; initStyleOption(&opt); + + if (!d->m_dciIcon.isNull()) { + p.setRenderHint(QPainter::SmoothPixmapTransform); + p.drawImage(rect(), d->m_dciPlayer.currentImage()); + + if (opt.state & QStyle::State_HasFocus) { + p.setPen(QPen(palette().highlight().color(), 2)); + p.setBrush(Qt::NoBrush); + p.setRenderHint(QPainter::Antialiasing); + int radius = DStyle::pixelMetric(style(), DStyle::PM_FrameRadius); + p.drawRoundedRect(opt.rect.marginsRemoved(QMargins(1, 1, 1, 1)), radius, radius); + } + return; + } + p.drawComplexControl(QStyle::CC_ToolButton, opt); } @@ -60,6 +95,26 @@ QSize DToolButton::sizeHint() const return QToolButton::sizeHint(); } +bool DToolButton::event(QEvent *e) +{ + D_D(DToolButton); + if (d->m_dciIcon.isNull()) + return QToolButton::event(e); + + if (e->type() == QEvent::WindowActivate) { + auto palette = DDciIconPalette::fromQPalette(this->palette()); + d->m_dciPlayer.setPalette(palette); + d->m_dciPlayer.setTheme(DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType + ? DDciIcon::Dark : DDciIcon::Light); + d->m_dciPlayer.setMode(DDciIcon::Normal); + } else if (e->type() == QEvent::HoverEnter) { + d->m_dciPlayer.play(DDciIcon::Hover); + } else if (e->type() == QEvent::HoverLeave) { + d->m_dciPlayer.play(DDciIcon::Normal); + } + return QToolButton::event(e); +} + /*! @~english @fn void DToolButton::setAlignment(Qt::Alignment flag) @@ -85,4 +140,22 @@ Qt::Alignment DToolButton::alignment() const return Qt::AlignLeft; } +void DToolButton::setDciIcon(const DDciIcon &dciIcon) +{ + D_D(DToolButton); + d->m_dciIcon = dciIcon; + d->m_dciPlayer.setIcon(dciIcon); + d->m_dciPlayer.setIconSize(120); + + connect(&d->m_dciPlayer, &DDciIconPlayer::updated, this, [this]() { + update(); + }); + + connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [this, d](DGuiApplicationHelper::ColorType colorType) { + auto palette = DDciIconPalette::fromQPalette(this->palette()); + d->m_dciPlayer.setPalette(palette); + d->m_dciPlayer.setTheme(colorType ? DDciIcon::Dark : DDciIcon::Light); + }); +} + DWIDGET_END_NAMESPACE diff --git a/src/widgets/private/dbounceanimation_p.h b/src/widgets/private/dbounceanimation_p.h new file mode 100644 index 000000000..09e2d5b3b --- /dev/null +++ b/src/widgets/private/dbounceanimation_p.h @@ -0,0 +1,23 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef DBOUNCEANIMATION_P_H +#define DBOUNCEANIMATION_P_H + +#include "dbounceanimation.h" +#include + +class DBounceAnimationPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate +{ +public: + DBounceAnimationPrivate(DBounceAnimation *qq); + + QPropertyAnimation *m_animation; + QAbstractScrollArea *m_animationTarget; + int m_deltaSum; + +private: + D_DECLARE_PUBLIC(DBounceAnimation) +}; + +#endif // DBOUNCEANIMATION_P_H diff --git a/src/widgets/private/dbuttonbox_p.h b/src/widgets/private/dbuttonbox_p.h index b383c9bf8..9a540728d 100644 --- a/src/widgets/private/dbuttonbox_p.h +++ b/src/widgets/private/dbuttonbox_p.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2019 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2019 - 2024 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -12,6 +12,7 @@ QT_BEGIN_NAMESPACE class QBoxLayout; +class QVariantAnimation; QT_END_NAMESPACE DWIDGET_BEGIN_NAMESPACE @@ -26,6 +27,13 @@ class DButtonBoxPrivate : public DCORE_NAMESPACE::DObjectPrivate QButtonGroup *group; QBoxLayout *layout; + int m_hoverId; + int m_checkedId; + int m_pressId; + + QVariantAnimation *m_hoverAnimation; + QVariantAnimation *m_checkMoveAnimation; + D_DECLARE_PUBLIC(DButtonBox) }; diff --git a/src/widgets/private/dindeterminateprogressbar_p.h b/src/widgets/private/dindeterminateprogressbar_p.h new file mode 100644 index 000000000..330504358 --- /dev/null +++ b/src/widgets/private/dindeterminateprogressbar_p.h @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#ifndef DINDETERMINATEPROGRESSBAR_P_H +#define DINDETERMINATEPROGRESSBAR_P_H + +#include +#include + +#include + +class QPropertyAnimation; +class DIndeterminateProgressbarPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate +{ +public: + DIndeterminateProgressbarPrivate(DIndeterminateProgressbar *qq); + + QWidget *m_sliderWidget; + QTimer *m_timer; + bool m_leftToRight; + QWidget *m_spotWidget; + QPropertyAnimation *m_animation; + +private: + D_DECLARE_PUBLIC(DIndeterminateProgressbar) +}; + +#endif // DINDETERMINATEPROGRESSBAR_P_H diff --git a/src/widgets/private/dmessagemanager_p.h b/src/widgets/private/dmessagemanager_p.h new file mode 100644 index 000000000..0b77cf637 --- /dev/null +++ b/src/widgets/private/dmessagemanager_p.h @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#ifndef DABOUTDIALOG_P_H +#define DABOUTDIALOG_P_H + +#include "dmessagemanager.h" + +#include + +#include +#include +#include + +DWIDGET_BEGIN_NAMESPACE + +class DMessageManagerPrivate : public DCORE_NAMESPACE::DObjectPrivate +{ +public: + DMessageManagerPrivate(DMessageManager *qq); + + QPropertyAnimation *m_aniGeometry; + QPropertyAnimation *m_aniOpacity;; + QParallelAnimationGroup *m_aniGroup; + QLabel *m_label; + + D_DECLARE_PUBLIC(DMessageManager); +}; + +DWIDGET_END_NAMESPACE + +#endif // DABOUTDIALOG_P_H diff --git a/src/widgets/private/dsearchedit_p.h b/src/widgets/private/dsearchedit_p.h index d5c3eaac3..58d614b33 100644 --- a/src/widgets/private/dsearchedit_p.h +++ b/src/widgets/private/dsearchedit_p.h @@ -9,6 +9,7 @@ #include #include +#include QT_BEGIN_NAMESPACE class QAudioInput; @@ -37,6 +38,7 @@ class DSearchEditPrivate : DLineEditPrivate QWidget *iconWidget; QLabel *label; + QPropertyAnimation *animation; #ifdef ENABLE_AI QAction *voiceAction = nullptr; diff --git a/src/widgets/private/dswitchbutton_p.h b/src/widgets/private/dswitchbutton_p.h index 6fc76e72e..81c8513ad 100644 --- a/src/widgets/private/dswitchbutton_p.h +++ b/src/widgets/private/dswitchbutton_p.h @@ -6,9 +6,11 @@ #define DSWITCHBUTTON_P_H #include +#include #include +DGUI_USE_NAMESPACE DWIDGET_BEGIN_NAMESPACE class DSwitchButtonPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate @@ -28,6 +30,8 @@ class DSwitchButtonPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate double animationStartValue = 0.0; double animationEndValue = 0.0; + DDciIconPlayer player; + public: D_DECLARE_PUBLIC(DSwitchButton) }; diff --git a/src/widgets/private/dtoolbutton_p.h b/src/widgets/private/dtoolbutton_p.h new file mode 100644 index 000000000..ff90bf41e --- /dev/null +++ b/src/widgets/private/dtoolbutton_p.h @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#ifndef DABOUTDIALOG_P_H +#define DABOUTDIALOG_P_H + +#include +#include + +DWIDGET_BEGIN_NAMESPACE + +class DToolButtonPrivate : public DCORE_NAMESPACE::DObjectPrivate +{ +public: + DToolButtonPrivate(DToolButton *qq); + + DDciIcon m_dciIcon; + DDciIconPlayer m_dciPlayer; + + Q_DECLARE_PUBLIC(DToolButton) +}; + +DWIDGET_END_NAMESPACE + +#endif // DABOUTDIALOG_P_H