From 7910dadbca869512b869c927be3c56b9127a2847 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 22 Jan 2021 09:51:32 +0100 Subject: [PATCH 01/12] LanguageClient: Do not filter executed commands The commands provided with the capabilities are not the only allowed commands, but the ones that can always be executed. Change-Id: Ie005fafe2e64c334f67809c00623dec2901972c6 Reviewed-by: Christian Stenger --- src/plugins/languageclient/client.cpp | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 79108970594..f3f76b87643 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -708,23 +708,13 @@ void Client::handleCodeActionResponse(const CodeActionRequest::Response &respons void Client::executeCommand(const Command &command) { - using CommandOptions = LanguageServerProtocol::ServerCapabilities::ExecuteCommandOptions; const QString method(ExecuteCommandRequest::methodName); - if (Utils::optional registered = m_dynamicCapabilities.isRegistered(method)) { - if (!registered.value()) - return; - const CommandOptions option(m_dynamicCapabilities.option(method).toObject()); - if (option.isValid(nullptr) && !option.commands().isEmpty() && !option.commands().contains(command.command())) - return; - } else if (Utils::optional option = m_serverCapabilities.executeCommandProvider()) { - if (option->isValid(nullptr) && !option->commands().isEmpty() && !option->commands().contains(command.command())) - return; - } else { - return; - } - - const ExecuteCommandRequest request((ExecuteCommandParams(command))); - sendContent(request); + bool serverSupportsExecuteCommand = m_serverCapabilities.executeCommandProvider().has_value(); + serverSupportsExecuteCommand = m_dynamicCapabilities + .isRegistered(ExecuteCommandRequest::methodName) + .value_or(serverSupportsExecuteCommand); + if (serverSupportsExecuteCommand) + sendContent(ExecuteCommandRequest(ExecuteCommandParams(command))); } static const FormattingOptions formattingOptions(const TextEditor::TabSettings &settings) From 24c03b51fd12ef7b9bc08f68d581c845d2800e14 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 14 Jan 2021 11:02:40 +0100 Subject: [PATCH 02/12] cmake build: Remove unused internal variables Change-Id: I68ed91462c3b3c9f27c2a0a5749c373704ce467a Reviewed-by: Cristian Adam --- cmake/QtCreatorAPI.cmake | 31 ------------------------------- cmake/QtCreatorAPIInternal.cmake | 3 --- 2 files changed, 34 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 5e88b575120..f03fd429782 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -245,24 +245,6 @@ function(add_qtc_library name) qtc_enable_separate_debug_info(${name} "${IDE_LIBRARY_PATH}") - if (library_type STREQUAL "SHARED") - set(target_prefix ${CMAKE_SHARED_LIBRARY_PREFIX}) - if (WIN32) - set(target_suffix ${PROJECT_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(target_prefix "") - elseif(APPLE) - set(target_suffix .${PROJECT_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}) - else() - set(target_suffix ${CMAKE_SHARED_LIBRARY_SUFFIX}.${PROJECT_VERSION_MAJOR}) - endif() - set(lib_dir "${IDE_LIBRARY_PATH}") - if (WIN32) - set(lib_dir "${_DESTINATION}") - endif() - update_cached_list(__QTC_INSTALLED_LIBRARIES - "${lib_dir}/${target_prefix}${name}${target_suffix}") - endif() - if (NAMELINK_OPTION) install(TARGETS ${name} LIBRARY @@ -519,16 +501,6 @@ function(add_qtc_plugin target_name) FILE ${CMAKE_BINARY_DIR}/cmake/${export}Targets.cmake ) endif() - get_target_property(target_suffix ${target_name} SUFFIX) - get_target_property(target_prefix ${target_name} PREFIX) - if (target_suffix STREQUAL "target_suffix-NOTFOUND") - set(target_suffix ${CMAKE_SHARED_LIBRARY_SUFFIX}) - endif() - if (target_prefix STREQUAL "target_prefix-NOTFOUND") - set(target_prefix ${CMAKE_SHARED_LIBRARY_PREFIX}) - endif() - update_cached_list(__QTC_INSTALLED_PLUGINS - "${plugin_dir}/${target_prefix}${target_name}${target_suffix}") endif() endfunction() @@ -729,9 +701,6 @@ function(add_qtc_executable name) endif() qtc_enable_separate_debug_info(${name} "${_DESTINATION}") - - update_cached_list(__QTC_INSTALLED_EXECUTABLES - "${_DESTINATION}/${name}${CMAKE_EXECUTABLE_SUFFIX}") endif() endfunction() diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 79583f79254..cba693946bd 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -88,11 +88,8 @@ else() endif () set(__QTC_PLUGINS "" CACHE INTERNAL "*** Internal ***") -set(__QTC_INSTALLED_PLUGINS "" CACHE INTERNAL "*** Internal ***") set(__QTC_LIBRARIES "" CACHE INTERNAL "*** Internal ***") -set(__QTC_INSTALLED_LIBRARIES "" CACHE INTERNAL "*** Internal ***") set(__QTC_EXECUTABLES "" CACHE INTERNAL "*** Internal ***") -set(__QTC_INSTALLED_EXECUTABLES "" CACHE INTERNAL "*** Internal ***") set(__QTC_TESTS "" CACHE INTERNAL "*** Internal ***") function(append_extra_translations target_name) From 8e6d1f549c3c042fa50dd6b75fa923a8b94545c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= Date: Sat, 23 Jan 2021 14:20:35 +0100 Subject: [PATCH 03/12] Doc: Remove a wrong paranthesis This does not belong there. Change-Id: I7630a47a52f6b97a6797856e229884cb4b11a515 Reviewed-by: hjk --- doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index 66be3ccef4c..43728168504 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -1230,7 +1230,7 @@ \li \c{bitsize(self)} - Returns the size of an object of this type in bits. - \li \c{(alignment(self)} - Returns the required alignment for objects of + \li \c{alignment(self)} - Returns the required alignment for objects of this type in bytes. \li \c{deference(self)} - Returns the dereferences type for pointer From 67a9a6beb42cf9009d7a9cdf87f4062f83a7697a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= Date: Sat, 23 Jan 2021 15:52:40 +0100 Subject: [PATCH 04/12] Doc: Document argument of Dumper.Value.members() Took me quite some time to figure out why my code did not work. Change-Id: I2451745762e4d9887aa220664b06f539e92ec41c Reviewed-by: hjk --- doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index 43728168504..2610210524e 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -1319,8 +1319,8 @@ \li \c{pointer(self)} - Returns an interpretation of this value as a pointer in the current address space. - \li \c{members(self)} - Returns a list of \c{Dumper.Value} objects - representing the base objects and data members of this value. + \li \c{members(self, includeBases)} - Returns a list of \c{Dumper.Value} + objects representing the base objects and data members of this value. \li \c{dereference(self)} - For values describing pointers, returns the dereferenced value, and \c None otherwise. From d784696f6d6fb3fd4061acd2eca897bce03b0254 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 21 Jan 2021 12:02:02 +0100 Subject: [PATCH 05/12] Doc: Describe zooming in Form Editor Fixes: QDS-3627 Change-Id: I6f5b59ee3c8d287a8342c4ffb7f47f10c4013b8c Reviewed-by: Alessandro Portale Reviewed-by: Thomas Hartmann --- doc/qtcreator/images/icons/zoomAll.png | Bin 0 -> 382 bytes doc/qtcreator/images/icons/zoomIn.png | Bin 0 -> 342 bytes doc/qtcreator/images/icons/zoomOut.png | Bin 0 -> 328 bytes doc/qtcreator/images/icons/zoomSelection.png | Bin 0 -> 370 bytes doc/qtcreator/images/qmldesigner-zooming.gif | Bin 0 -> 93266 bytes .../src/qtquick/qtquick-form-editor.qdoc | 31 +++++++++++++++++- 6 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 doc/qtcreator/images/icons/zoomAll.png create mode 100644 doc/qtcreator/images/icons/zoomIn.png create mode 100644 doc/qtcreator/images/icons/zoomOut.png create mode 100644 doc/qtcreator/images/icons/zoomSelection.png create mode 100644 doc/qtcreator/images/qmldesigner-zooming.gif diff --git a/doc/qtcreator/images/icons/zoomAll.png b/doc/qtcreator/images/icons/zoomAll.png new file mode 100644 index 0000000000000000000000000000000000000000..006012384dd5241dfa5b66fe39df226071d2ff57 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd5W$eeQS*<1fzj2|#W6%9xb}jt#^FMl;~&3w z9tuoiXV-O~c*s$sa)(A?)WR4Of5B%8na+B1WK}XB8tn8HnwaS7VtLXzLrJN#QcAx4 z{~vSB`M2NyuKfD<8vox@e?P2QzIf@*^qT*VuFeq9+&{0aztd~)e@hYGYp>f6Jc@e9 z^KU5t($i8M+xTlv}ScktMKWLUm^hYKivygfZb3fr9U5SOkQZF{mWlq_?Y??=7 zv~WzC(`4642g>ZW@qUPSnQ7eEbgjZ-che&4@=G-_zQQ_|icDL~SqonMth8Su9@128 z!ehtYdpqE|x%snFOFxDx@k92RSIS;HmWS;;sIaZx&}~x3mH79QO0w_k-p%3(`7_6< jYu$gg>c{n4zwkQWFrRnlUhPW;1_lOCS3j3^P6H$?WWNSU$L=b8@7Fgi+H1u74s8Jb&vrj+jLpI`CmT!-*d`^#U3kfd!YRH!gJN zKh&oEqyC9t%)xnSY;Dfm3X=>z{Qtk2ZAX*yIUXMC{-%g`F$%8lV&294|8HN(8~))+ zL!+WMS0Zc6RxSB;5B{5r=CQT0pLaa7=bcIPh6^eyd<6>Ra(?d(HTcJFx|@Nm&GqsE zu7BHH>{={z*X6xkquaZ*-0{t>2pf0 uXZ}1Qo+cW=xXDB<;lzm}>VN;+Gwcfva%w;Jzm}5ewg5c5T|R zOS=`y&X#3(I4v;_(VH$=b>Po|ds`;+svK{a@b5df$_J~*Yi^%BqrT5zbpzLgrG|{o gZfbTf|Nm!HGmnenR9i02z`(%Z>FVdQ&MBb@0Cc*JCjbBd literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/icons/zoomSelection.png b/doc/qtcreator/images/icons/zoomSelection.png new file mode 100644 index 0000000000000000000000000000000000000000..06cf260833d971f2f6a714fc6d739fade6f67fc8 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd5W$eeQS*<1fzi^_#W6%9IQd6E)4v$|s=`+n z|82LEq$^Y(wpe3D9hXp?#q)LV4)2T()B0g-U@`CaW1jF0PZ^k- zC*FDW#`o{{EC2uBzp}s3EyJGKIhHl#pgsSDcdrrzcCM7qFc9#FxqgK;NPx9`yRm_Z zsyX9VldtoWe*c$0GU>;*?^-bj?-{YRF?X#FRk-y3f4xrDtNe#Gg>vf>{`<4F+14*- zKbrCGabw4kjALsnzsan7kjTaC{4;67K>=06Sqj?Qd|I`C$RGdCv0{nP(TTB5f*h>> z`D+srCd6%3|I~AAHRu2T^DkOlds*7sn7GKy=itpthbMf<{$%y<)tf6XxgFlL{QPe! zDR3!n|2Ol^>(U#VSvCJ(cW#o>`fJU-RmgqhE2<1+A$WMr@KFT{{PR< Z5Ou{`iO>7<4F(1V22WQ%mvv4FO#qc~s89d^ literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qmldesigner-zooming.gif b/doc/qtcreator/images/qmldesigner-zooming.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8d5beb6b3a1ff40a98e38752cdc51932725ba3e GIT binary patch literal 93266 zcmZ?wbhEHbtYhL~`tHWS$;rdPDI_f|{r~@e85tP`1%>_l&wT#=<;lzEDk>_Hl2SW& z?!12Ou7H5RMMcH4X3f^q(>r$jbYM{MrcImF)HT{Wy0Wvg zCr+H0n3yzw{`|(q#+sU%#Y>i?r>AFTW=2NGSXfvrUcA`W&c3UwtGm0qva&KNDr(=p zef9PAEv;>3<&~%QAJ){;(bCe=(9~2@Q)ggc5aAKNtU1g1^k0@qCz*@qi%HtZYq}cG zKVvlU#Epe%tNOC`?CHtY(b?bOv*X%5t?VU>vovpieYk%~Tl~R0Q?{I&e)Unr)RX@o zK1`dv=he?QGvg#v`ugZLr25h-%d?k?abNBOssNj zyc!GbrrJtKo=~3@Ct=7gq;V`->O1&pvW_*TJ(FZ#~?5;R?&7^NzcpvaGu`;q*h6MVD^u zKVM@PYrN%J#HMR3lWy-mcTq=I)$wdlc7%Cm#DrB?rsmC&fEt zI%TiQzO1>t_jzw_e(AEk%lAItt!}GRx#IMa{T<3O!m61|)I8f-Gt_4%Da|>2e$L^G zEc4G-pS;X6>5Sx@a~|yn=A65D^U+lX450X*+s`#5*x50_)kx2PnUR5kLGdRGO9;b% z1|5)MP&Q%U_|Kr~Bj8c6;9wI6zn0I5f`y0M1mwMXJPH>b?UK;XI&-3M@$o(d`z{{O zq9rFMY51@5Ia##y^fZI`tPrQo%g)ZWD1LS4~wtF=|@>guq~Nq1Lm)xN$y?r@W=_BNfHo6{~Yid}7{+djYG@u|75H|yTsUH19W z-PPOm@9(c;W|q_0Ves&9*8NMdXLfA#J2HXSyU(X`)6-Kk^s~>MsVojU+UMLo?e)&h zFE6d|U+s6cYHRj2nW#N8Y|Nmg`d;tnt?#cLsORSQtJ(4KfNWffM;9~8TOp6u z1qr7fZ$4M`B_K2Wy2S3XkUN=4|KA(w%OyuyU3{){?%$5z-#*+w-9LX_`(){*2g2=aUUCcl zUL08}6vtG$Z03@_tgMwQs-~&&dEI=_$mX%}e}@RW`45I>exqAE9q0MJ{iz|odQFnI z_y!4w$zo2+oG#m(a(mIW(Mw{*T`_-~)kiAMyvkTBbi(NN<<^CDGhgjkKF#~x&Szy) z8`;0}Ed5W?Q!019>Dfmb+m}{wr)-|075HW`!)28ZTc@OP ze>lt{eP*&&%#W6L$6gk_DLkJ3sNiss>x=?sHlLHPuIveXX>gd`E0ka?ShyZ_DpbDtzF`dD(U8 zrafv~YLu@VeSWsX|6x+j6b@y2s&${^jd}pO`#7 zyYSh}<9xs0Yzm*cj6?6qI%{6@o&!@jZ48cT1^!!gZnmxTy%heZTg>Bkf4;EX+oeuA zB>peYhFhU~KHm8*^7s4scK&}qTyyXL{b|v;-tOm{_3!_MJX@^4U+C@i|Ns7eTQ2qg z&!6w_|Nm#;S-`;VaeztcL&Klj@=W3<4zO8$XcXvKz@jeU$QSW|N&JigoB4`^d_^Cc z<#-f1+%*mfP5RKH=A+0JzT%MBrVp)pJ&HW(8i%DWeP}Z~qsUjj;;`JO5AAk5N&^4e zHI66=O>C91SR^1Fz^G=mu`{4%k;uXf7vX38^}Z_?32k3-RIlh`cN~wh#PJnQ+><7@ z1^PS|xqjn_ahgDPxJ{SzbB$wGmp=BDol%xcoZ(`-YC>;ANHXge33m&zqy5z`OO%99 zo^ZAL)S6b4!p;=_mT(m8F)1ue$G6oVdk)a zJ;2D9rO7CBBY|CiK_;i}24=q64v~;#NjpWRxgpNcUA_3A%7y>=pyl z);$c25eZB@UJF=EJsuV>zJ2g@T6yc92MMZ0g6%wg+xJMMIPpF@&=UQmaOc_7hh@eE zOy)-$7&SiRartgwke+gY(NKYbU*-by|GMxNw_Z(lt^fwUDG6+~T`7Imno}qd|kMkj>L!0Z;I{PgC_Z+HB?=6izKz z-1j*9kg|HiYz+-Yj;xbUjJ7NMXVm?0kVPkeL9U^JBUf!Ivf~Se;nlXdmy6} z!@#O&khrmb?i+zS3M~2sW?Ot;bjR2z@rb=(l`_!CE1X!ngAJe(e zyG-Hf54Y=oc*{NOp?K>412^?Gx`a+V5-9Vrx-|V>39Cp0i~bEq&boxsHPZuLGszuf zGd|E{^?UDpjS~kh8fP@JG%PqYcWLgzOzFd}!TYvP%v&qm@9ATDPHg(DYZYwUPelth zMX}aSIH=&akTY=3BFVZ7Eayu1aeUn=_ife(7qJY6p7Jww&(A+D)i_@jv#5L{v%-V} ztlSLxJX{Z$RXh|wP31rI+`YavRem??xpjXx7hm8>vT)yh^E>GHrWeJ>NA=g z)N6WOYRspFDIJNi+7Y84!k`eq%$2~%Wx&Ex;CMpaU+qb=!wW}ujk3ULWp~)~vc7Xm zJ>lM!z>%)tX1$`>_DA!#G$xh=CYc6C-x)2M2bdLHnYkKjbPbpk76conFv@;lobcVT zWtq3e1aB4xCZ1#M(%;gfrh4lw@K%_>U?<@;bGeV6gU|L$9d`d0ROYs1ZV|28<5D&M zTY%%nB3FT?_zTRo0j$*@8fSN~y}H~ve+PThhb(LLE@SbUN7u6@LTe;lokTaZHh*!l z*}z~^5H6;`An|}vN1#P}O84#=j{7)z4rMr{Ugr*IaO`hjJM*IFMH!<{0mr@z9QF-y zu_4`7W!+jXJ$ov84z6%AW?)pFz+h6!$Rf_9qQIaV((*NgLAAh3@k_z~@(f8A1|by4*5Qe7Kd_q{aD+dYxNe*IdJA8(AK4Zj-BvGpwN)6;ZDi1GV6ymcz$AZxS%;xt z&1JHF!eon;lWks3)>u*-ufTdhf%WOsDc&o4(++U#4PXlKaJw^u$>`@~)5^(~J15(& zbYfLtR@lH`(7^0Gfl>Mbv(kZXjTUBA112UzCe;T_i_+UCr87zv`2ShbU)SLj-OBvm zrBHBXsKS&=vk(3rPdm0Vb@G0w>}ijlGp%r`xzlp>etx-jP|0BWEq2IZNM##ppqp+5={}3(Ox_ z+O=I6B_=S>oXTtwFkLpKU&Mh?`9r;UK{?BY_MDfF(XNa^;uB_zb?`g4_;1CD`~Hv)~-kWe5>13U76MA?fl?GA2oD3DYTOhVUi2 zCCgG)d1Re(R$9R9vCDl9tCw@AC(l&(q$vB;UCXL(Ew8!d>h;UBENgkol;z2VKEy(qAk5T-@7E+4V%N?5bKht;?~oYvr6-E9d@NIZtZU0;^T_M;HwYR~a>~ zS~Y9cnq8~b-CDKb*Q!lYtG8IK-WIibN7ZVBi@`f@t={!&^?_fj4@s>#VzuU2)S44j zYfjBt!xgyj^shB%xYk~hT6@K6?X{@2H>%d&+9kAS*V=ot);{>P_L0=OCsym8MXh`A zYR!wPb#Hd9dv|NyhhOVHNv*$iYwhQ%^J3-R9GsPucIiuES7=uPa^ z8#Sso>FnO5cYBk;?=_0QH@|Cf-|Z~{zqj1<+7cMOH7I*)MD^A+r?y1R-Wqp%Yr^lXB92=VqqikxZ_CKu z8dJS3XZE(d+uNL_6Z5UN7kFKYMMfmEKXOy`yFJI`x!Q&9is3 z?%vTgdriab9X--JCs^-Pow$8c_0B1?ch2Az?BBg}*6*G3w0BP9-nB$}*HZ88bE|hP z+r4X5^tQ#PcWt=6Ya{p8mDamARqx*Rd(-;v-Fs&5&g*75Aid|1^`0ZqdyZA_Ir@6- z*4w+!yxtwwz2}1T-b>MYUhLX^?)IJ=tG8USV}um6|cck}n|yV3jZM(=Ic z-uKFSU!3%wA_mS6+?+)T`@UH3x$o^Hb70@E-TQo{_Y^$fJmSDJ*@0(QzyVg9{a;V- zePNyPXZL=-H=F-ibDn76nXrJHQRcur2KGbMJclM6I8nX->yHCUcMj-F9~7=Rq;A70 z_2%H^-3OFgcBt4KGJ3O7(1&MU!C{M@!;=N}98ch}UBi2*falZ%p4$y9#~1LPOyD_q zn)l=a-ctcbj!!spGJ4%<>BC_*hdH7T?`k-t?sLFK=E&j#p5qhvlYEZ2=^T+=!;^XE z;Bf;kw>QTQzdkg#^k_-XQ7P$zyBIiQYz}JuIV#h`@`T~|sRc)#6dcL)Ig$70NW*^_ z?jziX6sGJil{s1Fvr%x(@oFB<$qfhGWRA%C@b&btG_T=Ve1JD=&xw-)++J&VH%{O= zdEsDT&c>J4CnwpQX3aiS-NVDO=A_J@;(3@J16JMoLVizy)l4&-kGyE&Ybf4bLvUf-qSVb&cv*F$Ibrc z&bfDMPCi|I!h_+=h3+#lEGJ*gIsejTt&Ysz=9puyJ$s6B+JCP(&$f2WUz@!?GDj}| zUUMY+D7)-M*119+0X3Yl`^9|Miq^(>B%Bl0y{Nz|B%K>0?z>+s_R`bri@dWLbnaf# z`+Lbi_Og-fWt0E0m(6M~Tg<&|wfC~k-OF}=FFVLyak9PQ5_`q1_KL^cE4H?mm>Vu> zp1tUIcCT3NMz7ebVYOEy=3b53do||n)wsV`6aHTI>19c@y_UN6(gSOO#J$&Y?q19L zd#ynBdXepQJKsI2wtLET_k{Rfuep1@?(g*m*&9uFuN|y4K#__xJVz**oRBcXWAg^W+E|nS1Bd-aBXZUf%il z_8#9`XKn9ZiM@OB@11?Qcl2WfuHC(R@BiPsD|_$mlD+$*THrzLy%%%u_3GZ!wdL9I z;ob+?`=4y@e~G>St@i$px%a=Vy<6OK=hff)3~~?h&)(yFaPL>`1CDtQxaQq|B72BM z@qvKcL!r8>Z*&>C>mEwXd-&t*eU`WPh5tQNkb87a_m@TC#rhtZ#69NGyEUEnvDLoEjQ{Si}CR`)1ipJR~Tvz&X+R@>e* zu6tHg_b_&zXl~}>^z5m`^ z;JdQF?$P16w@2C8IQ(9p?t6V)_x8nqZy)4czP#??wYYc3L>bxFy)`@c=A7KScmLiU z<$W!g_wGv{>#w!%{Lj6;{r2I9d+#sWy%T@ObB&MfVgv7u0^W#(x2O8<|L}YKX5XuS zavyi|ec-lx!(MQoN&n5yyB{?AUe40{sBr$3$ovP3{9bdP|F9+Q&G)k(GxTot$$c{5 zf2sU`{@X2ayzF|sQu{w`-uG5#?qkFMpIhuc|2oTKS^wbLflr@$zexT2;KujGZ~b$p z{U5jJ@pAdSzOmr*)_w1O-MfG9-9?hd%pj_=EOfu?EiW+ z{XJJ7Z)*OxNd6bm_aDaI|5j7~BtQRtaQ(y5{O`wGANs7nRy+TP^}p|5YQH4Mf9(H% zuO+^wZT|Pbb9cMu|I|D8<8$nn6#G}p`0h`R|55Vp)1|dPSMWcYGyh9^|9wG&*VhE@ zFV2sddjIpzdB1k(KU}T`E zkn8_>BL465wSOkrzZS25xaq&#&o%Ym`SO2d_5ZjQ|L<<^-yIIGZ`3_3dH;70|3BIM zpILr?pT++V*L%;o?w>>)?*)DVW){99p%)%Fws49*a%xg>Y~mJE@|%*;c$kG#LO$=w zjf;=nCn&o1sYG6S;yFb#bY05LOHaLL7^a?E5_$QV?{r@AcRCgq)FtLQ)(XW~gd_wk z;gq&p<58&8-XmG)w>0YNtI#!(Tl1dYy87CCuBV`sY=djgp{$hhRkpKBG>Fb&yJ;Hzdmc`uslzL|7$2MLcu@{dr zx{gc5p832sc;`gbjI_JAzGmOp__rwU_0BK{jlY6SFx$u^LuxHmw$+y-klpaOK0m#=he~WGZ?HtoOt;3{POtw zcE>+@E)3T9*%nnb|61^>z4tc-zqMl#4k& zu7I-B3*ot(Quk$d(w1(U8rT>V)a6%^~0gS^dd zmjoN@oi>?lqj2)oGaqqzEdwR(`(Hl$JG|~P_EKO~ek~>2{^)<*GQl9W$T^tm2W4<*8LW}7~A+jm$#?#>g)G$31>@9 zEb67pA{-mo1!in7?c1<3qsngT%GSrqzcN>78b=-Q=MDS+D>BKeF_9U*q92UK2%5k$7(Ti=$sukn9eoAg#aQ#~K`|JJk=1<8L z`CB!687KX-DZ1#q-`aFn(019+SL5GD7F|4>*Y)gnbG&u=-SbcOeqZx(TTI2Xoof3k z82jDly*xZO?_bsP+ih{>FPFD#U%j+ z|HJPO{k{Hu@z(!T$M9{n;zs2JM&1es7PWvz?vw;(clZ5oSpu3~OD$m5t#IT?+t9eL zx&NiwkN=Lzp#jaxDv6xp7S>%)cw4k%rgHfHaFUobp;NuUy&Yl%h1dqryewm_RGrs(9hG9ZS{S0=tcT7HybT;c9SCqdQvV zG3)XZ%b&Ie_WpNrlDuniNOIBZ?(8Lt+mHQlvyuDIb9Ggc?B5kj%;YZe=5gFLlDW_( z!S{)my~J5srs1Fk)BFC(Th7b6x=%|p2vBIflk&o^fJtax0>e~}xvG8%3>SAUoGf-{ zF_-2~ub&Y{B}|b{m{G7 z=2GJxnFFe;IS(iPms>F7ddgD%;2CadZI><1wLDY1zu}Y@55vTx8HcS_YMxmbp;UHZ zXUhw#i<}odlNeew*bHt>@MPgxDzQq&L7i=qH>+Dw-=mZjIVVn@P3KdX{QOCpFWnEpbw=gysEk0WD zTt`uAx1W`Rg5ihE7d!?GUQ>z~Zr)htQNPMPSmt((LtuB+u=E!oIi zwrR1ouBOdQDXXR~J}Xb(73M2nTv~PP>MA4O2U?m@zO&Opm+yY_GU7voKf|EYO|9|@ zQOlV-dwRQG(M0B#S%xMDuFidSZHB|rJeTmuYkSnD%|4Nu`}Eh3m@idNS2-8H3iwv# z`^!5j$79zP$)CP+Vp;fs=*aaB5($xw3JP=IUtRIy-L57kz7%mg zSq2YVORtNCTW0;%Wvl#q`xayS4DEAgk~>9j#Rx91&{EMel#Ax{6FqLBrjxf(+FvF? z^0|bX$vQ*H_?kFb_DWTocN@j>|JW<4N2RlfvGyUt`8q133-WFb@ zzI)sGlsfJOi*Grq@LQd3WeZ#&x;D+NUgK>4x6eH?zAwEt2cAE9#Bf=&Os4g*n^Wgq zGh88Qk{P6a^GZX?%4u#J#hJoYqx$?i!0_W9l)_bdMuN?YFB zUEM0a?`U=WpKX)neyZ93`^4#2^SrqULbFDv6eNTtO8zAgXttMb0u57!+g-TPnn zW9$9ePuh3>JfENSYvca9kB2K%BoYqt#}(B7c^?1&_w)MyfB)Ar@HjBaI56orFxxn= z_&Bh}II!h7u-7@_cCImT?r)aTK<36!CEs zjd2vqaTKp{ zEyqc{#z~{cNpsEtc>|{(n-5Ny;iP-VN$-u5{vRiU9tZ81{U4P(4Q!lEe4I^VoXu(u z{x>wS*J0^2o8xS?#@Tw0vvtkk588((9&on*Z1R7Pp8i zuIY2!veq06Tyjv`=UCqcx4buQ`6Z4SKHKg7xE1NR7f*3WnXd*110Uqr&9-%rO4J{sB zYdpN~bo_tj&Cq?vqtE9^?}mN3Z#*W-oU}S};$^nSBp=VIHi!E|_DzZKoYCW{YjSeh zB=^Y^Jm;J_shV>#HXVVjG?m6k(kYgV|+A&eU8g)KGt(arP=4y zlual1_{eVdIqS3O%$qY3k9{s&*?3;YS5VmZa?i#~KE902KJ%Hau8C~iZeq10c-M^_ z-|0S`%ca|SX6#zE`|KC5)BksV-gS!E@A;?G=cL=ubK5>{S=-}cyR)0EIpY#e-{hK1{x^&{QB*=VNRgbS^JGoI(m*Y zNUR8ydwcQsXT~*OPA~Zqs5Ccl`5CXpcTP>1a8W5YXqAfBrYBooPH|ITduizs&$TH5 z##@5)LcQj(Y|s=vrYC!O&XG$hS1&cI1e^Mv{I9Qj+FA(RZ(= z_FRq0360|oi#~ESK_w*7_F8MrDQ{QLl-#gLm1~YyL(}J83;7b7`-CIwY*=7Rn7?UQ z?%y!4E!QGh!wPi6`*luP9Stdtz3wP-J?Lv#S#P+_ld!PX@XEc{eL}*5YJ)S6hS#4B zSMj|*HQ`dd?hS*MAVt%NR@=kMXD`aeMs(bDQYa0t``YneqBo+a^pNz@aB*Kl(YH5D zvjQiiF6x(!G!TlMym#Rw-BgGa)&S70J`|eHtOOf+) z=g;H4#lRG`NOb-}+o<1$QA=~@Ey=z0F)?Zd@4V%6Z@r!vwc2;?sa%J7w36;^-}JPhNU#^+?8M*U@=BCe~YSb8NkR z`{PExuQGlI_uiTu!ucu2|FccZa^L955qAz*+Z<1od#7{f*xHy?t#>9Zu-R)Gb9V3C zo;Q2;*LM8mxqEi&?WqQP_qg7D;CcFAO!Lmt*xP|;ZfghJU3_<=Z_KoS3td<5{@=nG z{ot+Cdf9sm1>+vK&U)kc9(z_ITDi(4nhx(8u053=uaaNkSdn)9IYNrFI~1AE#v z0lkMTUmnahNffm^Ao%aTXx&3bmxq%Y5~bJjgJ)Ny;H)pmvbU6R1PM{;71 zh4PZ3OdtQ}QcG42du;mek>A>Iow8)^v}E;VkFDAshw>)dq$OC#U9#JjpmEmY7w;3+ zWAW!yJ6D=KVeN~zJr~;j*30c#{FmNKE`RTS@SXeaY)UC(yx+6wzW<(Ne@qDsn;xK- znxvQ-vTs^&TxwWgYPj08u)b8!#?+{^sge7hI&4ghoi-)rU8?=V)C9gM@p8}11k;kg zO-}NArsJ5FmNz-I?wLwqTIRV)8SB!N7pCR-P0GIaOzL7W|vO)SZK&YGBB@oz%;ymXd{>D6%)s?I(Cbs)XYZ9?t8^q(Kn8`t$W=)HKakkK-& zzd0`BT|h?rzrMD<7p#wG%xnO!3}a_VrdbOat8^w7@Nma_KEE?NHaIHd#B~Pt@}B^9zgFOZE2d`uf^nW%B)Ve|LR*_u#Pl|NnaX z_WZo_QaGAYW z5W-`p@vzwaNJ4mva9YM4L8k~0@iwWpAGZaWOMX0TR9dDX*Qr`1A>N^NOhdX`_Y~{m z9*cEu$-Q}ZXFTp-^7e#sv>j7sO1cx@%CL#SaE2pft1P(B%=3NMzUM*%N z-dT6dpO>{_{eMNt|PGqZ|= z%JP-RZrqCC=6dkp@aj#^cF8Z?^{q>8%|141x%G#{qNO(+Q`45+c*^XzCj+N5PRJ(^Z6wd2_`X{nvBww;#T_3l{oGmkIVvfuCh@oe?` zeSf~ae!ri=U*-LQAk_qegB;0e9}aSw^V~edW36MDB;aoI@n}P6j^Qzx$4fsRlWo_z zeq5nDXH%5Q^qNnnl9sM9I&Dz=^wVj>>poY{th=>lbC|{ZH^rfv|8>5cRpHMy2@zlp z_;}Gre`|rKx4Euqu&00S)T zD-D;PW03TeyCJbahI1B^#D zvT?IiGzhM}y&WxM>faIvWlTt77uJr0Bz9%*d62|zoPDpx5+%=mXNY8aHOTX<(#FZ) zJge;P8srYjv&PwRolnj^JHNoW``PWvEiW&x2rk!MyKC#~>l^BW`h0h9dwbhm^6|a1 zyUkx5+}F%4FDGH~@$retn@!j4+4=c-) z^6}Z_)#811dw+l5a{KUn|NC41{QB`Ze&722`~M&Q^H=>rLp7_%gGP>RsR>OyW)jz$ z_}nxSLpS?oJZ$B!YJ1ow6V>X%Dch#8C^)q@<58#c)Q(48I?t9QbsHS}ajDzrT1K*` z$-NcH-IniOEbg@Zr=imB$d~z~#Z_*lO0%cl%O?%KcA87;0{t?d)`Z5bTv`>G_cFC2 zwoY?dSz=%2vy#+#E0+~zu6y~cAa|dpdVb-#%=FySdn=b`SH64sJhS$n=8ODhv0c#% z+SH^Z7j>DRwRwrJSTt>w!jfgnw8U1f+O|t; z)w*Nk$2MDO!y&QP!t0NzX-jWBWmYY^`J5ZK@TN;) z+QM6}rQH_VcB`ygX#2f3?z|m$`@HkEJ)0MuyX%$P>Ac-%_i^WM`gATjXYV(*?)-gw z-<{51_wQeH_5r5jyCM#9$cIKA;!HlZ;Q*ignfxO{w@+st{VCV;@yLa|H(Cefvbl;* zOzZR6v_x(Gn~YOh+NX+6x9#Kkyuj%EpY*e4?>mdnmA^ald5+!xKWP`7)_ay*Oqc8Z zGDBQ{t$5!;@9xu$o}#p9~ovO9AJ=SnP2(&9j9Q!Z9@%%24+^1KHFMJ3j>EA z*Zb|~^RYZ&X#Vjk-Kyq~Q;=8v(t!K&pAY?7Z&Ux@EJ%vMS>*tu(93$ZmOw_~iiNC3 z0-hW-3SBZ9j_iROntZwx*j!5v^2)7fmTQ^B=Db5uVA2J9HJgXALK7HH_6D@}CMI%s ze|C~ka%(gG-1jZ9l5~cs8-a+ zu81>>#I~O}s#o=~JAr4h#Bq;fMzcQlWcVzWx_;uA*}99J7gj3CtW7y;>GiU!tVBre z^NJ<5pDucY{8=ow@P_zZ4kHT-mInTxhxR*vb8AzLd=h8!gr*^h?d+ukyLV zSIg%-JHl^u*>isBCSkjGHOs3XY5IS?uzB9Io$7Wc7aO0iZCXD6-xEFu=2deWg|1k! z*=m#utqOQyuw~)7N)4B($`?D8+GmJ``WqNW$;B6$*f26es{>Y0+XqyRz5$n`!o;!ws*xP{GKG~qQ&%T#GzkPna zAKdn72e*CRsU|dXsNJ~M$Yu5-Ap+F)X$e(rU~H90(+FeI$$0Uw{nB5CM;$6wp<$gG z%Pg*RYHfRwnQz67tSGb!x<=^3-WD>$ay(Pw4udIwK{|JZ)x1Pxs+eWTho8 zU+~F1bH$Q%qKPY4>?+M#wPxAYtkoOx{##_N*%I|NYwZp%^Xzqd%u2J@ADFcxd&3c~ zuh|<^YLIKU#F^Wh+e`kD`ic+B5?I4t0<^YMttZRz(%CDPY?JSJ2A z=HqdNcAZZr5)>Vcj;qaIQ+P@%`ApI2kNbEww=r-q%sOM7%;CUbmfu!#qYko=%Ky$3qyeUTa#@*&c0u+TnWo9y%b@*`YQu_%-zyW@y)v5ZXB6r%fOVr z`0nak+3XL>ZUxFGlrmJDwl&}2F8`n50F$%!hVqS0zkMAT3i;=4d&tU?;P9Y}S(<@? zWr_;JBc2zsl^Yoi48A-&v26hZpPk1y;}?79^;NA~wLUKU^}6F+)o<3G^Q&I9?S5R= zyIt+4s^8E3$G4|Ke^0{94~Lt>_k5hFINzrHwDJELpU-ED@BPvn7{9mldUF4aZ?}W5 z@BQA^C~sHtc(VVDpUc9wW(R2Xh_ z_p3?jTcmMRI&fo`@h&B?+LE=pr#!mjLIfoaYb?>56xfqylPr1l#xlcA7dXvCpeZS?=wMUOn!fKzs=;QCGl^yH(~n)@Gn$+^H`OTE_h?O;@nTKijIiR~>nazQZ?aV4E8IML z`mbf}D>VI{PS`x>gr&OG(=C3yD>u*GU#V{M*2G`+YO&L&J*PY_C=HiJxQ^U=8@x|Ux#~1&6so|lld}*TH zvL$M{K1_#Z2I=RnS{k=Yz$e}Ea%A6=Wfo^w`jwx$Jnz?+xt5=TjXwR_*=zxk9}gU3a46sRhBJZDg;lnnCxg>nlZlmYk=NW;3Cm;*nK}1Ljxc1by7_F5(_YT>S!>sNKA)#|vvPTM)hEpi zueyILqZTx)aXBn(Thz8xF#E#I7fQPw}tE1?vu>nVO`+Wuu)1W z`=#J%ri3O&=9GXp%cgo}uM}WhBH7HuY!T3~cum#rR5m`If_KYauBuLDWVHF9v**(@ zZK;-D-(HLF|Hrl_Vh@w}8?ggy>U(4ka{Zs-z;w*$&WApJ=braRs>5~oqQn%CE0A4;7vMpXJlNhV-fB4_e$!D;{>Julw<+=l#m)#}l}(=02J7 zTO{}CjOQhl&*og-Qu%zrev`@Y=8Ib^@ihmzu#=Rp7;Chj_2!s zzuWWu-S77Y*!BN>I3k{3^Kh}e{@3THn0b>vhwo>o{c_n`xAv=BeE;5axAOUmzu%k8 zQ};un-@oqgv-$H2e!UVuQ}>&3KY#uHPv__7|NXYQyZ+y$cjx!7|M&a;8YYbcL4q3^ zrdcU4DK0(0scgsH}rrRI^j^W?-` zmzKmxb$W%Lx-@Oqm!$^1D}B%9%pFvl3D zfexVJ8K(gcN-l8j1`kSJUJ)$Krr@yk_4O`BmJHtA+urVXXXEH>w0QIO{*2<+&vI{= ze|S8(m0!Pa&(GASr#Yp|{bCKjyl7e;en0MqRoQ`CJG=k0zxjLM-J8dk<-ge-u=%+E z;nmaoPuDRteg5$L^>Nz;`|JOIZ`^*rp<1)tq25Vl#)1YGvyABl>?|7^@}zmh<~K{s zni}0=D3B1(D3+%2DB8W?h65WLPl8ixW30ua?r2UyhC*4s0}LIyhgKv6W=PG&tzwgQ+ooQSzcy`_+*5z|5wz;IwExSAO`FxGHC)H!?n6ffFn)tNB7q*+73S886 z=;(^YQ{q@&&YqgK>(bIn-&HS{^S!+}efffEvnH&_n6)a)J<{w$>Z;Yp{&!uR!n{}O z_1bA$yVQjCe0%kJ{Q)-ZHye(KWxv^YLT&Y%O=rwrzuA1jP5bSZD`DAhx86uw{dU`( zZ?_mG>}d0jWO~q*{Vw^*yw!QhFW0@+OM1Ic`+dU4bJ^?TzusG&ANTX!YyH^2|Fl0u zGxFzbh+>srQxM6i|7Jrtuf0xTn4o{o#t_l?H6Mc{^WSU?l&#nKHRgu?w0T07`xg2*ZJb&$e+8#*;RgRi4*6BjbAR?ENA?B zMN(D4^lC)#lmk+c<+2yA#kJp^a5ZWA*)5mTmiq==%DR81?6&cK-tVW2&hIU{TQPndGJMv0)F8kk8^~!qvxm~x{ua?_=e%*P$?QgBF_w7El>wR9)`+eO!H6P^o{r4O@ zCZAvU>6G`Gn$LXp{Cf{w^3N~$dX2lM_S?U_^LzK*tIyB>@#wU7-OqRP`uFX6wLU-Z z_q%rP`ajzz`PF|}c;CPF`7dv~`u|H$$uK-sIl#DXWdoavFq80&rL0CDy!dJorYLC~ zR1MtFFU}ML2OC_P~#Ya^4E$j3P;T2ijF^gqIW7m8oX)$Bg zZMtEry5mYjBo0@sU`c7{Npg{v;x#>LTDPn>?+uU4;~g_CFBuw_?RlK~X~pqVA2#++ z{;8~>tbD?8(d+uQDgKJWCug`C1sV3$sO%BY^pp+SG|6_4idy4|{k~BK_47g|{dLmx z3W~ZgWvR>32_`GOZg1E$bwj19POS3j$Ysl>ZL{IkD~_BM`>Due-=EZsCe1VEV#2M* za|8@0N4lr+Wz0NxgvVrY=FH5X;+X3pDQ1~F&VGs5Jo^RH@``<$=iH_hTR*W$PjXv% zPO)jzT(>tWHub_ME4x}_ew@R7JrN%)4scK8;_!^BDB9}N zxwzkq>{+t1;lcGs?MVKIS*rE3}vOyqvF zcf|~)MyC1Fd1{AC7q{vQED<;;Q&N)N*=wJcV7qhE^wYtjH^L57ZAd=B!@58trb?kv zqE-5fUc|#}9!Bo$%}YLoC9!Txtu$7#ku5mPeuKTGLUW!#!?bAW7Qj&Q z_tYitX_Cf8?^K%0vYPe$C0$t=P8+&3Rx{>Jjbs#+Fl>_$a40w?;`U|wO@{@M362@! zWiKAKE3|1WO3NYs0@wmt2TE^pEi)Sky_t|`V@wnfCO>@Zv zcvZ#+ij4ORQVfa=3>-5VggInpFf=eUaR_UPa3~x&*eW2%B=Nvt(a|Pm4ZA%n3X+a> z$p}~d*K-jCW#fhj2IZ0m{@aCKYV$0fPqJ2muiH91M`+* zT1)uc1NMJfm&C0g~BS{2|1D5AQL3ZZ*MOJyH@|mZo#%+ zvOYUDByKHdml3D|&n$GS$u%?-J~=(ZI9tqeW>LdgP{lhp;B_OT6Z49HKD)NQzTP)i zuT3F@@y+cW#m{+nMK~~=-_^`5&nM>ao|Td3irTq7JBydBV&zczaGUY<^BbG9x6f2? zWMFsN-u++Re_qOWCPq02-ShkQR=3~Xy??&{{(lF4e0ux({(jl|x_=C85_9VRb7nkf zTqGEw(8Oc*Vn!49BesVvB4HU1TP4y~JZzJJCY?teD$|gX&V%lAp(~1YHf%p<^_w$kKAFhrq%o(@!|dmRNz76&pG=wXaC<{N^D4)u)BL46pY~)H zXr@j5$h+g%j10N7r#(T2;4l-K$sC zYxmvM(yrWiE-Sli>%CRl#XH}8d(j=dJ&^Xb}b@x9-kNsI6M z^=-D;{(o#TVh5PS&xjsmQ}+=)#AUumr+A@H@gs#nO9(k4csP5jrl{zDDST z()1XilWNQFsPER=K1b-3-f2+(X`Og-{E{T;?*3_=Xr3=AAS@aaHK2KaQK5@Zm9MH4m% zVOsa(MZl92-NN>DJr181oa|?h5~~3ZLTF{Pc|<}6A$GlyWMFb(71BH=B9PENH0NMm8xM3x$V=ni$wjLUtG|a%mS;ja%YzVUb&p ztZChn7lFwvJ*uX11v7$_n_6^Z**;V}NNSjEth%n{LIC3tMr~FWi4Q_a7g!j1zNl0L zGdMCi%d%9QxZ>!%ij#|_;(*|4@VWtHr@g%aE4=s^bgnZtG4L^{F)(m6LdTRG!J$!Pv#y9jYqpB)Ps(k2z>0;CuUps#$v&elMJGsvvedGm!6u+%(r8Y#wC@e znVea-cpNT2X`IB^#P(Lwn4zVe%fV`jrow@S*8V3eHY{B!r$cPUP@zv)Q>J*@HzOb|24#2agy*iE2%z5GYXzaXhVbNN8X*Xuqc8 zrQpcG?9k38pb>H)kj-SO7Vm)v3&WPOGMQxj+6t=?x8=f}#KoXxm(6Mt){|o$?+~#-@ZE%lO8utR*2r! zVyT$w&0>&yk7vS$CyjlKO>7nw9~l~0g;+CsGPXE0Fk09%WoRijG%n$1X3z+ja3Gk? zSvD|maHpuQ-;@b~$%i>*ZKZfLg`PA_)=>8F>DctNajJ^H(gca%G=|CQ z{Bw8?OjbWWhf%>rq(I=2Hxnbf}d0ZHaG;aGn$FYJM~&ad)4UAFf2HePs^?C~#9tLp+299!g5)%T|j2|AbFffZ*xo{XNIk$`I z`kh&^QSo>mi+z(wr9;voMvY)T4a)!(FBWc4s{hDviov2V%!VPs(S?ys@so}~0)tPN zvnq?hhs_FSnOHeRQUw|koR{+`iOuoY;>5UGShj6%mFb%s&F~g9Cxgy$MqLJ822lnE zj%o(R0Ps`+3j-4<+7=#e6K3EE__1Npkxp(!yFDEnlbrixP2FT1CaJjgD)^?Q%qVhb znJg5=XHgLJjDbZY_a2YIq$iA%8JpNTUK%sBbTXNp<8e?p;5WsD(}yF0LG#FhAXSlq zR|zXT+8Jeh{%{p$H&0EmUG-NADNP?|)M4OZ5Mf~8$cDRzkxkCTLV=;Nl}FY|=f;PJ zM_5GllcrP{K0eAUqsYgQ8K}}Uft!7fNkv0K!*s?7rU-|C11y}v9C8c+3eQe8S#x`M zBqTU6G3r(FsR~SXJi}tqu6E+&ffq;SiE{b$%rbU_72li;Iy)G}8KfCBz-@G6NE^M8 zQ%El6gh3)xn*g^}&yB_-d_p#2elaH&vbIR8IyFo%JoLb=S;l6HhNi&bE)hx2c{&k` zT6vqTZSJ_NxbUEZRfZ+2L(qhoPf{o4n~uk#mH-}wiZ^#2PI>O!teudu;UbeulZaeF zO2I?NmsgwY!Z=(EnVAH{%`^8HRBvEo*%-uwlhz`pRGlYnP&x;dF_B?@)$g56?fY4kcClVLVW2NL4hPEzBw-@v`VO5NMaJ+!I9*| z%5uShk$+c&Y>(+L57`b|Hl!tGpxBTCH#+_^7{X&iCgy~J;^B5ySvwcO$L;*$+^TXe zfk}<+;&MS1D-r{e9Yqx4CWv$_VrA)J@ja$<@Sp;ZfNYYMNyK7yu11-F$>IP zPi|RpGSP)e+|uwsMdOtOZdnPdDIOQtm^uU{A{tgi6}WQq$iz&DU}$#r6*4*@G-o4& z&Mg*g!zn)$$`#l-+#|0YF!w`2tvSpIV=9Ax1Z%1~hBF!hqYH5Z#XcjY>JrMDS{mGM;O(iRmlXf)5@ z?E5!Ipn=i9DVozuA!=cR>sqnxUJB4IjsycIgU(?_WoRIEF)*iq-NVAD!DEy0;RFM# zhJ;v&#Q_%1P7d~r5DmkIW4+wGRevlR7JE!m@L$xEV5EGCk==)>Vx=G>0~cr7C7A|= z11xh5OxYx?LYmGoGb-?KC^#HqS#CU0=);ZAFM}C^)L9G;6lgRqXO)#Hc{OFh4HjXp zDA1@wGn0^kn!;?c#aDN5GC>;00t`%$vP^(K#(=A+vM4kisno216!hZh^i2aUZ6>4wT?Nc^EYQBA0qnRM()Oz%hxD zN37TL#EEwo53zFJ>zsc7{Qmv_`&G_va43D%xIvsvwZK*^2+J8V_66Pd&oO zvXpfKBUf*t0W-_O#x0X-fAG3L?9^E1A>rrn#leX|B!yuTx8|P-Q@nWXRy^vn`F0}I zQ+dwS!-C8j0oOR~OENBHs=j*ucyfT-O<_+BoefU8E_?}0oQirHPp2oey}asS({RD5 zosnljT90by%V)C-%v6Qq(%Ysio5j4LGI>tTx0la-l-4e2o+NRnbNM{)e=A=s>d9-F zvatQsjEu!o!m?I6^~<%qSURVyDs$N^uU9WuESZ+|YUPS$t6r^Iv+dQZ)f!z)Kx9j$z*XvfjIVSyn z_m^2&Yh@-p;qH|A^sPI0FGF>fuFO0E=QAotUM$*h=+Cd+c?Sfdtv;xnP+;!VW0QWv zDRWIux##dBHyxwJ!r?iaPEIc1DcY&L{mt_uM=F#)pE33idTV&>!J1x!;{}t?n0d%7 z_BA>dvD(MzRsr)DLznHZKV8m0wC40lHT4?f^NVGQdzhpC%X~3BRU>02lq_%Tbs@c) z`|GU)zct({A>ngAU6oUI^wYVj6>MVZ)ct?&_nW5}eEn|y-;`@HMfk9+xyoddH-&eb zpXc@%EiN$rcK76wpe<&LRVJS~o+YpMt55ZKug{^r&woDNos_-#%d3+z$t4%>^yO7| zF;^R%e7EQQyOU~V7xq@&stTT0sZ)AK)>~)w@kf?#Tkq@DwtPR7`1k7#bD8`HS9jUH z`|{xT_Dwsg%6UspJX|h+@5fWQvzzz4I(}YCsDkf+-S4l;ivRy5c^WkSXZSOpf%%2~ zuZJ(|9-qGdL+AkFBvOxqTu~pIB+e{gGe2>Vuj)gy0?$GYcaK9tvp%$F_$=ho&2TVP zEJ)>wxyc2eVP42re&Vp)uYy+HE%*8V%SyPY@O

@L41@{lpP9tB;+YXTn4_vLdhS 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 l3**QOSwFsIAROJQ-J+pqYk2|-#fm;SQV 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc b/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc index c7efa1ef8ef..16ba6e830d9 100644 --- a/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -76,6 +76,35 @@ \uicontrol Properties view. There, you can also enter the value of the \uicontrol Rotation property in degrees. + \section1 Zooming + + You can use the zoom buttons on the toolbar to zoom into and out of + \uicontrol {Form Editor} or select the zoom level as a percentage + from a list. More buttons are availabe for zooming to fit all content + in the view or zooming to fit the currently selected components. + + \image qmldesigner-zooming.gif "Zooming in Form Editor" + + The following table lists the zoom buttons: + + \table + \header + \li Icon + \li Tooltip + \row + \li \inlineimage icons/zoomIn.png + \li Zoom in + \row + \li \inlineimage icons/zoomOut.png + \li Zoom out + \row + \li \inlineimage icons/zoomAll.png + \li Zoom to fit all content + \row + \li \inlineimage icons/zoomSelection.png + \li Zoom to fit the current selection + \endtable + \section1 Snapping to Parent and Sibling Items When you are working on a design, you can use snapping to align From 4d2bfff1d5113d2cf83ee3ee4589b56b711ea5b3 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 22 Jan 2021 12:39:02 +0100 Subject: [PATCH 06/12] Doc: Describe setting canvas color for components Change-Id: I2fcc1d45e9caddfb3d52a87cc03043249472b751 Reviewed-by: Thomas Hartmann --- doc/qtcreator/images/icons/canvas-color.png | Bin 0 -> 94 bytes .../images/qmldesigner-canvas-color.png | Bin 0 -> 5691 bytes .../src/qtquick/qtquick-form-editor.qdoc | 11 +++++++++++ 3 files changed, 11 insertions(+) create mode 100644 doc/qtcreator/images/icons/canvas-color.png create mode 100644 doc/qtcreator/images/qmldesigner-canvas-color.png diff --git a/doc/qtcreator/images/icons/canvas-color.png b/doc/qtcreator/images/icons/canvas-color.png new file mode 100644 index 0000000000000000000000000000000000000000..edbc90cd2eb207f6ab411929360cd0f1f7ed7e3a GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0y~yVBi5^MrH;EhMe8!mM}0dum$*pxH2#>{Qv)d>CO3f w85kIZJzX3_IHHpi7?`D1j?^$T9$;XwGGhK~*>SL!fq{X+)78&qol`;+0O0BvPyhe` literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qmldesigner-canvas-color.png b/doc/qtcreator/images/qmldesigner-canvas-color.png new file mode 100644 index 0000000000000000000000000000000000000000..af6ce6122405b7dd05c32a418afbd6d15b2549ca GIT binary patch literal 5691 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 iL>U+ySYp2ZKa>0W#I$KspD-{mFnGH9xvX \uicontrol {Qt Quick Designer} and specify the canvas width and height in the \uicontrol Canvas group. + \section1 Setting Canvas Color + + If you set the background of the root item of your component transparent, + the canvas color can make it difficult to see the component you are working + on. To make components more visible, you can select the canvas color in + the \inlineimage icons/canvas-color.png + list. By default, the color is transparent. Setting the canvas color does + not affect the background color of your UI or components in any way. + + \image qmldesigner-canvas-color.png "Transparent canvas color for a transparent component" + \section1 Refreshing the Form Editor Contents When you open QML files in the Design mode, the items in the file are drawn From fae659b389ccaf62bcd75510e31113aeccbf207d Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 25 Jan 2021 13:35:29 +0100 Subject: [PATCH 07/12] GitHub Actions: Update Qt version to 5.15.2 Change-Id: I7b841da3e0e0c820807167c5a2de57a969f11db6 Reviewed-by: Eike Ziller --- .github/workflows/build_cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 4682c97bd51..7d3a570deac 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -3,7 +3,7 @@ name: CMake Build Matrix on: [push, pull_request] env: - QT_VERSION: 5.15.1 + QT_VERSION: 5.15.2 CLANG_VERSION: 110 ELFUTILS_VERSION: 0.175 CMAKE_VERSION: 3.18.3 From 59eff8c813685d8976ae4ce5bbaec418dcec054e Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Tue, 26 Jan 2021 10:14:54 +0100 Subject: [PATCH 08/12] GitHub Actions: Use default timeout for download Change-Id: I5d089410fba432e6df78d31e3920b581c6682f97 Reviewed-by: Eike Ziller --- .github/workflows/build_cmake.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 7d3a570deac..fc19929367c 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -132,7 +132,7 @@ jobs: foreach(qt_mirror $ENV{QT_MIRRORS}) cmake_language(EVAL CODE " message(\"Downloading: ${qt_base_url}/Updates.xml\") - file(DOWNLOAD \"${qt_base_url}/Updates.xml\" ./Updates.xml TIMEOUT 60) + file(DOWNLOAD \"${qt_base_url}/Updates.xml\" ./Updates.xml) ") file(SIZE ./Updates.xml fileSize) if (fileSize GREATER 0) @@ -154,7 +154,7 @@ jobs: foreach(qt_mirror $ENV{QT_MIRRORS}) cmake_language(EVAL CODE " message(\"Downloading ${url}\") - file(DOWNLOAD \"${url}\" ./${archive} TIMEOUT 60) + file(DOWNLOAD \"${url}\" ./${archive}) ") file(SIZE ./${archive} fileSize) if (fileSize GREATER 0) @@ -234,7 +234,7 @@ jobs: foreach(qt_mirror $ENV{QT_MIRRORS}) cmake_language(EVAL CODE " message(\"Downloading ${openssl_base_url}/Updates.xml}\") - file(DOWNLOAD \"${openssl_base_url}/Updates.xml\" ./Updates.xml TIMEOUT 60) + file(DOWNLOAD \"${openssl_base_url}/Updates.xml\" ./Updates.xml) ") file(SIZE ./Updates.xml fileSize) if (fileSize GREATER 0) @@ -258,7 +258,7 @@ jobs: foreach(qt_mirror $ENV{QT_MIRRORS}) cmake_language(EVAL CODE " message(\"Downloading ${url}\") - file(DOWNLOAD \"${url}\" ./openssl.7z TIMEOUT 60) + file(DOWNLOAD \"${url}\" ./openssl.7z) ") file(SIZE ./openssl.7z fileSize) if (fileSize GREATER 0) @@ -295,7 +295,7 @@ jobs: foreach(qt_mirror $ENV{QT_MIRRORS}) cmake_language(EVAL CODE " message(\"Downloading ${libclang_url}\") - file(DOWNLOAD \"${libclang_url}\" ./libclang.7z TIMEOUT 240) + file(DOWNLOAD \"${libclang_url}\" ./libclang.7z) ") file(SIZE ./libclang.7z fileSize) if (fileSize GREATER 0) @@ -332,7 +332,7 @@ jobs: foreach(qt_mirror $ENV{QT_MIRRORS}) cmake_language(EVAL CODE " message(\"Downloading ${elfutils_url}\") - file(DOWNLOAD \"${elfutils_url}\" ./elfutils.7z TIMEOUT 60) + file(DOWNLOAD \"${elfutils_url}\" ./elfutils.7z) ") file(SIZE ./elfutils.7z fileSize) if (fileSize GREATER 0) From d6e50e77ccf9c3c7e2e7a65fe0b082f95b60a728 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 26 Jan 2021 11:32:38 +0100 Subject: [PATCH 09/12] QmlDesigner: Use boundingRect() instead of contentItemBoundingRect The contentItemBoundingRect is typically null, unless there is a content item. Change-Id: Ic32deac3c2506ff05feb28399b1ccaedacb5f68f Reviewed-by: Marco Bubke --- .../instances/qt5capturepreviewnodeinstanceserver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp index b9ba3860a35..39bbe73f93a 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp @@ -62,7 +62,7 @@ CapturedDataCommand::StateData collectStateData(ServerNodeInstance rootNodeInsta CapturedDataCommand::NodeData nodeData; nodeData.nodeId = instance.instanceId(); - nodeData.contentRect = instance.contentItemBoundingRect(); + nodeData.contentRect = instance.boundingRect(); nodeData.sceneTransform = instance.sceneTransform(); auto textProperty = instance.property("text"); if (!textProperty.isNull() && instance.holdsGraphical()) From acfb2e4f2f19af3f58ab082a08ee76a0106dc990 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 26 Jan 2021 11:50:22 +0100 Subject: [PATCH 10/12] CMake build/Linux: Fix location of separate plugins We use GNUInstallDirs to define the location of plugins, libraries and so on. If Qt Creator was configured with a specific set of locations, we need to pass that on to separately built plugins even if GNUInstallDirs would use different locations for them. Otherwise Qt Creator cannot find these plugins. Amends c81baf1a9cc938a283f6c52c8fd10bab84183391 Fixes: QTCREATORBUG-25266 Change-Id: Ib0da1428ec676fd54cb264b1aba4791b18b2c3bd Reviewed-by: Cristian Adam --- src/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 483231f905a..f8223319650 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -39,6 +39,16 @@ file(WRITE ${CMAKE_BINARY_DIR}/cmake/QtCreatorConfig.cmake " \# add module path for special FindQt5.cmake that considers Qt6 too list(APPEND CMAKE_MODULE_PATH \${CMAKE_CURRENT_LIST_DIR}) +\# force plugins to same path naming conventions as Qt Creator +\# otherwise plugins will not be found +if(UNIX AND NOT APPLE) + include(GNUInstallDirs) + set(CMAKE_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR}) + set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}) + set(CMAKE_INSTALL_LIBEXECDIR ${CMAKE_INSTALL_LIBEXECDIR}) + set(CMAKE_INSTALL_DATAROOTDIR ${CMAKE_INSTALL_DATAROOTDIR}) +endif() + include(CMakeFindDependencyMacro) find_dependency(Qt5 ${IDE_QT_VERSION_MIN} COMPONENTS Concurrent Core Gui Widgets Core5Compat Network PrintSupport Qml Quick QuickWidgets Sql REQUIRED From d9e5d079be666d1f006d9944f47298fa98d0e7ff Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 26 Jan 2021 14:24:06 +0100 Subject: [PATCH 11/12] ClangCodeModel: Relax completion result filtering ... in connect() calls. The logic was: If we are in a place where a signal is expected and there are signals among the completion results, then we should consider only signals. However, in e.g. a member function of a QObject subclass, there are always signals in scope, even when we expect a class name. So we need to allow class names as well. Amends a79b0c6558. Fixes: QTCREATORBUG-25153 Change-Id: Id3bbaaf4f8eefefe36cfc91e5959d3ef5ad28071 Reviewed-by: Christian Stenger --- .../clangcompletionassistprocessor.cpp | 12 +++++++----- .../test/clangcodecompletion_test.cpp | 16 +++++++++------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp index 98f50831747..3902119e8cd 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp +++ b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp @@ -139,15 +139,17 @@ QList ClangCompletionAssistProcessor::toAssistPro considerOnlySignals = CppTools::CppModelManager::instance() ->positionRequiresSignal(m_interface->filePath().toString(), m_content, m_position); } - for (const CodeCompletion &codeCompletion : completions) { - if (considerOnlySignals && codeCompletion.completionKind - != CodeCompletion::SignalCompletionKind) { - continue; - } if (codeCompletion.text.isEmpty()) continue; // It's an OverloadCandidate which has text but no typedText. + if (considerOnlySignals + && codeCompletion.completionKind != CodeCompletion::ClassCompletionKind + && codeCompletion.completionKind != CodeCompletion::NamespaceCompletionKind + && codeCompletion.completionKind != CodeCompletion::SignalCompletionKind) { + continue; + } + // Don't offer symbols that are not accessible here. if (codeCompletion.availability == CodeCompletion::NotAvailable || codeCompletion.availability == CodeCompletion::NotAccessible) { diff --git a/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp b/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp index e32e22d8e1f..c77dbfc08e2 100644 --- a/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp +++ b/src/plugins/clangcodemodel/test/clangcodecompletion_test.cpp @@ -765,27 +765,29 @@ void ClangCodeCompletionTest::testSignalCompletion_data() QTest::addColumn("customContents"); QTest::addColumn("hits"); + // libclang mis-reports CXCursor_ClassDecl instead of CXCursor_Constructor, so the lists + // below include the class name. QTest::addRow("positive: connect() on QObject class") << QByteArray("int main() { QObject::connect(dummy, QObject::") - << QByteArrayList{"aSignal", "anotherSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "QObject"}; QTest::addRow("positive: connect() on QObject object") << QByteArray("int main() { QObject o; o.connect(dummy, QObject::") - << QByteArrayList{"aSignal", "anotherSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "QObject"}; QTest::addRow("positive: connect() on QObject pointer") << QByteArray("int main() { QObject *o; o->connect(dummy, QObject::") - << QByteArrayList{"aSignal", "anotherSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "QObject"}; QTest::addRow("positive: connect() on QObject rvalue") << QByteArray("int main() { QObject().connect(dummy, QObject::") - << QByteArrayList{"aSignal", "anotherSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "QObject"}; QTest::addRow("positive: connect() on QObject pointer rvalue") << QByteArray("int main() { (new QObject)->connect(dummy, QObject::") - << QByteArrayList{"aSignal", "anotherSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "QObject"}; QTest::addRow("positive: disconnect() on QObject") << QByteArray("int main() { QObject::disconnect(dummy, QObject::") - << QByteArrayList{"aSignal", "anotherSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "QObject"}; QTest::addRow("positive: connect() in member function of derived class") << QByteArray("void DerivedFromQObject::alsoNotASignal() { connect(this, DerivedFromQObject::") - << QByteArrayList{"aSignal", "anotherSignal", "myOwnSignal"}; + << QByteArrayList{"aSignal", "anotherSignal", "myOwnSignal", "QObject", "DerivedFromQObject"}; const QByteArrayList allQObjectFunctions{"aSignal", "anotherSignal", "notASignal", "connect", "disconnect", "QObject", "~QObject", "operator="}; From 70f50b3503ade454579e05d5d5a4b3cb127cdfd9 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 25 Jan 2021 16:19:07 +0100 Subject: [PATCH 12/12] QmlDesigner: Bump up database version We change the database schema. Change-Id: I2715f47995374fe3d17ba97af9287af198c28959 Reviewed-by: Thomas Hartmann --- src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp index 79058932713..e2104d7ba9b 100644 --- a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp +++ b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp @@ -47,7 +47,7 @@ static Utils::FilePath getMultilanguageDatabaseFilePath(ProjectExplorer::Target { if (target) { auto filePath = target->project()->projectDirectory().pathAppended( - "multilanguage-experimental-v2.db"); + "multilanguage-experimental-v3.db"); if (filePath.exists()) return filePath; }