From 1397cf0aace711d1f33774d9f99b56f3186f2edd Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 14 Mar 2023 17:31:17 +0100 Subject: [PATCH 01/54] Doc: Update info about Testing preferences Task-number: QTCREATORBUG-28721 Change-Id: I649902d2d2d336abd21d01a0b3b0febf13084b04 Reviewed-by: Christian Stenger --- .../qtcreator-autotests-options-boost.png | Bin 4389 -> 0 bytes .../qtcreator-autotests-options-catch2.png | Bin 5782 -> 0 bytes .../qtcreator-autotests-options-ctest.png | Bin 7002 -> 0 bytes .../qtcreator-autotests-options-google.png | Bin 4837 -> 0 bytes .../images/qtcreator-autotests-options-qt.png | Bin 5531 -> 0 bytes .../images/qtcreator-autotests-options.png | Bin 12388 -> 0 bytes ...creator-preferences-testing-boosttest.webp | Bin 0 -> 4036 bytes ...creator-preferences-testing-catchtest.webp | Bin 0 -> 4424 bytes .../qtcreator-preferences-testing-ctest.webp | Bin 0 -> 4476 bytes ...qtcreator-preferences-testing-general.webp | Bin 0 -> 8014 bytes ...reator-preferences-testing-googletest.webp | Bin 0 -> 3942 bytes .../qtcreator-preferences-testing-qttest.webp | Bin 0 -> 4594 bytes .../howto/creator-only/creator-autotest.qdoc | 230 +++++++++--------- 13 files changed, 120 insertions(+), 110 deletions(-) delete mode 100644 doc/qtcreator/images/qtcreator-autotests-options-boost.png delete mode 100644 doc/qtcreator/images/qtcreator-autotests-options-catch2.png delete mode 100644 doc/qtcreator/images/qtcreator-autotests-options-ctest.png delete mode 100644 doc/qtcreator/images/qtcreator-autotests-options-google.png delete mode 100644 doc/qtcreator/images/qtcreator-autotests-options-qt.png delete mode 100644 doc/qtcreator/images/qtcreator-autotests-options.png create mode 100644 doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webp create mode 100644 doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webp create mode 100644 doc/qtcreator/images/qtcreator-preferences-testing-ctest.webp create mode 100644 doc/qtcreator/images/qtcreator-preferences-testing-general.webp create mode 100644 doc/qtcreator/images/qtcreator-preferences-testing-googletest.webp create mode 100644 doc/qtcreator/images/qtcreator-preferences-testing-qttest.webp diff --git a/doc/qtcreator/images/qtcreator-autotests-options-boost.png b/doc/qtcreator/images/qtcreator-autotests-options-boost.png deleted file mode 100644 index fedb2a7a15c18e0ef545254277e5f90b35ee17ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4389 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 A!2kdN diff --git a/doc/qtcreator/images/qtcreator-autotests-options-catch2.png b/doc/qtcreator/images/qtcreator-autotests-options-catch2.png deleted file mode 100644 index 347f497247be17a18097971ec8938dde55b4a45a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5782 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 h2mnXV0>3Zy19z#y&Y>EaktaqI0|-~8Lh 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 JF6*2UngH-a2=o8| diff --git a/doc/qtcreator/images/qtcreator-autotests-options-google.png b/doc/qtcreator/images/qtcreator-autotests-options-google.png deleted file mode 100644 index 640da46fd57f1576db3cf9352d2594d00bc54375..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4837 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 T5UpomU|{fc^>bP0l+XkKDUNL{ diff --git a/doc/qtcreator/images/qtcreator-autotests-options.png b/doc/qtcreator/images/qtcreator-autotests-options.png deleted file mode 100644 index 4d945f6c936dee75b2f3dc63d589ead38633302c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12388 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

l+f=r%#wQ9wi-Nzf+XYjJI>D_yKKepRkEI+4f zZSLX26J6|o9OU2C=d!?N*REY$Amzec>^o&a!wx@0ZC`cC?wsg)B1$S#N_3J-Ve#fm zN2*)bZ1_;{@!hjt;a$tceA|1()bsN4?!{bDI)1=ITFR}Ww}JySKhv^|f&Wr-`Qo~L zg8%jZc^gh#+Le4_fyKldpB@~vbPct6^4DYIB)8@^_GIgYuG^|V=AHfPw>H?oO{tGoTd zU~@@w@#kZm0nabJP*C(L)wuZc^K<(G6{e>br%n|GjYiG#vdM_`oLMv1` zr4rsK{!Y+*ZLK9U%dYTq-mlEbEGIoa6nuGc(ck{>m*=yNtm9zef55m<^LVqJz}@$^ z6~DbGwb?WGsZ4UphlMYXTu;Bhb>0o}KN~`MLsI4+xYpUerzL;?-)#iEDGE7+KL_Ws>$v3J5G0WoP%8OdSeqb$ca>(^hGum_($89{uq@>p}Yy8k?om5Lt> zgiOo!wuhhIvSEXPy}kaa^R?h4_%-|cySw^(w`^{#u!vMU*cQ9HY~wr)PXiqL*eezRCQwDv0!nd;m+$SZj<5UqRCWblr}obD^KyB<9~uH)f81bx@zJBC z<(DhPbA2C4b!ltrYnH25IIOr^A&|fO&|+PE{qqa0RMsuoG4Ii;qVgv8mRr5;vespD z>}r3NhRi?mHRWE|hlUF(4;Eg2`QUQ)lpXWH5vsVh{dz#{qOS~~?4o>arhnC5|8rNQ z>o3@V6Lr?d4ZC(#xxCoxU-dU;um3%3qdoV!V>hTbYsarJt|?6YQNz}iKX;4Qyykh= zVMaz)oTyFe>C*aF&G3EJ1^1_wPrJE(=1cO=o1Ay{YcupT z>%MQe0;(J)&Q`L?4mxqT%;Dz0MD_27qcZOIY5UF9`gPgj;@cd1-3hbzPV>HR(fNMK z`?k+MOd(cl4Z^izx?CPrHG#}*dE{8(`c&T3uj9ZCDSM{&bu-{U24)YkIx$~O^@ROCkP#zHEY($2)&Yc|6s0j`d%yPayghbT zH?~+iG~L!K`6P=UOXU&iWvpe3SFE0EXeX6FTl1^Z(%bJ|x_C%wo?i0G^RCV1%gY~z znR@BFO6jaq2c=S94Y{D>v)-sjNB;MJ<#YAk8fnGirM0KSr3IHRKKuEVYhYEGZqOI? zb=u$O>Ya8?6|%@wpOYS>bARU}=B3k_Kr=LIocyOxpJorN6}m1A;vZmU0_8EzqlZsU zR*!f6>KWq?3ZpDrIe6*c5WU{@kyqDi&2?JPWOxI$_|M1|x*ibYS!f&SFJhx`rOJkb zGhXdpS)|%7u}*DH=>yD8!cCwN3s@8DL7)qyis?XFX~ y4r|LSl|uhdca%)(Y!q5R`3YlzZS>Xu?2LEv8*V+BGJ%1Cfx*+&&t;ucLK6ULWumVD diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-boosttest.webp new file mode 100644 index 0000000000000000000000000000000000000000..5f29bae2b6022db1f30b7c03f87157d6bcf4716f GIT binary patch literal 4036 zcmWIYbaUIo&%hAw>J$(bVBxcYpMgPtk)s*I*NEBw<4bS9*jqAl=1j#5j^v%&cAsIj z_U`8{oGuyLwtQbD|99P|^Zx&wUmO^|^vKLkwJk4F-t}r_y9EbHrSIjM=d)>@tX+zG|-6Uarsl?tY@V%gxhIr0lgisrFf@_VKR5 zu4}HJOS^7m-d-eLB$QhWGQ-l@s84C~^cT|CdoOQ$vG71#^^0}wbF^-S<;%41$d9q` zV{ zzis()y`-MJy3#Mta)%!$MLKRi{hP$4x%}x|(duN$Ut!X_r%HWa@H}X`i-3j`3&+

+z*ci3Qa*=ywgTmaP=`LS5CcKiao>+7^XxF62C)WC@ z_s;+E{Ar2H-;R#?7s`751$bvYUbNo2;_8v7f9q=-GbXeP-@E8t5;*Cl;n!V) zJNxd{sU_7`i@NtHZd$%N_1N)0Y$uZPWu#1=bh)e%@jLeV*c~?^jXl|0;<+@JAG9}E zxMNz+y~l2hr?wxP{pV+pddF4E<v!o`K&r_HoFwd#E&D|<<&P&0L zX{EO&oZEWj$b#iFKDu?hRdaZi?qeYS7%>N;9@%m3w>!&9AKZIJ)i zTc%U7>S0RFrRL?G%*r2mW%oX46aJsmr10$WXUDDAtKPlZ7`;V!?eW5n-^W@XU)d~S zr||98li0~+-DQh>pPfG{RXR!bbT>%OWM;qPw;D_Kxkqwr+2eF8`8OmRo{%cgwCG~} zbvrpOLF?bf(BmK3&OW=Fc=LMoqsKS?wmrJxenr;oTUBlI5A(P%n{eqbE39??A1VBQ zO!AZB-DhIE?cYD2@w_wo%=M3oGneOWyl}p7;knT5H`MIiC!Y)4e#2PKwfFZI*1uYw zp9MU)cP_h@yd!Pzw^lVio->7){Ezc*y?x+-__BwyZbvrp&vpM>z7;c_8B2@ zKH)L0i`@dh{LI|5OEa+Kq2&wlby>wCv0Hf(pTzuLe0)9V* zm%H)Tew|2r`N6yX`Zv;TuXAN*Ml26oAmihc;c>x9Z@EUu%6GF=M2?p1>@8)Ve)RDA zt==ow@2$$*rXziP_3V@m27R`_Ef??Ia=*^XZYHf&!J2KpE<4t3?&E2t*Zw8#x8?t~ zeBNfmCreY@l&6Opo;}!|xL)W_MOVg#N1J3P%*j+S%deRd_59(P^xUYX{rKq)4c6Mac%v#1%_qH#7F5~fb4quDJ_N!CNW9yE`{&9<*?KrKZ zG9i6oD#y%Qw`6atGJ4Kld)Yvu_{7TtwMvQlog$LUKNKXjT)7eM$sKw+B;;i5@&kEN zX?4?tyd1Az+^4auQZ(lLO>yUUo&Kf|_FikAmo-P*_-d4O{e1uPdp4fdvwkvl%9aVI z<&IcdIj`M1|J-7+OFh}wZ=_c5nQ%@kuzZ2dT*+^@E(w&L-%;3G`(x+v?ddN|O1sy7 zE8OGq{FT$(W$!jTT3Pu2*y}H$tvid<=BVavX#fAs>&C0cO^4&uA6J&&_;D@tUwX2;@0%t+myWE(B^_^y%J>79?~Nz9x$@zj(^ zi`4Rfluq%}$srM1ZRhm=^1D4_?TKbPl@+vpt#6RwOb1n-&Qkv!^_S(o#F(vTF0)aJ z661fJz;ri^rSBA%}9Q2)U>B3V)Dd^%3cL$TaU_gI2{WzyuceW&FjO% zrz96j`I=D1T;Vo@5@n#iwP0XhD3o5*)_pLjhvwlb8 zGsP330XoaH&po)ZGWhHdWy3f5I_pn9u4t`e&ujah^-W;jl835-q6$9ScShwb`S{d! zk-mLJYFlGt+D}C$ZC)OemB$PBeVMvRV$J=%EE1|2^7@}w{`>j&bX>*ue?Q-UQNQo2 z;4$l?-m}x4Ic3?>G2HnWZTPwS`~8&7@paYdCmvfy|I%wceDl25{ni<#4wFqL{CLvhRa$)X?#~$B zl2=?Gy64An(rs?+qeEeB1@;IX2j(m=UzHkuphk4 z_~ZSQ=1jSB+Q$|OcuNIxy|Z{?aB-f$(gxdmZe@3UKm1?AVLE5!%IbqX0-BHfCD&*O zswzDSvYJ!PRlr%nw!Zmpg6QS__80!|HLr|Z7+@i7zq0M`B-OJOQO@tL-}v?*(>U<) z;`B&igWB142Tv-`cDUrT=hF|dl+$bC-Y&e{c_eSwu1C_>7L;xKRVcT)r9SD~{`vbo zYAyCx&x<;kb>!TU;PpqYi~Xs1axt4r%w2A;N7!-KkJYRHsGEIO{3)|Q?3kv_JlD4$ zZ+AI}7f;ai7B%YOc5w2Wdg_gPoPbz>Pxv3RxuG+zh#YS?BD45)DO33!75mApOh&VI z^ZG;|WHMa2)3|*}ipa&McABhP52QNuma*ShwID0#{GSiy87cdCC3N@>wM-3C;9qQQ z;Gw$XvzMm=Bj;3J*3-34TUxqg-IpKmP_22y=6&*jn%#rEr86}`y5?_FYEk$cp75(B zYC{a8+8uehHciP%8m2y;2Dz+L8Zw0sWKLw{`d&VLDMt)jkkJoWMTOOFi|>Uu3N z(QsSA>iPV^m0#QEAHNW(xZ$f+)KAi?!NIe(CR6p~(EY zdE!wkU6Jx^bA=z$y_)7*I99*YR*l*$u&8G}^LgE9jSx+NTsO~}rOtbd=VY8yS2!;& z>nC=(#-)6LqiqGUGZWuD{|7?(Fl-db4^`!cJz1rm1`< znV8Pj3dejf*VwM#a(iOL<_R1sb7bxct|{TTZz-#=;^BqxxkeFz5k8h}UV`Oa8E2hV zY!WKs+PZcBD#hr>0v#UVO;h=%YBXA&U}QR5`zV;#dU`bL)nAW~Z&%fQvT6TO&WTSR z=w;}y{?o6z|MT{UPltmI`xs*_dljbLk@5TSZo`aqKQu2)y}Te%_h^h$l|c8)uKefs zYtJ^h$u-{ES;%tZR3=MFSmKp({jlHBrAk{5Om*UJJRQR3&eiz3=3*b4h@igm#smvn@-cuX7HbfLG71>oG)p_c{A*TmRmoObTdi8^p-ix(rp;`|o zo1Hk7*&?$xA@Kg4qEtV2jh9^IGFR0F%g=}khI3s$?!GMBjKH=Ti z%`}}ojBR?WzEa=I$4Zxrr5cRe{$AwURU~yV)pN}*^W_I_Ok`QjqbDqNPF(Q#7sZJ$ zmkRvh`g8$YPgTZG=mVrjPum{ikk6UUkZ| uV_)>{fVt_Hy3$Y0%Y!aWx8JvQU&oI9e}#@{x*mDF=>5vDpXX(3E!Y4W-O988 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-catchtest.webp new file mode 100644 index 0000000000000000000000000000000000000000..3e5cadcb2f996006350277e23c1e9fb0b82f6b09 GIT binary patch literal 4424 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-googletest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-googletest.webp new file mode 100644 index 0000000000000000000000000000000000000000..1a60a66ae905ad067a02073327781f28eb77b513 GIT binary patch literal 3942 zcmWIYbaRX2XJ80-bqWXzu$xNl}@%yJZ5>RCeB8r*iA@OCLwWlGVB^ zr-tjYnt5*9y1e(xw*(8*RhcT@M{n${OEXHnc8Bq**cX+X+tzNoXgRCN^W{$0MM>*E z8cYAHebRcm|3j%gQTn0g$~(6`TJ`QpM%63Dx7W{f|5-W3Kb1|z?DXo1 zGO_VHedPnpm1EmGXYabavinKR{b z-8<{c&F-x{yut??EA<_Y@;iOY-}d+QQ9;JEMc&c=TTX_(@2Vuyf4Yl^o*6S1O4tmyOX>fV^)%M_nU7HS0njx5QM)~Iw=K0dkZ@fBtWJ?h5;;Uls z!k9ZtJ2qLIGfw>R=fySd*d?kb<{G@w)5>k}2;0p2Yt7nHOR4p4u4xCZmfYSSC$l+B z?d{WJd{3WR@SN`dqVA-)`0CND7oAtt<{$cd$236tiMm?aoR&ZFQwpbPRkiB9WN$n* z$3;`1XERHH+uz(|x5Y_EXE4vs;SP;1znCQv8?&aZcE>W+F0m))F8#irntaAa@lj>i zQ@`soT&rz9Ep0#ls?PkbujJ+q$3vf28uq75m6MKeNvSiCW#Kp#Gru<1RWAGGq*p;a zcMN{*{pomuCE(b@NOdtI*$;CcPpmnl+9+c&efFfd!z;uhn7F21t9bd>{nyz|Gx_hX zY~$T{%V)x^Pq97*=NoFy>HEq~F;_kztCJ)bdQeQ)BYR$Ds>4I$Za*Cd?dJFo$GG%X zN=WW--8bv$>M0DTIxh3ixe@cO#XGqF$>gf<4yuhZH%|BRs(CEnS;hKfe`Ub#PQ9(E z!aGBFc{hF&cbInT_}N8MPIp>p+&S_0*gYpw13kQwU^*;+GxJ}LUz2Q%(ACZ#fb&i zzwo_tG-h*l|gOHZEjNrmM0O)Iub@l9aTlvktdwicYf18x%xUJ8ct+B$hr0?X6? zE}q72b}kEBW_+B$xu8cf`3aw?oxIOMu@yN}t3re-gf~o=UVG$GxbBY^>`@Hs19pV- z@@|weh`OjQoYg8c(f_PVxLV&0l^n^^C!B}ZMXEF$O6_IYx%kTl3&B-4SlyFn-q)Go zc=zNa2fjI{eLY|EhuvWEQd|+yQ?OoYR#K+X+w~=(hnss7Uax7Bo-^;=+tL{eN*-x8 zzu3BMnyN($Ta8TDbf=y1`&Ya>wsO+yUH+*$Ia-4sW(+;!P%I0buEpQ6(?3wn!`{)tn`%;cy zQoc@fn#16gBFgS7B|7uqFuN-XZk67Mm9vUYe6PEA*6|D!&S=cxC-sQd#m z9k;)n{~&tt<0R{}WL@qJw=x(POzwB{-?z=lseNC`lI!~;7w>PfKbSss%T}Lw4q4`1 zy>H$-R_%Ht=p&Z?TKQ1bN!g`IO#0;~gSPI9JpR!9gW^(6@ubY(LM|MC9v(35^Ev%M zVY-&Rgvrds%tbDl%70R(6nF|to;Y^9=ge~txoNCAFCy4q`n%uaa`9~0E$jW&U2fX1 z#~;$ZMhD$*?V0{3WyPC`C%EN~Z%}2QG*`%Op5OchzRyIP%QV^CDk8hKD0JPPXf)q@ z=afT5M{b&*7W}e2`KO1_LY{DmS(devdVd+Od~Uz8zGZph-jJ6^zi>KN9^9CHC#lma zErw%aZH%or)7+;#OA0a)=x>J| z_t&bwdTWFfsx7{ro{+ugo8LjU0BQEmh0A|jbGQ|uTJ`Hz)G3GSkuKegr<8UI2#NBG zh1jcq{nh{Atk(VodmfxHjWayk5wTOiDBu={xRs)eTXe4Xq8W^*l)@&+%l^E)u%=h^ z-GSG$Lw>dX0~}YUYcRvVQl?)|y4FP~o-Rd2qVI(Y{}|nWrvU zsILA?>*Iv~6>8F}!bA0iej9GTr}g0S-k9})XLopf(-O5V*__vsa6Tr~d{XtQ5T4NT zko9X>s)cIbg&BRzc*I%uU*S-!*Rebwn}hG6>@cm`v~3sXjw7yYjU6t#)g97!RJaaT zJ}B(VIefP0V)UDTZ#B}^d=FqLy;>GMJ>xsWik^cmFPVy-u-s|cz31q=`zs2rRbTrq ze|wk9ZuK=+l>UVIl}}LGtvO-(!tw_9ubB*ifhjxh#=jPNx8&=*kAGKZZ?3+odP`bc z@f2Is!A>Urhr2WzWGo%m>*?4u`FHmeC%n^_OZ`4w-)q11>O^VPSAvyX{bdL5#P50d zW$pjqwPBHYfui@XnQ3J1R+;xf)kA@iP09V|yjN+ej}v{1rsP-W2Wh>#YW+2f_uHE7 zyJEIhdURF@yuYw@$3~$KbKRx2iaY=Ai2Bt2=e>z>WZ-hi1X)(`56{{cYs`K*ukM2$ zH|tEp+S~2xOJ*_ZJ)QXOkmB3U0&CC3NqdekIH#TQ?c+B1z23eeWx3=F>y!igT=bjI z%pW8pucWulAwl`H=!p{EfCk*p`ef0VBf7RzLaj_8<68o1K^;J47pShsm(aRkS#wEYqR$o3d zaedHPImWqZMN=)2PtANL;--*NfW^F#7Cblq$9l;RVnm(}X^{b17G zzWV%8uWL*`A?wa)I9ZC9-rQ^7rOq-#eD=q0=i>FP7e8{Jec?e_^hVc{Gll)P?>@Xo zVcYiB24?H1vp-yBDDu3_)k?m;&vKXcx$T)%2_Lr|G}(JruRef5(1R_gnMEUYo|N;f zwO=C27i_d}mI!&-x&P|f?$b%}KI;$exTt;TT?do*9x)6E$dWes)U7%3^P;46&2|fdgM$z6cAK)%-ja3keLZ^_ zbxmc{rj7PD-ye&be(X(mhwd?%8!0Q;?AFha@6%Rg)zW^(zoF*uk166u_x=j5l=7cr zQENB*?Y|TJ_stTX*&nFz?U!b76AZW#^8BoZ-h7^mD>TpSSrMUg?BBhW@@L!`n{Gd} zU_9`x_I|%Thvku{npd9He&n+7)71X=y;-xr>+|xf_AX}n1=G3n_V5-k!t+#Pm(uV!h8(5~iEubI1&OV@W*f3W`KckTO$3Dym|Rcoxvb_y8HF4x%8 znfI#j2ye{)1RD;CUh#tCj~#?+=EXRlnjp2lJ7?SP#QyA|n{VPX zSJ$;VlgrnxD-3=WrI31%{pwnluS;E>7cHnW%2*@Lr_noGT=eMe5Z4Qhjc-Gm?Hd-& zohUi)sPO)KpXY6s%G(mQDK;-~ez$o|V{X;vUomseb$)2Qyq*80@2ld8-TVzZ2G8rE?(l~E zNuwigJ7(}qXA4N2z$T~CJy&S6l6`E{(w4%-VjnZkn0O0YK5*W!MDnO%MDCRXbB{i@ mOlg!(@az=r)f3rvvh!S)kC=;J3g79@m<{cJo=?58hZg|G!FXQ) literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-preferences-testing-qttest.webp b/doc/qtcreator/images/qtcreator-preferences-testing-qttest.webp new file mode 100644 index 0000000000000000000000000000000000000000..f6df07907ead584d1fd5a80ab08329a409c7d72b GIT binary patch literal 4594 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc b/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc index 48ba10de30d..46b8781c08a 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2022 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! @@ -10,7 +10,7 @@ \QC supports both \e {code based tests} and \e {build system based tests}. Code based testing offers special handling for particular testing - frameworks that is strongly tied to the underlying code models or + frameworks that strongly ties to the underlying code models or specialized parsers. Build system based testing is independent from any testing frameworks. It retrieves information directly from the underlying build system and uses it or even the build system as such to execute the @@ -20,14 +20,14 @@ applications and libraries: \list - \li \l{https://www.boost.org/doc/libs/1_70_0/libs/test/doc/html/index.html} + \li \l{https://www.boost.org/doc/libs/1_81_0/libs/test/doc/html/index.html} {Boost.Test} \li \l{https://github.com/catchorg/Catch2}{Catch2 test framework} \li \l{https://github.com/google/googletest}{Google C++ Testing Framework} \li \l{Qt Test} framework \endlist - \QC offers additional build system based support for + In addition, \QC offers build system based support for \l{https://cmake.org/cmake/help/latest/manual/ctest.1.html}{CTest}. You can use \QC to create, build, and run code based tests for your @@ -37,7 +37,7 @@ \section1 Build System Based Tests - The handling of build system based tests is disabled by default to avoid + By default, \QC does not handle build system based tests to avoid interference with code based parsers. To enable build system based tests, select the respective test tool in \uicontrol Preferences > \uicontrol Testing > \uicontrol General. @@ -47,12 +47,12 @@ The information in the tests tree is usually more detailed when using code based tests. - If you have enabled code based and build system based tests together you + If you enable both code based and build system based tests, you may duplicate tests inside the tests tree. See also \l {Selecting Tests to Run}. \section1 Creating Tests - You can use a wizard to create projects that have tests. + Use a wizard to create projects that have tests. \section2 Creating Qt and Qt Quick Tests @@ -75,7 +75,7 @@ \li For a Qt test, select the \uicontrol {GUI Application} check box to create a Qt application. - \image qtcreator-autotests-project-qt-test.png "Autotest project wizard - Qt Test" + \image qtcreator-autotests-project-qt-test.png {Autotest project wizard - Qt Test} \li In the \uicontrol {Test case name} field, enter a name for the test case. @@ -86,15 +86,15 @@ \li For a Qt Quick test, select the \uicontrol {Generate setup code} check box to execute C++ - code before any of the QML tests are run. The testing + code before running any of the QML tests. The testing framework will call slots and invocable functions, as described in \l{Executing C++ Before QML Tests}. - \image qtcreator-autotests-project-qtquick-test.png "Autotest project wizard - Qt Quick Test" + \image qtcreator-autotests-project-qtquick-test.png {Autotest project wizard - Qt Quick Test} \li Select the \uicontrol {Generate initialization and cleanup - code} checkbox to add functions to your test that are - executed by the testing framework to initialize and clean + code} checkbox to add functions to your test that the + testing framework executes to initialize and clean up the test. \li In the \uicontrol {Build system} field, select the build @@ -159,10 +159,10 @@ \section2 Creating Boost Tests To build and run Boost tests, you must have the Boost.Test installed on the - development host. Typically, it is installed when you install Boost. You can + development host. Typically, the Boost installation includes it. You can download Boost from \l{https://www.boost.org/}{Boost.org}. - If Boost libraries can be found by the used compiler and build system, you + If the compiler and build system can find the Boost libraries, you do not need to specify the include directory when creating the test. To create a Boost test: @@ -183,28 +183,27 @@ the test case. \li In the \uicontrol {Boost include dir (optional)} field, enter the path to the directory that has files needed - by Boost.Test, such as \e version.hpp and a subfolder called - \e test that has the test header files. + by Boost.Test, such as \e version.hpp and the \e test + subfolder that contains the test header files. \li In the \uicontrol {Build system} field, select the build system to use for building the project: qmake, CMake, or Qbs. \endlist \endlist - \QC creates the test in the specified project directory. + \QC creates the test in the project directory. For more information about creating Boost tests, see - \l{https://www.boost.org/doc/libs/1_70_0/libs/test/doc/html/index.html} + \l{https://www.boost.org/doc/libs/1_81_0/libs/test/doc/html/index.html} {Boost.Test}. \section2 Creating Catch2 Tests - To build and run Catch2 tests, you either must have Catch2 libraries and - headers installed, or you can use the single include header file in the + To build and run Catch2 tests, you can either install Catch2 + libraries and headers or use the single include header file in the Catch2 repository. - If the Catch2 headers can be found by the used compiler and build system - automatically, you do not need to specify the include directory when - creating the test. + If the compiler and build system can find the Catch2 headers automatically, + you do not need to specify the include directory when creating the test. To create a basic Catch2 test: @@ -219,9 +218,9 @@ \li In the \uicontrol {Test framework} field, select \uicontrol {Catch2}. \li In the \uicontrol {Test case name} field, specify a name - to be used for the test case file. + for the test case file. \li Select the \uicontrol {Use Qt libraries} check box - to use a self defined main function and set up the project + to use a self-defined main function and set up the project to use Qt features. \li In the \uicontrol {Catch2 include directory (optional)} field, you may enter a path to the directory that has the @@ -232,36 +231,34 @@ \endlist \endlist - \QC creates the test in the specified project directory. + \QC creates the test in the project directory. For more information about creating Catch2 tests, see \l{https://github.com/catchorg/Catch2/blob/master/docs/Readme.md} {Catch2}. \section2 Creating CTest Based Tests - CTest can execute tests for CMake based projects - and is not limited to a special test framework. - You simply configure tests inside the project files, usually CMakeLists.txt. - Basically this is done by enabling testing for the project and registering - the test applications or even special commands. + CTest can execute tests for CMake based projects regardless of the test + framework. You configure tests in the project file, usually, CMakeLists.txt. + Basically, you enable testing for the project and register the test + applications or even special commands. \code enable_testing() add_test(NAME test_example COMMAND test_example) \endcode - \c test_example must of course be added as an executable before trying to - register it as test or it may be any command that can be executed including - arguments. + Add \c test_example as an executable before trying to register it as test. + It may be any executable command including arguments. For detailed information on how to use CTest see \l{https://gitlab.kitware.com/cmake/community/-/wikis/doc/ctest/Testing-With-CTest} {Testing with CTest}. \section1 Setting Up the Google C++ Testing Framework - To build and run Google tests, you must have the Google C++ Testing - framework installed and configured on the development host. You can either - clone it from Git Hub or install it from an installation package. + To build and run Google tests, install and configure the Google C++ Testing + framework on the development host. You can either clone it from Git Hub or + install it from an installation package. To configure a project to use a cloned Google testing framework, edit the \c INCLUDEPATH variable in the project file (.pro) to include the source @@ -275,8 +272,7 @@ \li \c googlemock/include \endlist - You also need to add the necessary files to the \c SOURCES variable. For - example: + Also, add the necessary files to the \c SOURCES variable. For example: \list \li \c googletest/src/gtest-all.cc @@ -320,7 +316,7 @@ \li \inlineimage icons/qtcreator-run-failed-tests.png (\uicontrol {Run Failed Tests}) to re-run the tests which failed in the last run. - Depending on the framework this may select additional tests if it + Depending on the framework, this may select more tests if it is impossible to distinguish or to fully address the test. \li \inlineimage icons/qtcreator-run-tests-in-current-file.png (\uicontrol {Run Tests for Current File}) to run the tests @@ -338,7 +334,7 @@ The functions to run tests are also available in the context menu in the \uicontrol Tests view and in \uicontrol Tools > \uicontrol Tests. - \note If you have enabled build system based and code based tests, + \note If you enable both build system based and code based tests, you may run tests twice when using \uicontrol {Run All Tests} or \uicontrol {Run Selected Tests}. This happens if the tests can be found by the code based test frameworks and are registered as test @@ -356,8 +352,8 @@ \image qtcreator-tests-view.png If a Qt Quick test case does not have a name, it is marked - \uicontrol Unnamed in the list. Unnamed test cases are executed when you - select \uicontrol {Run All Tests}. You cannot select or deselect them. + \uicontrol Unnamed in the list. \uicontrol {Run All Tests} executes + unnamed test cases. You cannot select or deselect them. \QC scans the project for tests when you open the project and updates the test list for the currently active test frameworks when you edit tests. @@ -369,8 +365,8 @@ Cleanup Functions} or \uicontrol {Show Data Functions}. Double-click a function in the list to open its source code in the code editor. - The test cases are listed in alphabetic, case insensitive order. To list - them in the order in which they are defined in the source code, + The \uicontrol Tests view lists test cases in alphabetic, case insensitive + order. To list them in the order in which they appear in the source code, select \inlineimage icons/leafsort.png (\uicontrol {Sort Naturally}). @@ -396,46 +392,52 @@ \uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} > \uicontrol General. - \image qtcreator-autotests-options.png "Testing General preferences" + \image qtcreator-preferences-testing-general.webp {General tab in Testing preferences} You can customize some settings at project level. To change settings for the current project instead of globally, select \uicontrol Projects > \uicontrol {Project Settings} > \uicontrol {Testing}. - In the \uicontrol {Active Test Frameworks} list you can select which tests - \QC will handle. To improve the performance of full scans for tests, disable - test frameworks you are not using. + In the \uicontrol {Active Test Frameworks} list, select tests for \QC to + handle. To improve the performance of full scans for tests, disable + test frameworks you do not use. To group related test cases for an active test framework, select the \uicontrol Group check box next to the framework name in the \uicontrol {Active Test Frameworks} list. - By default, tests are grouped based on the directory where they are located. + By default, \QC groups tests that are in the same directory. - Internal messages and run configuration warnings for deduced configurations - are omitted by default. To view them, deselect the \uicontrol {Omit internal - messages} and \uicontrol {Omit run configuration warnings} check boxes. + \QC omits internal messages and run configuration warnings for + deduced configurations by default. To view them, deselect the + \uicontrol {Omit internal messages} and + \uicontrol {Omit run configuration warnings} check boxes. - By default, test result output is limited to 100,000 characters. The view - is automatically scrolled down when new results are added. To display + By default, test result output shows a maximum of 100,000 characters. The + view automatically scrolls to show the latest results. To display full results, deselect the \uicontrol {Limit result output} check box. To disable automatic scrolling, deselect the \uicontrol {Automatically scroll results} check box. - Test results can be grouped by the executable path that was used to run the - tests. This is useful if you have multiple test executables and run them all - at once. To enable this functionality you need to select the - \uicontrol {Group results by application} check box. + Set the maximum number of lines in the test result tooltip and description + in \uicontrol {Limit result description}. - It is possible to automatically run the currently available tests after - successfully building the current project. In \uicontrol {Automatically run}, - select which tests should be run after a successful build. + To group test results by the executable path that you use to run the + tests, select \uicontrol {Group results by application}. This is useful + if you have multiple test executables and run them all at once. - In some special setups, \QC cannot deduce which executable or run - configuration it should use. If \QC repeatedly asks you to select the - tests to run when trying to execute tests, you can enable it to cache - your choices and use them were appropriate. The cached information is - cleared when you switch to another project, close the current one, or - select \uicontrol {Reset Cached Choices}. + To automatically run tests after successfully building the current project, + select them in \uicontrol {Automatically run}. + + Sometimes, \QC cannot deduce which executable or run configuration to use. + If \QC repeatedly asks you to select the tests to run when trying to execute + tests, you can let it cache your choices and use them where appropriate. \QC + clears the cache when you switch to another project, close the current one, + or select \uicontrol {Reset Cached Choices}. + + Select the \uicontrol {Process arguments} check box to pass arguments to the + test executable that you specify in the \l {Managing Run Configurations} + {run configuration}. This is an experimental feature that might cause the + execution of the test executable to fail. \section2 Specifying Settings for Running Qt Tests @@ -447,7 +449,7 @@ walltime, CPU tick counter, event counter, Valgrind Callgrind, and Linux Perf. For more information, see \l{Creating a Benchmark}. - \image qtcreator-autotests-options-qt.png + \image qtcreator-preferences-testing-qttest.webp {Qt Tests tab in Testing preferences} To receive verbose output when running benchmarks, select the \uicontrol {Verbose benchmarks} check box. @@ -459,13 +461,13 @@ \uicontrol {Log signals and slots} check box. To explicitly limit the maximum number of warnings in the test log, select - the \uicontrol {Limit warnings} check box and specify the intended number - inside the spin box next to it. Set the number to 0 if you want no limit - at all. The default number is 2000. + the \uicontrol {Limit warnings} check box and set the limit. Set it to 0 if + you want no limit at all. The default number is 2000. - To check for Qt Quick Tests that are derived from TestCase select the + To check for Qt Quick Tests that are derived from TestCase, select the \uicontrol {Check for derived Qt Quick tests} check box. - Note: this feature is rather expensive and will increase the + + \note This feature is rather expensive and increases the scan time significantly. \section2 Specifying Settings for Running Google Tests @@ -473,24 +475,24 @@ To specify settings for running Google tests, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} > \uicontrol {Google Test}. - \image qtcreator-autotests-options-google.png + \image qtcreator-preferences-testing-googletest.webp {Gooble Test tab in Testing preferences} To run disabled tests, select the \uicontrol {Run disabled tests} check box. To run several iterations of the tests, select the \uicontrol {Repeat tests} - check box and enter the number of times the tests should be run in the + check box and enter the number of times to run the tests in the \uicontrol Iterations field. To make sure that the tests are independent and - repeatable, you can run them in a different order each time by selecting the - \uicontrol {Shuffle tests} check box. + repeatable, run them in a different order each time by selecting the + \uicontrol {Shuffle tests} check box. Set the seed for initializing the + randomizer in the \uicontrol Seed field. The value 0 generates a seed + based on the current timestamp. To turn failures into debugger breakpoints, select the - \uicontrol {Break on failure while debugging} check box. To turn assertion - failures into C++ exceptions, select the \uicontrol {Throw on failure} check - box. + \uicontrol {Break on failure while debugging} check box. To group Google tests by using a GTest filter, select \uicontrol {GTest Filter} in the \uicontrol {Group mode} field, - and specify the filter to use in the \uicontrol {Active filter} + and specify the filter in the \uicontrol {Active filter} field. For more information about GTest filters, see \l{https://github.com/google/googletest/blob/master/docs/advanced.md#running-a-subset-of-the-tests} {Running a Subset of the Tests}. @@ -501,16 +503,18 @@ \li To specify settings for running Boost tests, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} > \uicontrol {Boost Test}. - \image qtcreator-autotests-options-boost.png + \image qtcreator-preferences-testing-boosttest.webp {Boost Test tab in Testing preferences} \li In the \uicontrol {Log format} field, select the error report - format to specify the type of events you want recorded in the + format to specify the type of events to record in the test report. \li In the \uicontrol {Report level} field, select the verbosity level of the test result report. Select \uicontrol No if you do not want a report. \li Select the \uicontrol Randomize check box to execute the tests in a random order, using the seed specified in the \uicontrol Seed - field for initializing the randomizer. + field for initializing the randomizer. The value 0 means no + randomization, the value 1 uses the current time, and any other + value generates a random seed. \li Select the \uicontrol {Catch system errors} check box to catch system errors. \li Select the \uicontrol {Floating point exceptions} check box to @@ -524,7 +528,7 @@ \li To specify settings for running Catch2 tests, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} > \uicontrol {Catch Test}. - \image qtcreator-autotests-options-catch2.png "Catch Test preferences" + \image qtcreator-preferences-testing-catchtest.webp {Catch Test tab in Testing preferences} \li Select the \uicontrol {Show success} check box to show succeeding expressions as well. By default Catch2 will print only fails. \li Select the \uicontrol {Break on failure while debugging} check box @@ -538,16 +542,15 @@ \li Select the \uicontrol {Abort after} check box to abort the test after the number of failures specified inside the spin box. \li Select the \uicontrol {Benchmark samples} check box to specify - the number of samples to be collected while running benchmarks. + the number of samples to collect while running benchmarks. \li Select the \uicontrol {Benchmark resamples} check box to specify - the number of resamples to be used for the statistical - bootstrapping performed after the benchmarking. + the number of resamples to use for statistical bootstrapping after + benchmarking. \li Select the \uicontrol {Benchmark confidence interval} check box - to specify the confidence interval used for the statistical - bootstrapping. + to specify the confidence interval for statistical bootstrapping. \li Select the \uicontrol {Benchmark warmup time} check box to specify - the warmup time for each test before benchmarking start. - \li Select the \uicontrol {Disable analysis} check box to disable the + the warmup time for each test before benchmarking starts. + \li Select the \uicontrol {Disable analysis} check box to disable statistical analysis and bootstrapping. \endlist @@ -556,7 +559,7 @@ \li To specify settings for running CTest-based tests, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} > \uicontrol {CTest}. - \image qtcreator-autotests-options-ctest.png "CTest preferences" + \image qtcreator-preferences-testing-ctest.webp {CTest tab in Testing preferences} \li Select the \uicontrol {Output on failure} check box to show test specific output if a test fails. Contrary to the CTest default this is enabled by default. @@ -570,30 +573,37 @@ \li Select \uicontrol {Repeat tests} if you want to re-run tests under certain circumstances. \li In the \uicontrol {Repetition mode} field, select the mode for - re-running tests. The maximum count for repeating a test can be - specified in the \uicontrol {Count} field. + re-running tests. Set the maximum count for repeating a test in + the \uicontrol {Count} field. \li Select \uicontrol {Run in parallel} to run the tests in parallel using the specified number of \uicontrol {Jobs}. - \li Select \uicontrol {Test load} to be able to limit the parallel + \li Select \uicontrol {Test load} to limit the parallel execution. CTest will not start a new test if it would cause the - CPU load to pass the threshold given in \uicontrol {Threshold}. + CPU load to pass the threshold set in \uicontrol {Threshold}. \endlist \section1 Viewing Test Output - The test results are displayed in \l{Viewing Output}{Test Results} - in XML format. XML can be parsed more easily and reliably than plain text. + The \l{Viewing Output}{Test Results} view shows Qt and Qt Quick test results + in XML format and other test results in plain text format. - However, if a Qt test crashes, it might not produce complete XML code that - can be parsed, which might lead to information loss. The lost information - might be retrievable when viewing the results as plain text. - To view the results of Qt tests as plain text, select \uicontrol Edit > + \section2 Qt Test Output + + XML can be parsed more easily and reliably than plain text. However, if a Qt + or Qt Quick test crashes, it might not produce complete XML + code that can be parsed, which might lead to information loss. You might see + the lost information when viewing the results as plain text. + + To view the + results of Qt and Qt Quick tests as plain text, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Testing} > \uicontrol {Qt Test}, and then deselect the \uicontrol {Use XML output} check box. Then select the \inlineimage icons/text.png (\uicontrol {Switch Between Visual and Text Display}) button in \uicontrol {Test Results} to switch to the text display. + \section2 Summary of Messages + The following table lists the messages that \uicontrol {Test Results} displays: @@ -643,6 +653,12 @@ \endtable + To view only messages of a particular type, select + \inlineimage icons/filtericon.png + (\uicontrol {Filter Test Results}), and then select the types of messages to + show. To show all messages, select \uicontrol {Check All Filters}. To + deselect all message types, select \uicontrol {Uncheck All Filters}. + Since Qt 5.4, you can add a BLACKLIST file for tests. It is mainly used internally by the Qt CI system. @@ -664,10 +680,4 @@ \li Blacklisted test case passed even though it was expected to fail. \endtable - - To view only messages of a particular type, select - \inlineimage icons/filtericon.png - (\uicontrol {Filter Test Results}), and then select the types of messages to - show. To show all messages, select \uicontrol {Check All Filters}. To - deselect all message types, select \uicontrol {Uncheck All Filters}. */ From c442d80b15252699ce1e84ca71b88f93143a0140 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 16 Mar 2023 16:55:06 +0100 Subject: [PATCH 02/54] Update qbs submodule to HEAD of 2.0 branch Change-Id: I52ec000ac9880d3fb849a71e814186e88f99724b Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: Christian Stenger --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index 1a6cfb0af22..33d129352a2 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 1a6cfb0af220926f8b00219c5dd7feb36bcaa0d2 +Subproject commit 33d129352a2674fdc8fc8c26b826a78f10e5f7a6 From a50f2620ec1e57271fae05dd6589d5c3d48fe6ea Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 17 Mar 2023 12:35:24 +0100 Subject: [PATCH 03/54] Bump version to 10.0.0 Change-Id: I396d3d42deb825e3cd34728e38989a6ad4f09006 Reviewed-by: David Schulz --- cmake/QtCreatorIDEBranding.cmake | 6 +++--- qbs/modules/qtc/qtc.qbs | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index 0b9447a85de..fd065a43571 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "9.0.84") # The IDE version. -set(IDE_VERSION_COMPAT "9.0.84") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "10.0.0-rc1") # The IDE display version. +set(IDE_VERSION "10.0.0") # The IDE version. +set(IDE_VERSION_COMPAT "10.0.0") # The IDE Compatibility version. +set(IDE_VERSION_DISPLAY "10.0.0") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 14529677fe8..dbd8d8a2b2f 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -6,16 +6,16 @@ import qbs.Utilities Module { Depends { name: "cpp"; required: false } - property string qtcreator_display_version: '10.0.0-rc1' - property string ide_version_major: '9' + property string qtcreator_display_version: '10.0.0' + property string ide_version_major: '10' property string ide_version_minor: '0' - property string ide_version_release: '84' + property string ide_version_release: '0' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release - property string ide_compat_version_major: '9' + property string ide_compat_version_major: '10' property string ide_compat_version_minor: '0' - property string ide_compat_version_release: '84' + property string ide_compat_version_release: '0' property string qtcreator_compat_version: ide_compat_version_major + '.' + ide_compat_version_minor + '.' + ide_compat_version_release From 4d82246ab5242b646fbd5f6f0f7f12637ec1d9db Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 17 Mar 2023 15:35:44 +0100 Subject: [PATCH 04/54] auto-setup: Add support for conan 2.0 Fixes: QTCREATORBUG-28865 Change-Id: Ifb801a458b4b18de218dee6604f0555cab13ec75 Reviewed-by: Alessandro Portale --- .../3rdparty/package-manager/auto-setup.cmake | 49 +++- .../package-manager/conan_support.cmake | 211 ++++++++++++++++++ tests/manual/conan/conanfile.txt | 4 +- 3 files changed, 250 insertions(+), 14 deletions(-) create mode 100644 src/share/3rdparty/package-manager/conan_support.cmake diff --git a/src/share/3rdparty/package-manager/auto-setup.cmake b/src/share/3rdparty/package-manager/auto-setup.cmake index ff57ac8d0eb..4689cc98049 100644 --- a/src/share/3rdparty/package-manager/auto-setup.cmake +++ b/src/share/3rdparty/package-manager/auto-setup.cmake @@ -46,6 +46,8 @@ macro(qtc_auto_setup_conan) message(FATAL_ERROR "conan --version failed='${result_code}: ${conan_version_output}") endif() + string(REGEX REPLACE ".*Conan version ([0-9].[0-9]).*" "\\1" conan_version "${conan_version_output}") + set(conanfile_timestamp_file "${CMAKE_BINARY_DIR}/conan-dependencies/conanfile.timestamp") file(TIMESTAMP "${conanfile_txt}" conanfile_timestamp) @@ -68,6 +70,9 @@ macro(qtc_auto_setup_conan) if (do_conan_installation) message(STATUS "Qt Creator: conan package manager auto-setup. " "Skip this step by setting QT_CREATOR_SKIP_CONAN_SETUP to ON.") + + file(COPY "${conanfile_txt}" DESTINATION "${CMAKE_BINARY_DIR}/conan-dependencies/") + file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake" " set(CMAKE_C_COMPILER \"${CMAKE_C_COMPILER}\") set(CMAKE_CXX_COMPILER \"${CMAKE_CXX_COMPILER}\") @@ -77,17 +82,39 @@ macro(qtc_auto_setup_conan) "include(\"${CMAKE_TOOLCHAIN_FILE}\")\n") endif() - file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/CMakeLists.txt" " - cmake_minimum_required(VERSION 3.15) - project(conan-setup) - include(\"${CMAKE_CURRENT_LIST_DIR}/conan.cmake\") - conan_cmake_run( - CONANFILE \"${conanfile_txt}\" - INSTALL_FOLDER \"${CMAKE_BINARY_DIR}/conan-dependencies\" - GENERATORS cmake_paths json - BUILD ${QT_CREATOR_CONAN_BUILD_POLICY} - ENV CONAN_CMAKE_TOOLCHAIN_FILE=\"${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake\" - )") + file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/CMakeLists.txt" " + cmake_minimum_required(VERSION 3.15) + + unset(CMAKE_PROJECT_INCLUDE_BEFORE CACHE) + project(conan-setup) + + if (${conan_version} VERSION_GREATER_EQUAL 2.0) + include(\"${CMAKE_CURRENT_LIST_DIR}/conan_support.cmake\") + conan_profile_detect_default() + detect_host_profile(\"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\") + + conan_install( + -pr \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\" + --build=${QT_CREATOR_CONAN_BUILD_POLICY} + -s build_type=${CMAKE_BUILD_TYPE} + -g CMakeDeps) + if (CONAN_INSTALL_SUCCESS) + file(WRITE \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_paths.cmake\" \" + list(PREPEND CMAKE_PREFIX_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") + list(PREPEND CMAKE_MODULE_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") + \") + endif() + else() + include(\"${CMAKE_CURRENT_LIST_DIR}/conan.cmake\") + conan_cmake_run( + CONANFILE \"${conanfile_txt}\" + INSTALL_FOLDER \"${CMAKE_BINARY_DIR}/conan-dependencies\" + GENERATORS cmake_paths cmake_find_package json + BUILD ${QT_CREATOR_CONAN_BUILD_POLICY} + ENV CONAN_CMAKE_TOOLCHAIN_FILE=\"${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake\" + ) + endif() + ") execute_process(COMMAND ${CMAKE_COMMAND} -S "${CMAKE_BINARY_DIR}/conan-dependencies/" diff --git a/src/share/3rdparty/package-manager/conan_support.cmake b/src/share/3rdparty/package-manager/conan_support.cmake new file mode 100644 index 00000000000..f1dbccf2aaf --- /dev/null +++ b/src/share/3rdparty/package-manager/conan_support.cmake @@ -0,0 +1,211 @@ +# https://github.com/conan-io/cmake-conan/blob/develop2/conan_support.cmake +# commit: 3e088cd3e1d9d69e04b5250d565c1b8b55b0400b +# +# The MIT License (MIT) +# +# Copyright (c) 2019 JFrog +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +function(detect_os OS) + # it could be cross compilation + message(STATUS "Conan-cmake: cmake_system_name=${CMAKE_SYSTEM_NAME}") + if(CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Generic") + if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + set(${OS} Macos PARENT_SCOPE) + elseif(${CMAKE_SYSTEM_NAME} STREQUAL "QNX") + set(${OS} Neutrino PARENT_SCOPE) + else() + set(${OS} ${CMAKE_SYSTEM_NAME} PARENT_SCOPE) + endif() + endif() +endfunction() + + +function(detect_cxx_standard CXX_STANDARD) + set(${CXX_STANDARD} ${CMAKE_CXX_STANDARD} PARENT_SCOPE) + if (CMAKE_CXX_EXTENSIONS) + set(${CXX_STANDARD} "gnu${CMAKE_CXX_STANDARD}" PARENT_SCOPE) + endif() +endfunction() + + +function(detect_compiler COMPILER COMPILER_VERSION) + if(DEFINED CMAKE_CXX_COMPILER_ID) + set(_COMPILER ${CMAKE_CXX_COMPILER_ID}) + set(_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) + else() + if(NOT DEFINED CMAKE_C_COMPILER_ID) + message(FATAL_ERROR "C or C++ compiler not defined") + endif() + set(_COMPILER ${CMAKE_C_COMPILER_ID}) + set(_COMPILER_VERSION ${CMAKE_C_COMPILER_VERSION}) + endif() + + message(STATUS "Conan-cmake: CMake compiler=${_COMPILER}") + message(STATUS "Conan-cmake: CMake cmpiler version=${_COMPILER_VERSION}") + + if(_COMPILER MATCHES MSVC) + set(_COMPILER "msvc") + string(SUBSTRING ${MSVC_VERSION} 0 3 _COMPILER_VERSION) + elseif(_COMPILER MATCHES AppleClang) + set(_COMPILER "apple-clang") + string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION}) + list(GET VERSION_LIST 0 _COMPILER_VERSION) + elseif(_COMPILER MATCHES Clang) + set(_COMPILER "clang") + string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION}) + list(GET VERSION_LIST 0 _COMPILER_VERSION) + elseif(_COMPILER MATCHES GNU) + set(_COMPILER "gcc") + string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION}) + list(GET VERSION_LIST 0 _COMPILER_VERSION) + endif() + + message(STATUS "Conan-cmake: [settings] compiler=${_COMPILER}") + message(STATUS "Conan-cmake: [settings] compiler.version=${_COMPILER_VERSION}") + + set(${COMPILER} ${_COMPILER} PARENT_SCOPE) + set(${COMPILER_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE) +endfunction() + +function(detect_build_type BUILD_TYPE) + if(NOT CMAKE_CONFIGURATION_TYPES) + # Only set when we know we are in a single-configuration generator + # Note: we may want to fail early if `CMAKE_BUILD_TYPE` is not defined + set(${BUILD_TYPE} ${CMAKE_BUILD_TYPE} PARENT_SCOPE) + endif() +endfunction() + + +function(detect_host_profile output_file) + detect_os(MYOS) + detect_compiler(MYCOMPILER MYCOMPILER_VERSION) + detect_cxx_standard(MYCXX_STANDARD) + detect_build_type(MYBUILD_TYPE) + + set(PROFILE "") + string(APPEND PROFILE "include(default)\n") + string(APPEND PROFILE "[settings]\n") + if(MYOS) + string(APPEND PROFILE os=${MYOS} "\n") + endif() + if(MYCOMPILER) + string(APPEND PROFILE compiler=${MYCOMPILER} "\n") + endif() + if(MYCOMPILER_VERSION) + string(APPEND PROFILE compiler.version=${MYCOMPILER_VERSION} "\n") + endif() + if(MYCXX_STANDARD) + string(APPEND PROFILE compiler.cppstd=${MYCXX_STANDARD} "\n") + endif() + if(MYBUILD_TYPE) + string(APPEND PROFILE "build_type=${MYBUILD_TYPE}\n") + endif() + + if(NOT DEFINED output_file) + set(_FN "${CMAKE_BINARY_DIR}/profile") + else() + set(_FN ${output_file}) + endif() + + string(APPEND PROFILE "[conf]\n") + string(APPEND PROFILE "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}\n") + + message(STATUS "Conan-cmake: Creating profile ${_FN}") + file(WRITE ${_FN} ${PROFILE}) + message(STATUS "Conan-cmake: Profile: \n${PROFILE}") +endfunction() + + +function(conan_profile_detect_default) + message(STATUS "Conan-cmake: Checking if a default profile exists") + execute_process(COMMAND conan profile path default + RESULT_VARIABLE return_code + OUTPUT_VARIABLE conan_stdout + ERROR_VARIABLE conan_stderr + ECHO_ERROR_VARIABLE # show the text output regardless + ECHO_OUTPUT_VARIABLE + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + if(NOT ${return_code} EQUAL "0") + message(STATUS "Conan-cmake: The default profile doesn't exist, detecting it.") + execute_process(COMMAND conan profile detect + RESULT_VARIABLE return_code + OUTPUT_VARIABLE conan_stdout + ERROR_VARIABLE conan_stderr + ECHO_ERROR_VARIABLE # show the text output regardless + ECHO_OUTPUT_VARIABLE + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif() +endfunction() + + +function(conan_install) + cmake_parse_arguments(ARGS CONAN_ARGS ${ARGN}) + set(CONAN_OUTPUT_FOLDER ${CMAKE_BINARY_DIR}/conan) + # Invoke "conan install" with the provided arguments + set(CONAN_ARGS ${CONAN_ARGS} -of=${CONAN_OUTPUT_FOLDER}) + message(STATUS "CMake-conan: conan install ${CMAKE_SOURCE_DIR} ${CONAN_ARGS} ${ARGN}") + execute_process(COMMAND conan install ${CMAKE_SOURCE_DIR} ${CONAN_ARGS} ${ARGN} --format=json + RESULT_VARIABLE return_code + OUTPUT_VARIABLE conan_stdout + ERROR_VARIABLE conan_stderr + ECHO_ERROR_VARIABLE # show the text output regardless + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + if(NOT "${return_code}" STREQUAL "0") + message(FATAL_ERROR "Conan install failed='${return_code}'") + else() + # the files are generated in a folder that depends on the layout used, if + # one if specified, but we don't know a priori where this is. + # TODO: this can be made more robust if Conan can provide this in the json output + string(JSON CONAN_GENERATORS_FOLDER GET ${conan_stdout} graph nodes 0 generators_folder) + # message("conan stdout: ${conan_stdout}") + message(STATUS "CMake-conan: CONAN_GENERATORS_FOLDER=${CONAN_GENERATORS_FOLDER}") + set(CONAN_GENERATORS_FOLDER "${CONAN_GENERATORS_FOLDER}" PARENT_SCOPE) + set(CONAN_INSTALL_SUCCESS TRUE CACHE BOOL "Conan install has been invoked and was successful") + endif() +endfunction() + + +function(conan_provide_dependency package_name) + if(NOT CONAN_INSTALL_SUCCESS) + message(STATUS "CMake-conan: first find_package() found. Installing dependencies with Conan") + conan_profile_detect_default() + detect_host_profile(${CMAKE_BINARY_DIR}/conan_host_profile) + if(NOT CMAKE_CONFIGURATION_TYPES) + message(STATUS "CMake-conan: Installing single configuration ${CMAKE_BUILD_TYPE}") + conan_install(-pr ${CMAKE_BINARY_DIR}/conan_host_profile --build=missing -g CMakeDeps) + else() + message(STATUS "CMake-conan: Installing both Debug and Release") + conan_install(-pr ${CMAKE_BINARY_DIR}/conan_host_profile -s build_type=Release --build=missing -g CMakeDeps) + conan_install(-pr ${CMAKE_BINARY_DIR}/conan_host_profile -s build_type=Debug --build=missing -g CMakeDeps) + endif() + if (CONAN_INSTALL_SUCCESS) + set(CONAN_GENERATORS_FOLDER "${CONAN_GENERATORS_FOLDER}" CACHE PATH "Conan generators folder") + endif() + else() + message(STATUS "CMake-conan: find_package(${package_name}) found, 'conan install' aready ran") + endif() + + if (CONAN_GENERATORS_FOLDER) + list(PREPEND CMAKE_PREFIX_PATH "${CONAN_GENERATORS_FOLDER}") + endif() + + find_package(${ARGN} BYPASS_PROVIDER) +endfunction() diff --git a/tests/manual/conan/conanfile.txt b/tests/manual/conan/conanfile.txt index bd1e4f8722d..fa99ef469bb 100644 --- a/tests/manual/conan/conanfile.txt +++ b/tests/manual/conan/conanfile.txt @@ -1,4 +1,2 @@ [requires] -fmt/8.0.0 -[generators] -cmake_find_package +fmt/9.1.0 From b4caf23b56a1b7394e39ca2a2f83ac8064ae3223 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 13 Mar 2023 15:51:14 +0100 Subject: [PATCH 05/54] German translation: UpdateInfo and Utils MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I876fc4972ca0544bb2870edb0ffa8671e527f0bb Reviewed-by: Reviewed-by: Christian Stenger Reviewed-by: Robert Löhning --- share/qtcreator/translations/qtcreator_de.ts | 79 ++++++++++---------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 0efd6178768..4c1402b60f7 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -50576,7 +50576,7 @@ Die Trace-Daten sind verloren. %1 and other updates are available. Check the <a %2>Qt blog</a> for details. - + %1 und andere Aktualisierungen sind verfügbar. Details finden Sie im <a %2>Qt Blog</a>. New updates are available. Start the update? @@ -50685,7 +50685,7 @@ Die Trace-Daten sind verloren. Update - Aktualisieren + Aktualisierung Qt Maintenance Tool @@ -50762,11 +50762,11 @@ Die Trace-Daten sind verloren. Local - + Lokal Remote - + Entfernt Choose... @@ -50850,7 +50850,7 @@ Die Trace-Daten sind verloren. Directory "%1" will be created. - + Verzeichnis "%1" wird erstellt. The project already exists. @@ -51107,35 +51107,35 @@ Die Trace-Daten sind verloren. copyFile is not implemented for "%1" - + copyFile ist für "%1" nicht implementiert Cannot copy from %1, it is not a directory. - + %1 kann nicht kopiert werden, da es kein Verzeichnis ist. Cannot copy %1 to %2, it is not a writable directory. - + %1 kann nicht nach %2 kopiert werden, da es kein schreibbares Verzeichnis ist. Failed to copy recursively from "%1" to "%2" while trying to create tar archive from source: %3 - + Rekursives Kopieren von "%1" nach "%2" beim Erstellen des Tar-Archivs der Quelle fehlgeschlagen: %3 Failed to copy recursively from "%1" to "%2" while trying to extract tar archive to target: %3 - + Rekursives Kopieren von "%1" nach "%2" beim Auspacken des Tar-Archivs am Ziel fehlgeschlagen: %3 fileContents is not implemented for "%1" - + fileContents ist für "%1" nicht implementiert writeFileContents is not implemented for "%1" - + writeFileContents ist für "%1" nicht implementiert createTempFile is not implemented for "%1" - + createTempFile ist für "%1" nicht implementiert Refusing to remove root directory. @@ -51155,51 +51155,51 @@ Die Trace-Daten sind verloren. Failed to copy file "%1" to "%2". - + Kopieren der Datei "%1" nach "%2" ist fehlgeschlagen. File "%1" does not exist - + Datei "%1" existiert nicht Could not open File "%1" - + Die Datei "%1" konnte nicht geöffnet werden Cannot read "%1": %2 - + "%1" kann nicht gelesen werden: %2 Could not open file "%1" for writing - + Die Datei "%1" konnte nicht zum Schreiben geöffnet werden Could not write to file "%1" (only %2 of %3 bytes written) - + Die Datei "%1" konnte nicht geschrieben werden (es wurden nur %2 von %3 Bytes geschrieben) Could not create temporary file in "%1" (%2) - + Es konnte keine temporäre Datei in "%1" erstellt werden (%2) Failed to copy file "%1" to "%2": %3 - Die Datei "%1" konnte nicht nach "%2" kopiert werden: %3. {1"?} {2"?} {3?} + Die Datei "%1" konnte nicht nach "%2" kopiert werden: %3 Failed reading file "%1": %2 - + Die Datei "%1" konnte nicht gelesen werden: %2 Failed writing file "%1": %2 - + Die Datei "%1" konnte nicht geschrieben werden: %2 Failed creating temporary file "%1": %2 - + Die temporäre Datei "%1" konnte nicht erstellt werden: %2 Failed creating temporary file "%1" (too many tries) - + Die temporäre Datei "%1" konnte nicht erstellt werden (zu viele Versuche) Failed to create directory "%1". @@ -51211,28 +51211,29 @@ Die Trace-Daten sind verloren. Cannot Save Workspace - + Arbeitsbereich kann nicht gespeichert werden Could not save workspace to file %1 - + Arbeitsbereich konnte nicht in der Datei %1 gespeichert werden Delete Workspace - + Arbeitsbereich löschen Delete Workspaces - + Arbeitsbereiche löschen Delete workspace %1? - + Arbeitsbereich %1 löschen? Delete these workspaces? %1 - + Diese Arbeitsbereiche löschen? + %1 File Error @@ -51240,11 +51241,11 @@ Die Trace-Daten sind verloren. Cannot Restore Workspace - + Arbeitsbereich kann nicht wiederhergestellt werden Could not restore workspace %1 - + Der Arbeitsbereich %1 konnte nicht wiederhergestellt werden Cannot write file %1: %2 @@ -51290,19 +51291,19 @@ Die Trace-Daten sind verloren. Error while trying to copy file: %1 - + Fehler beim Versuch die Datei zu kopieren: %1 Could not copy file: %1 - + Die Datei konnte nicht kopiert werden: %1 Could not set permissions on "%1" - + Die Berechtigungen für "%1" konnten nicht gesetzt werden No "localSource" device hook set. - + Keine Geräteimplementation für "localSource" gesetzt. Out of memory. @@ -51767,11 +51768,11 @@ in "%2" aus. Failed to retrieve clangd version: Unexpected clangd output. - Konnte Clangd-Version nicht bestimmen. Unerwartete Ausgabe. + Konnte Clangd-Version nicht bestimmen. Unerwartete Ausgabe. The clangd version is %1, but %2 or greater is required. - Die Clangd-Version ist %1, aber %2 oder neuer wird benötigt. + Die Clangd-Version ist %1, aber %2 oder neuer wird benötigt. From 098426b5636e4cfedd43239b9c66e02db8e633a2 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 7 Mar 2023 11:56:43 +0100 Subject: [PATCH 06/54] German translation: Core MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Id32bdc1ad994666d6b26f986e30c2349aa18ff89 Reviewed-by: Robert Löhning --- share/qtcreator/translations/qtcreator_de.ts | 74 ++++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 4c1402b60f7..39c31f33e6a 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -15939,7 +15939,7 @@ Trotzdem fortfahren? Save As... - Speichern als... + Speichern unter... &Print... @@ -16555,7 +16555,7 @@ Trotzdem fortfahren? Note: The file will be saved before this operation. - + Hinweis: Die Datei wird vor dieser Aktion gespeichert. There is no patch-command configured in the general "Environment" settings. @@ -18196,19 +18196,19 @@ Möchten Sie sie jetzt auschecken? Bytes - + Bytes KB - + KB GB - + GB TB - + TB Enable crash reporting @@ -18373,7 +18373,7 @@ provided they were unmodified before the refactoring. unnamed - unbenannt + unbenannt Current theme: %1 @@ -18902,123 +18902,123 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern. Logging Category Viewer - + Protokollansicht Save Log - + Protokoll speichern Clear - Löschen + Löschen Stop Logging - + Protokollierung anhalten Toggle Qt Internal Logging - + Protokollierung von Qt-Interna umschalten Auto Scroll - + Automatisch scrollen Timestamps - + Zeitstempel Message Types - + Nachrichtentypen Timestamp - Zeitstempel + Zeitstempel Category - + Kategorie Type - Typ + Typ Message - + Nachricht Start Logging - + Protokollierung starten Copy Selected Logs - + Ausgewählte Protokolle kopieren Copy All - Alles kopieren + Alles kopieren Save Enabled as Preset... - + Ausgewählte als Voreinstellung speichern... Update from Preset... - + Voreinstellung laden... Uncheck All - + Alle abwählen Save Logs As - + Protokolle speichern als Error - Fehler + Fehler Failed to write logs to "%1". - + Schreiben der Protokolle nach "%1" fehlgeschlagen. Failed to open file "%1" for writing logs. - + Datei "%1" konnte nicht zum Schreiben der Protokolle geöffnet werden. Save Enabled Categories As - + Ausgewählte Kategorien speichern unter Failed to write preset file "%1". - + Schreiben der Voreinstellung nach "%1" fehlgeschlagen. Load Enabled Categories From - + Ausgewählte Kategorien laden Failed to open preset file "%1" for reading - + Datei "%1" konnte nicht zum Lesen der Voreinstellung geöffnet werden Failed to read preset file "%1": %2 - + Lesen der Voreinstellung aus Datei "%1" fehlgeschlagen: %2 Unexpected preset file format. - + Unerwartetes Format der Datei. Haskell Editor - + Haskell-Editor Binding Editor - Binding-Editor + Binding-Editor From 0eaf35f400af4a872bdc9bf5c42d0dbe48d67338 Mon Sep 17 00:00:00 2001 From: Haowei Hsu Date: Fri, 17 Mar 2023 13:20:42 +0800 Subject: [PATCH 07/54] l10n(zh_TW): Fix translations of 'Generator' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Generator: 建立器 -> 產生器 Fixes: QTCREATORBUG-28912 Change-Id: Iab696ac7db6d4997d95fc0eaee13dafe4afebf0e Reviewed-by: Yi-Jyun Pan Reviewed-by: Franklin Weng Reviewed-by: Oswald Buddenhagen Reviewed-by: Kai Köhne --- share/qtcreator/translations/qtcreator_zh_TW.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index 9f7596be027..4c9834308c2 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -238,7 +238,7 @@ Generator: - 建立器: + 產生器: Run CMake @@ -270,15 +270,15 @@ MinGW Generator (%1) - MinGW 建立器 (%1) + MinGW 產生器 (%1) Unix Generator (%1) - Unix 建立器 (%1) + Unix 產生器 (%1) No generator selected. - 沒有選擇建立器。 + 沒有選擇產生器。 CMake exited with errors. Please check CMake output. @@ -286,7 +286,7 @@ NMake Generator (%1) - NMake 建立器(%1) + NMake 產生器(%1) No valid cmake executable specified. @@ -28720,15 +28720,15 @@ Please choose a valid package name for your application (e.g. "org.example. NMake Generator (%1) - NMake 建立器(%1) + NMake 產生器 (%1) MinGW Generator (%1) - MinGW 建立器 (%1) + MinGW 產生器 (%1) Unix Generator (%1) - Unix 建立器 (%1) + Unix 產生器 (%1) From d027cb32456ab2304a8a178ca0dec9b35cf7fa3e Mon Sep 17 00:00:00 2001 From: Haowei Hsu Date: Fri, 17 Mar 2023 11:08:31 +0800 Subject: [PATCH 08/54] l10n(zh_TW): Fix translations of 'Configure' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Configuration: 設置/設定 -> 組態 * Configure: 設置/設定 -> 組態 Fixes: QTCREATORBUG-28911 Change-Id: I827335325b3ef49c1f006cf1f540b2fcb8b05c84 Reviewed-by: Reviewed-by: Yi-Jyun Pan Reviewed-by: Franklin Weng Reviewed-by: Oswald Buddenhagen Reviewed-by: Kai Köhne --- .../qtcreator/translations/qtcreator_zh_TW.ts | 232 +++++++++--------- 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index 4c9834308c2..866a3293cf1 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -166,11 +166,11 @@ New Configuration - 新設置 + 新組態 New configuration name: - 新設置名稱: + 新組態名稱: Run cmake @@ -178,7 +178,7 @@ Reconfigure project: - 重新設置專案: + 重新組態專案: &Change @@ -214,7 +214,7 @@ Base environment for this runconfiguration: - 本次執行設置的基本環境變數: + 本次執行組態的基本環境變數: Clean Environment @@ -258,7 +258,7 @@ The directory %1 specified in a build-configuration, does not contain a cbp file. Qt Creator needs to recreate this file, by running CMake. Some projects require command line arguments to the initial CMake call. Note that CMake remembers command line arguments from the previous runs. - 在建置設置中指定的目錄 %1 中未包含 cbp 檔案。Qt Creator 需要執行 CMake 以重新建立此檔案。某些專案需要命令列參數來初始化 CMake 的呼叫。如果您想新增額外的命令列參數,請新增在下面。注意 CMake 會記住上次執行時的命令列參數。 + 在建置組態中指定的目錄 %1 中未包含 cbp 檔案。Qt Creator 需要執行 CMake 以重新建立此檔案。某些專案需要命令列參數來初始化 CMake 的呼叫。如果您想新增額外的命令列參數,請新增在下面。注意 CMake 會記住上次執行時的命令列參數。 Qt Creator needs to run CMake in the new build directory. Some projects require command line arguments to the initial CMake call. @@ -2212,7 +2212,7 @@ For more details, see/etc/sysctl.d/10-ptrace.conf <html><head/><body><p>The debugger is not configured to use the public <a href="%1">Microsoft Symbol Server</a>. This is recommended for retrieval of the symbols of the operating system libraries.</p><p><i>Note:</i> A fast internet connection is required for this to work smoothly. Also, a delay might occur when connecting for the first time.</p><p>Would you like to set it up?</p></br></body></html> - <html><head/><body><p> 除錯工具沒有被設置成使用公開的<a href="%1">微軟符號伺服器</a>。建議您使用符號伺服器,以便取得作業系統函式庫中的符號。</p><p><i>注意:</i>此項工作需要一個快速的網際網路連線,才能讓此工作較順暢。同時,第一次連結可能造成延遲。</p><p>您要設置符號伺服器嗎?</p></br></body></html> + <html><head/><body><p> 除錯工具沒有被組態成使用公開的<a href="%1">微軟符號伺服器</a>。建議您使用符號伺服器,以便取得作業系統函式庫中的符號。</p><p><i>注意:</i>此項工作需要一個快速的網際網路連線,才能讓此工作較順暢。同時,第一次連結可能造成延遲。</p><p>您要設置符號伺服器嗎?</p></br></body></html> Symbol Server @@ -4468,11 +4468,11 @@ Reason: %3 New Configuration - 新設置 + 新組態 New configuration name: - 新設置名稱: + 新組態名稱: Build directory: @@ -5296,7 +5296,7 @@ Reason: %3 Configuration - 設置 + 組態 Prepend to PATH: @@ -5987,7 +5987,7 @@ Add, modify, and remove document filters, which determine the documentation set Perforce is not correctly configured. - Perforce 未正確設置。 + Perforce 未正確組態。 p4 diff %1 @@ -6037,7 +6037,7 @@ Add, modify, and remove document filters, which determine the documentation set Configuration - 設置 + 組態 Miscellaneous @@ -6342,7 +6342,7 @@ Add, modify, and remove document filters, which determine the documentation set Edit build configuration: - 編輯建置設定: + 編輯建置組態: Rename... @@ -6350,20 +6350,20 @@ Add, modify, and remove document filters, which determine the documentation set New name for build configuration <b>%1</b>: - 建置設置的新名稱 <b>%1</b>: + 建置組態的新名稱 <b>%1</b>: Clone Configuration Title of a the cloned BuildConfiguration window, text of the window - 複製設置 + 複製組態 New configuration name: - 新設置名稱: + 新組態名稱: Cancel Build && Remove Build Configuration - 取消建置並移除建置設置 + 取消建置並移除建置組態 Do Not Remove @@ -6371,23 +6371,23 @@ Add, modify, and remove document filters, which determine the documentation set Remove Build Configuration %1? - 要移除建置設置 %1 嗎? + 要移除建置組態 %1 嗎? The build configuration <b>%1</b> is currently being built. - 建置設置 <b>%1</b> 正在建置中。 + 建置組態 <b>%1</b> 正在建置中。 Do you want to cancel the build process and remove the Build Configuration anyway? - 您想要取消建置動作並移除建置設置嗎? + 您想要取消建置動作並移除建置組態嗎? Remove Build Configuration? - 要移除建置設置嗎? + 要移除建置組態嗎? Do you really want to delete build configuration <b>%1</b>? - 您確定要刪除此建置設置 <b>%1</b> 嗎? + 您確定要刪除此建置組態 <b>%1</b> 嗎? Build Steps @@ -6427,7 +6427,7 @@ Add, modify, and remove document filters, which determine the documentation set Base environment for this run configuration: - 執行設置的基礎環境: + 執行組態的基礎環境: Editor settings: @@ -6642,7 +6642,7 @@ to project '%2'. Run configuration: - 執行設置: + 執行組態: Run Settings @@ -6662,43 +6662,43 @@ to project '%2'. Remove Run Configuration? - 要移除執行設置嗎? + 要移除執行組態嗎? Do you really want to delete the run configuration <b>%1</b>? - 您確定要刪除此執行設置 <b>%1</b> 嗎? + 您確定要刪除此執行組態 <b>%1</b> 嗎? New name for run configuration <b>%1</b>: - 執行設置 <b>%1</b> 的新名稱: + 執行組態 <b>%1</b> 的新名稱: Cancel Build && Remove Deploy Configuration - 取消建置並移除佈署設置 + 取消建置並移除佈署組態 Remove Deploy Configuration %1? - 要移除佈署設置 %1 嗎? + 要移除佈署組態 %1 嗎? The deploy configuration <b>%1</b> is currently being built. - 佈署設置 <b>%1</b> 正在建置中。 + 佈署組態 <b>%1</b> 正在建置中。 Do you want to cancel the build process and remove the Deploy Configuration anyway? - 您想要取消建置並移除佈署設置嗎? + 您想要取消建置並移除佈署組態嗎? Remove Deploy Configuration? - 要移除佈署設置嗎? + 要移除佈署組態嗎? Do you really want to delete deploy configuration <b>%1</b>? - 您確定要刪除此佈署設置 <b>%1</b> 嗎? + 您確定要刪除此佈署組態 <b>%1</b> 嗎? New name for deploy configuration <b>%1</b>: - 佈署設置 <b>%1</b> 的新名稱: + 佈署組態 <b>%1</b> 的新名稱: File not found: %1 @@ -6882,7 +6882,7 @@ to project '%2'. The target '%1' for the project '%2' has no active run configuration. - 專案 '%2' 的目標 '%1' 沒有作用中的執行設置。 + 專案 '%2' 的目標 '%1' 沒有作用中的執行組態。 Cannot run '%1'. @@ -7055,7 +7055,7 @@ Do you want to ignore them? The project %1 is not configured, skipping it. - 專案 %1 尚未設置,將跳過。 + 專案 %1 尚未組態,將跳過。 No project loaded. @@ -7067,7 +7067,7 @@ Do you want to ignore them? The project %1 is not configured. - 專案 %1 尚未設置。 + 專案 %1 尚未組態。 Project has no build settings. @@ -7543,7 +7543,7 @@ Preselects a desktop Qt for building the application if available. Qt4 Run Configuration - Qt4 執行設置 + Qt4 執行組態 Arguments: @@ -7563,7 +7563,7 @@ Preselects a desktop Qt for building the application if available. Base environment for this run configuration: - 此執行設置的基礎環境: + 此執行組態的基礎環境: Run Environment @@ -7592,11 +7592,11 @@ Preselects a desktop Qt for building the application if available. Qt Creator needs a build configuration set up to build. Configure a tool chain in Project mode. - Qt Creator 需要先設定建置設置才能執行建置。請在專案模式下設定工具鍊。 + Qt Creator 需要先設定建置組態才能執行建置。請在專案模式下組態工具鍊。 Qt Creator needs a tool chain set up to build. Configure a tool chain in Project mode. - Qt Creator 需要設置一個工具鍊才能建置。請在專案模式下設定工具鍊。 + Qt Creator 需要設置一個工具鍊才能建置。請在專案模式下組態工具鍊。 Cannot find Makefile. Check your build settings. @@ -7604,7 +7604,7 @@ Preselects a desktop Qt for building the application if available. Configuration is faulty. Check the Issues view for details. - 設置錯誤。請在錯誤檢視中看詳情。 + 組態錯誤。請在錯誤檢視中看詳情。 Override %1: @@ -7624,7 +7624,7 @@ Preselects a desktop Qt for building the application if available. No Qt4 build configuration. - 沒有 Qt4 建置設置。 + 沒有 Qt4 建置組態。 <b>Make:</b> %1 not found in the environment. @@ -7641,11 +7641,11 @@ Preselects a desktop Qt for building the application if available. Configuration is faulty, please check the Issues view for details. - 設置錯誤。請在錯誤檢視中看詳情。 + 組態錯誤。請在錯誤檢視中看詳情。 Configuration unchanged, skipping qmake step. - 設置沒有改變,將跳過 qmake 步驟。 + 組態沒有改變,將跳過 qmake 步驟。 No Qt version. @@ -7803,7 +7803,7 @@ Preselects a desktop Qt for building the application if available. QtC::Core Filter Configuration - 過濾器設置 + 過濾器組態 Limit to prefix @@ -7871,7 +7871,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Filter configuration - 過濾器設置 + 過濾器組態 Include hidden files @@ -7911,7 +7911,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Configure... - 設置... + 組態... Locate... @@ -7931,7 +7931,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Configure Filters - 過濾器設置 + 過濾器組態 min @@ -8001,7 +8001,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Configuration - 設置 + 組態 Miscellaneous @@ -9376,7 +9376,7 @@ Will not be applied to whitespace in comments and strings. Configuration - 設置 + 組態 Miscellaneous @@ -10616,11 +10616,11 @@ Reason: %2 New Configuration - 新設置 + 新組態 New configuration name: - 新設置名稱: + 新組態名稱: %1 Debug @@ -10822,7 +10822,7 @@ Reason: %2 Generic Project Configuration File - 一般專案設置檔 + 一般專案組態檔 Perforce submit template @@ -11060,7 +11060,7 @@ Reason: %2 Configuration - 設置 + 組態 Command: @@ -11202,7 +11202,7 @@ Reason: %2 The executable is not built by the current build configuration - 這個可執行檔不是使用目前的建置設置製作出來的 + 這個可執行檔不是使用目前的建置組態製作出來的 (disabled) @@ -11577,7 +11577,7 @@ Reason: %2 Unconfigured Project - 未設置專案 + 未組態專案 @@ -12292,7 +12292,7 @@ For qmlproject projects, use the importPaths property to add import paths. Configuration is faulty. Check the Issues view for details. - 設置錯誤。請在錯誤檢視中看詳情。 + 組態錯誤。請在錯誤檢視中看詳情。 Make arguments: @@ -12650,7 +12650,7 @@ For qmlproject projects, use the importPaths property to add import paths. <style type=text/css>a:link {color: rgb(128, 128, 255, 240);}</style>The project <b>%1</b> is not yet configured<br/><br/>You can configure it in the <a href="projectmode">Projects mode</a><br/> - <style type=text/css>a:link {color: rgb(128, 128, 255, 240);}</style>專案 <b>%1</b> 尚未設置。<br/><br/>您可以在<a href="projectmode">專案模式</a>中設置。<br/> + <style type=text/css>a:link {color: rgb(128, 128, 255, 240);}</style>專案 <b>%1</b> 尚未組態。<br/><br/>您可以在<a href="projectmode">專案模式</a>中組態。<br/> Targets @@ -13423,7 +13423,7 @@ Requires <b>Qt 4.7.4</b> or newer. The "Open C/C++ plugin" is not installed in the Symbian SDK or the Symbian SDK path is misconfigured - "開啟 C/C++ 外掛程式" 沒有安裝到 Symbian SDK,或是 Symbian SDK 路徑設定不正確 + "開啟 C/C++ 外掛程式" 沒有安裝到 Symbian SDK,或是 Symbian SDK 路徑組態不正確 SBS was not found. @@ -13562,7 +13562,7 @@ Requires <b>Qt 4.7.4</b> or newer. There is no patch-command configured in the common 'Version Control' settings. - 在「版本控制」設定中沒有設定修補指令。 + 在「版本控制」設定中沒有組態修補指令。 Unable to launch '%1': %2 @@ -13641,7 +13641,7 @@ with a password, which you can enter below. Please configure a path. - 請設置一個路徑。 + 請組態一個路徑。 Pasted: %1 @@ -13653,7 +13653,7 @@ with a password, which you can enter below. %1 - Configuration Error - %1 - 設置錯誤 + %1 - 組態錯誤 Settings... @@ -14616,7 +14616,7 @@ Ids must begin with a lowercase letter. QtC::Help Filter configuration - 過濾器設置 + 過濾器組態 Prefix: @@ -14906,7 +14906,7 @@ Ids must begin with a lowercase letter. Configuration is faulty. Check the Issues view for details. - 設置錯誤。請在錯誤檢視中看詳情。 + 組態錯誤。請在錯誤檢視中看詳情。 @@ -15483,11 +15483,11 @@ This feature is only available for GDB. The debugger engine '%1' required for debugging binaries of the type '%2' is not configured correctly. - 除錯型態 '%2' 的執行檔需要使用除錯引擎 '%1',但是設置不正確。 + 除錯型態 '%2' 的執行檔需要使用除錯引擎 '%1',但是組態不正確。 None of the debugger engines '%1' capable of debugging binaries of the type '%2' is configured correctly. - 型態 '%2' 的執行檔適用的除錯引擎 '%1' 設置都不正確。 + 型態 '%2' 的執行檔適用的除錯引擎 '%1' 組態都不正確。 The preferred debugger engine for debugging binaries of type '%1' is not available. @@ -15838,7 +15838,7 @@ instead of its installation directory when run outside git bash. Deploy Configuration Display name of the default deploy configuration - 佈署設置 + 佈署組態 Application Still Running @@ -16847,7 +16847,7 @@ The new branch will depend on the availability of the source branch for all oper Configuration - 設置 + 組態 Command: @@ -18977,7 +18977,7 @@ Do you want to retry? The following tool chain was already configured:<br>&nbsp;%1<br>It was not configured again. - 已設置以下工具鍊:<br>&nbsp;%1<br>因此未再次設置。 + 已組態以下工具鍊:<br>&nbsp;%1<br>因此未再次組態。 Duplicate Tool Chains detected @@ -18985,7 +18985,7 @@ Do you want to retry? The following tool chains were already configured:<br>&nbsp;%1<br>They were not configured again. - 已設置以下工具鍊:<br>&nbsp;%1<br>因此未再次設置。 + 已組態以下工具鍊:<br>&nbsp;%1<br>因此未再次組態。 @@ -19519,7 +19519,7 @@ Your application will also be rejected by Nokia Store QA if you choose an unrele Build Configuration - 建置設置 + 建置組態 Project File Checks @@ -19566,7 +19566,7 @@ Your application will also be rejected by Nokia Store QA if you choose an unrele Create build configurations: - 建立建置設置: + 建立建置組態: For Each Qt Version One Debug And One Release @@ -20526,11 +20526,11 @@ With cache simulation, further event counters are enabled: QtC::VcsBase Configuration - 設置 + 組態 Please configure <b>%1</b> now. - 請現在設置 <b>%1</b>。 + 請現在組態 <b>%1</b>。 @@ -20854,7 +20854,7 @@ These files are preserved. Re-run this run-configuration - 重新執行此執行設置 + 重新執行此執行組態 Application Output @@ -21166,7 +21166,7 @@ Please use the stop button instead. The Qt version configured in your active build configuration is too old. Do you want to continue? QML 效能分析器需要 Qt 4.7.4 或之後的版本。 -您目前作用中的建置設置的 Qt 版本太舊了。 +您目前作用中的建置組態的 Qt 版本太舊了。 您要繼續嗎? @@ -21366,7 +21366,7 @@ Do you want to retry? Qt Creator is waiting for the CODA application to connect.<br>Please make sure the application is running on your mobile phone and the right IP address and/or port are configured in the project settings. - Qt Creator 正在等待 CODA 應用連接.<br>你確保你手機上應用正在執行並且IP 地址或連接埠已經設置正確. + Qt Creator 正在等待 CODA 應用連接.<br>你確保你手機上應用正在執行並且IP 地址或連接埠已經組態正確. Canceled. @@ -21420,7 +21420,7 @@ Do you want to retry? Choose a build configuration: - 選擇一個建置設置: + 選擇一個建置組態: Choose a tool chain: @@ -21670,7 +21670,7 @@ Do you want to retry? New Generic Linux Device Configuration Setup - 新的通用型 Linux 裝置設定 + 新的通用型 Linux 裝置組態 Connection Data @@ -21687,7 +21687,7 @@ Do you want to retry? The new device configuration will now be created. In addition, device connectivity will be tested. - 將建立新的裝置設置。 + 將建立新的裝置組態。 此外,也會測試裝置的連線。 @@ -21696,7 +21696,7 @@ In addition, device connectivity will be tested. Device Configuration Wizard Selection - 裝置設置精靈選擇 + 裝置組態精靈選擇 Available device types: @@ -21770,7 +21770,7 @@ In addition, device connectivity will be tested. No active build configuration. - 沒有作用中的建置設置。 + 沒有作用中的建置組態。 Don't know what to run. @@ -21809,7 +21809,7 @@ In addition, device connectivity will be tested. <a href="%1">Manage device configurations</a> - <a href="%1">管理裝置設置</a> + <a href="%1">管理裝置組態</a> <a href="%1">Set Debugger</a> @@ -21845,7 +21845,7 @@ In addition, device connectivity will be tested. Base environment for this run configuration: - 執行設置的基礎環境: + 執行組態的基礎環境: Cancel Fetch Operation @@ -23533,7 +23533,7 @@ Qt Creator 知道一個相似的URI. No device configuration set. - 沒有設定裝置設置。 + 沒有設定裝置組態。 Connecting to device... @@ -23657,11 +23657,11 @@ Is the device connected and set up for network access? Linux Device Configurations - Linux 裝置設置 + Linux 裝置組態 &Configuration: - 設置(&C): + 組態(&C): General @@ -23877,7 +23877,7 @@ Remote stderr was: %1 Device Configurations - 裝置設置 + 裝置組態 Could not start remote process: %1 @@ -23899,7 +23899,7 @@ Remote error output was: %1 SSH Key Configuration - SSH 金鑰設置 + SSH 金鑰組態 Options @@ -24699,7 +24699,7 @@ p, li { white-space: pre-wrap; } qmake build configuration: - qmake 建置設置: + qmake 建置組態: Additional arguments: @@ -24883,7 +24883,7 @@ p, li { white-space: pre-wrap; } The name to identify this configuration: - 用於辨認此設置的名稱: + 用於辨認此組態的名稱: The device's host name or IP address: @@ -24919,11 +24919,11 @@ p, li { white-space: pre-wrap; } Device configuration: - 裝置設置: + 裝置組態: <a href="irrelevant">Manage device configurations</a> - <a href="irrelevant">管理裝置設置</a> + <a href="irrelevant">管理裝置組態</a> These show the INSTALLS settings from the project file(s). @@ -25336,7 +25336,7 @@ Influences the indentation of continuation lines. </pre> </li> -<li>伴隨規則縮排: 在原設置上使用 tab 或 空格進行對齊。 +<li>伴隨規則縮排: 在原組態上使用 tab 或 空格進行對齊。 <pre> (tab)int i = foo(a, b (tab)(tab)(tab) c, d); @@ -25474,7 +25474,7 @@ name <email> alias <email> User/&alias configuration file: - 使用者/別名設置檔案(&a): + 使用者/別名組態檔案(&a): A simple file containing lines with field names like "Reviewed-By:" which will be added below the submit editor. @@ -25482,7 +25482,7 @@ name <email> alias <email> User &fields configuration file: - 使用者字段設置檔案(&f): + 使用者字段組態檔案(&f): &Patch command: @@ -25500,7 +25500,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Configure... - 設置... + 組態... @@ -25936,11 +25936,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Do you really want to delete the configuration <b>%1</b>? - 您確定要刪除此設置 <b>%1</b> 嗎? + 您確定要刪除此組態 <b>%1</b> 嗎? New name for configuration <b>%1</b>: - 設置 <b>%1</b> 的新名稱: + 組態 <b>%1</b> 的新名稱: Rename... @@ -26046,7 +26046,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autogen step. - 設置未變更,跳過 autogen 步驟。 + 組態未變更,跳過 autogen 步驟。 Arguments: @@ -26068,7 +26068,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration unchanged, skipping autoreconf step. - 設置未變更,跳過 autoreconf 步驟。 + 組態未變更,跳過 autoreconf 步驟。 Autoreconf @@ -26081,11 +26081,11 @@ should a repository require SSH-authentication (see documentation on SSH and the New Configuration - 新增設置 + 新增組態 New configuration name: - 新設置名稱: + 新組態名稱: Build directory: @@ -26127,20 +26127,20 @@ should a repository require SSH-authentication (see documentation on SSH and the Configure Display name for AutotoolsProjectManager::ConfigureStep id. - 設置 + 組態 Configure - 設置 + 組態 Configuration unchanged, skipping configure step. - 設置未變更,跳過設置步驟。 + 組態未變更,跳過組態步驟。 Configure AutotoolsProjectManager::ConfigureStepConfigWidget display name. - 設置 + 組態 Parsing %1 in directory %2 @@ -26165,7 +26165,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Configuration is faulty. Check the Issues view for details. - 設置錯誤。請在錯誤檢視中看詳情。 + 組態錯誤。請在錯誤檢視中看詳情。 Make @@ -26634,7 +26634,7 @@ references to elements in other files, loops, etc.) QtC::QmakeProjectManager Configure Project - 設置專案 + 組態專案 The project <b>%1</b> is not yet configured.<br/>Qt Creator cannot parse the project, because no kit has been set up. @@ -26650,7 +26650,7 @@ references to elements in other files, loops, etc.) <p>The project <b>%1</b> is not yet configured.</p><p>Qt Creator uses the Qt version: <b>%2</b> and the tool chain: <b>%3</b> to parse the project. You can edit these in the <b><a href="edit">options.</a></b></p> - <p>專案 <b>%1</b>還沒設置。</p><p>Qt Creator 使用的 Qt 版本: <b>%2</b> 和工具鍊: <b>%3</b> 來解析專案。 你可以編輯這些 <b><a href="edit">選項.</a></b></p> + <p>專案 <b>%1</b>還沒組態。</p><p>Qt Creator 使用的 Qt 版本: <b>%2</b> 和工具鍊: <b>%3</b> 來解析專案。 你可以編輯這些 <b><a href="edit">選項.</a></b></p> Qt Version: @@ -26829,7 +26829,7 @@ references to elements in other files, loops, etc.) QSsh::SshKeyCreationDialog SSH Key Configuration - SSH 金鑰設置 + SSH 金鑰組態 Options @@ -27266,7 +27266,7 @@ This option is useful when you want to try your application on devices which don Configuration - 設置 + 組態 &Command: @@ -27402,7 +27402,7 @@ This option is useful when you want to try your application on devices which don QtC::ProjectExplorer Device Configuration Wizard Selection - 裝置設置精靈選擇 + 裝置組態精靈選擇 Available device types: @@ -27410,7 +27410,7 @@ This option is useful when you want to try your application on devices which don Linux Device Configurations - Linux 裝置設置 + Linux 裝置組態 General @@ -27519,7 +27519,7 @@ This option is useful when you want to try your application on devices which don The name to identify this configuration: - 用於辨認此設置的名稱: + 用於辨認此組態的名稱: The device's host name or IP address: @@ -29997,7 +29997,7 @@ Remote stderr was: %1 Unconfigured - 未設置 + 未組態 The root directory of the system image to use.<br>Leave empty when building for the desktop. From 1adc2a798805625282df6bc4a163daf07ff93a32 Mon Sep 17 00:00:00 2001 From: Haowei Hsu Date: Sat, 18 Mar 2023 00:46:00 +0800 Subject: [PATCH 09/54] l10n(zh_TW): Fix translations of 'Code Style' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Code Style: 代碼風格, 源碼樣式 -> 程式碼樣式 Change-Id: I744b139cfca43532a61e9a8495fcbb0c66c959e7 Reviewed-by: Reviewed-by: Yi-Jyun Pan Reviewed-by: Franklin Weng Reviewed-by: Oswald Buddenhagen Reviewed-by: Kai Köhne --- .../qtcreator/translations/qtcreator_zh_TW.ts | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index 866a3293cf1..cde4f8c4bf2 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -1652,7 +1652,7 @@ Code Style - 源碼樣式 + 程式碼樣式 File Naming @@ -20866,7 +20866,7 @@ These files are preserved. Code Style Settings - 代碼風格設定 + 程式碼樣式設定 Code Style @@ -20877,7 +20877,7 @@ These files are preserved. CodeStyleSettingsPanel Code Style Settings - 代碼風格設定 + 程式碼樣式設定 Code Style @@ -21069,7 +21069,7 @@ These files are preserved. QtC::QmlJSTools Code Style - 代碼風格 + 程式碼樣式 Qt Quick @@ -24070,19 +24070,19 @@ Remote error output was: %1 QtC::TextEditor Edit Code Style - 編輯代碼風格 + 編輯程式碼樣式 Code style name: - 代碼風格名稱: + 程式碼樣式名稱: You cannot save changes to a built-in code style. Copy it first to create your own version. - 您不能儲存內建代碼風格的變更。請先複製以建立您自己的版本。 + 您不能儲存內建程式碼樣式的變更。請先複製以建立您自己的版本。 Copy Built-in Code Style - 複製內建代碼風格 + 複製內建程式碼樣式 %1 (Copy) @@ -24090,23 +24090,23 @@ Remote error output was: %1 Copy Code Style - 複製代碼風格 + 複製程式碼樣式 Delete Code Style - 刪除代碼風格 + 刪除程式碼樣式 Are you sure you want to delete this code style permanently? - 您確定要永久刪除這個代碼風格嗎? + 您確定要永久刪除這個程式碼樣式嗎? Import Code Style - 匯入代碼風格 + 匯入程式碼樣式 Code styles (*.xml);;All files (*) - 代碼風格 (*.xml);;所有檔案(*) + 程式碼樣式 (*.xml);;所有檔案(*) Cannot import code style from "%1". @@ -24114,11 +24114,11 @@ Remote error output was: %1 Cannot import code style - 無法匯入代碼風格 + 無法匯入程式碼樣式 Export Code Style - 匯出代碼風格 + 匯出程式碼樣式 %1 [proxy: %2] From 14292e74d244db25e93cf1781a713f5a85fdb3e7 Mon Sep 17 00:00:00 2001 From: Haowei Hsu Date: Sat, 18 Mar 2023 00:25:34 +0800 Subject: [PATCH 10/54] l10n(zh_TW): Fix translations of 'Repository' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Repository: 主目錄, 代碼倉函式庫 -> 儲存庫 Change-Id: Idc23f518583510977da9f344568c1c338f93e199 Reviewed-by: Reviewed-by: Yi-Jyun Pan Reviewed-by: Franklin Weng Reviewed-by: Oswald Buddenhagen Reviewed-by: Kai Köhne --- .../qtcreator/translations/qtcreator_zh_TW.ts | 156 +++++++++--------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts index cde4f8c4bf2..23b7d93115f 100644 --- a/share/qtcreator/translations/qtcreator_zh_TW.ts +++ b/share/qtcreator/translations/qtcreator_zh_TW.ts @@ -4596,7 +4596,7 @@ Reason: %3 Selected directory is not a Git repository - 選擇的目錄並非 Git 主目錄 + 選擇的目錄並非 Git 儲存庫 Working directory: @@ -4651,7 +4651,7 @@ Reason: %3 Cannot determine the repository for "%1". - 無法決定 "%1" 的主目錄。 + 無法決定 "%1" 的儲存庫。 Cannot parse the file output. @@ -4787,11 +4787,11 @@ Reason: %3 The repository "%1" is not initialized. - 主目錄(Repository) "%1" 還沒有被初始化。 + 儲存庫 "%1" 還沒有被初始化。 Cannot retrieve last commit data of repository "%1". - 無法取得主目錄 "%1" 上次提交的資料。 + 無法取得儲存庫 "%1" 上次提交的資料。 Amended "%1" (%n file(s)). @@ -4946,7 +4946,7 @@ Reason: %3 Undo all pending changes to the repository %1? - 是否要復原主目錄 + 是否要復原儲存庫 %1 的所有暫停的變更? @@ -4972,7 +4972,7 @@ Reason: %3 Repository Clean - 主目錄 (Repository) 清理 + 儲存庫清理 Choose Patch @@ -5088,11 +5088,11 @@ Reason: %3 Create Repository... - 建立主目錄... + 建立儲存庫... Saves the current state of your work and resets the repository. - 儲存您工作的目前狀態,並重置主目錄。 + 儲存您工作的目前狀態,並重置儲存庫。 Stashes... @@ -5116,7 +5116,7 @@ Reason: %3 The repository is clean. - 主目錄已清理乾淨。 + 儲存庫已清理乾淨。 Patches (*.patch *.diff) @@ -5208,11 +5208,11 @@ Reason: %3 Repository: - 主目錄: + 儲存庫: repository - 主目錄 + 儲存庫 Branch: @@ -5885,7 +5885,7 @@ Add, modify, and remove document filters, which determine the documentation set Repository Log - 主目錄紀錄 + 儲存庫紀錄 &Undo @@ -5955,11 +5955,11 @@ Add, modify, and remove document filters, which determine the documentation set Perforce repository: %1 - Perforce 主目錄: %1 + Perforce 儲存庫: %1 Perforce: Unable to determine the repository: %1 - Perforce:無法決定主目錄:%1 + Perforce:無法決定儲存庫:%1 The process terminated abnormally. @@ -6570,7 +6570,7 @@ to project '%2'. A version control system repository could not be created in '%1'. - 在 %1 裡無法建立版本控制系統主目錄。 + 在 %1 裡無法建立版本控制系統儲存庫。 Failed to add '%1' to the version control system. @@ -8165,7 +8165,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Revert Repository... - 復原主目錄... + 復原儲存庫... Commit @@ -8193,7 +8193,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Revert repository - 復原主目錄 + 復原儲存庫 Revert failed: %1 @@ -8217,19 +8217,19 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Diff Repository - 比較主目錄 + 比較儲存庫 Repository Status - 主目錄狀態 + 儲存庫狀態 Log Repository - 主目錄紀錄 + 儲存庫紀錄 Update Repository - 更新主目錄 + 更新儲存庫 Diff &Selected Files @@ -8237,7 +8237,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Revert all pending changes to the repository? - 是否要復原主目錄的所有暫停的變更? + 是否要復原儲存庫的所有暫停的變更? There are no modified files. @@ -9520,15 +9520,15 @@ Will not be applied to whitespace in comments and strings. Repository - 主目錄 + 儲存庫 Choose a repository of the project '%1'. - 請為專案 '%1' 選擇一個主目錄。 + 請為專案 '%1' 選擇一個儲存庫。 Mainline Repositories - 主線使用的主目錄 + 主線使用的儲存庫 Clones @@ -9536,15 +9536,15 @@ Will not be applied to whitespace in comments and strings. Baseline Repositories - 基線使用的主目錄 + 基線使用的儲存庫 Shared Project Repositories - 共享專案使用的主目錄 + 共享專案使用的儲存庫 Personal Repositories - 個人主目錄 + 個人儲存庫 @@ -9956,7 +9956,7 @@ Will not be applied to whitespace in comments and strings. QtC::CVS Checks out a CVS repository and tries to load the contained project. - 從 CVS 主目錄中取出,並試著載入裡面包含的專案。 + 從 CVS 儲存庫中取出,並試著載入裡面包含的專案。 CVS Checkout @@ -9968,11 +9968,11 @@ Will not be applied to whitespace in comments and strings. Specify repository and path. - 請指定主目錄與路徑。 + 請指定儲存庫與路徑。 Repository: - 主目錄: + 儲存庫: Parsing of the log output failed @@ -10036,7 +10036,7 @@ Will not be applied to whitespace in comments and strings. Cannot find repository for '%1' - 找不到 '%1' 的主目錄 + 找不到 '%1' 的儲存庫 Meta+C,Meta+D @@ -10096,7 +10096,7 @@ Will not be applied to whitespace in comments and strings. Unedit Repository - 未編輯主目錄 + 未編輯儲存庫 Project Status @@ -10132,23 +10132,23 @@ Will not be applied to whitespace in comments and strings. Diff Repository - 比較主目錄 + 比較儲存庫 Repository Status - 主目錄狀態 + 儲存庫狀態 Repository Log - 主目錄紀錄 + 儲存庫紀錄 Update Repository - 更新主目錄 + 更新儲存庫 Revert Repository... - 復原主目錄... + 復原儲存庫... Commit @@ -10184,11 +10184,11 @@ Will not be applied to whitespace in comments and strings. Revert repository - 復原主目錄 + 復原儲存庫 Revert all pending changes to the repository? - 是否要復原主目錄的所有暫停的變更? + 是否要復原儲存庫的所有暫停的變更? Revert failed: %1 @@ -10208,7 +10208,7 @@ Will not be applied to whitespace in comments and strings. Would you like to discard your changes to the repository '%1'? - 您要丟棄您對主目錄 '%1' 的變更嗎? + 您要丟棄您對儲存庫 '%1' 的變更嗎? Would you like to discard your changes to the file '%1'? @@ -10220,7 +10220,7 @@ Will not be applied to whitespace in comments and strings. Repository status - 主目錄狀態 + 儲存庫狀態 The initial revision %1 cannot be described. @@ -10281,11 +10281,11 @@ Will not be applied to whitespace in comments and strings. QtC::Git Clones a Git repository and tries to load the contained project. - 複製一個 Git 主目錄,並試著載入裡面包含的專案。 + 複製一個 Git 儲存庫,並試著載入裡面包含的專案。 Git Repository Clone - Git 主目錄複製 + Git 儲存庫複製 Location @@ -10293,7 +10293,7 @@ Will not be applied to whitespace in comments and strings. Specify repository URL, checkout directory and path. - 請指定主目錄網址、取出目錄與路徑。 + 請指定儲存庫網址、取出目錄與路徑。 Clone URL: @@ -10305,7 +10305,7 @@ Will not be applied to whitespace in comments and strings. Delete the master branch after checking out the repository. - 取出主目錄時刪除 master 分支。 + 取出儲存庫時刪除 master 分支。 @@ -10327,11 +10327,11 @@ Will not be applied to whitespace in comments and strings. Gitorious::Internal::GitoriousCloneWizard Clones a Gitorious repository and tries to load the contained project. - 複製一個 Gitorious 主目錄,並試著載入裡面包含的專案。 + 複製一個 Gitorious 儲存庫,並試著載入裡面包含的專案。 Gitorious Repository Clone - Gitorious 主目錄複製 + Gitorious 儲存庫複製 @@ -10647,7 +10647,7 @@ Reason: %2 QtC::Subversion Checks out a Subversion repository and tries to load the contained project. - 從 Subversion 主目錄中取出,並試著載入裡面包含的專案。 + 從 Subversion 儲存庫中取出,並試著載入裡面包含的專案。 Subversion Checkout @@ -10659,11 +10659,11 @@ Reason: %2 Specify repository URL, checkout directory and path. - 請指定主目錄網址、取出目錄與路徑。 + 請指定儲存庫網址、取出目錄與路徑。 Repository: - 主目錄: + 儲存庫: @@ -11028,11 +11028,11 @@ Reason: %2 Repository: - 主目錄: + 儲存庫: repository - 主目錄 + 儲存庫 Branch: @@ -11246,7 +11246,7 @@ Reason: %2 QtC::Mercurial Clones a Mercurial repository and tries to load the contained project. - 複製一個 Mercurial 主目錄,並試著載入裡面包含的專案。 + 複製一個 Mercurial 儲存庫,並試著載入裡面包含的專案。 Mercurial Clone @@ -11258,7 +11258,7 @@ Reason: %2 Specify repository URL, checkout directory and path. - 請指定主目錄網址、取出目錄與路徑。 + 請指定儲存庫網址、取出目錄與路徑。 Clone URL: @@ -11418,7 +11418,7 @@ Reason: %2 Create Repository... - 建立主目錄... + 建立儲存庫... Pull Source @@ -11518,7 +11518,7 @@ Reason: %2 The repository "%1" does not exist. - 主目錄 "%1" 不存在。 + 儲存庫 "%1" 不存在。 @@ -11627,11 +11627,11 @@ Reason: %2 <No repository> - <沒有主目錄> + <沒有儲存庫> Repository: %1 - 主目錄:%1 + 儲存庫:%1 Do you want to delete all stashes? @@ -11658,12 +11658,12 @@ Reason: %2 Repository Modified - 主目錄已變更 + 儲存庫已變更 %1 cannot be restored since the repository is modified. You can choose between stashing the changes or discarding them. - %1 無法還原,因為主目錄已被變更。 + %1 無法還原,因為儲存庫已被變更。 您可以選擇要暫存或是丟棄變更。 @@ -11788,7 +11788,7 @@ You can choose between stashing the changes or discarding them. There were errors when cleaning the repository %1: - 清除主目錄 %1 時發生錯誤: + 清除儲存庫 %1 時發生錯誤: Delete... @@ -11796,7 +11796,7 @@ You can choose between stashing the changes or discarding them. Repository: %1 - 主目錄:%1 + 儲存庫:%1 %n bytes, last modified %1 @@ -13538,7 +13538,7 @@ Requires <b>Qt 4.7.4</b> or newer. Choose Repository Directory - 請選擇主目錄的存放目錄 + 請選擇儲存庫的存放目錄 The directory '%1' is already managed by a version control system (%2). Would you like to specify another directory? @@ -13550,11 +13550,11 @@ Requires <b>Qt 4.7.4</b> or newer. Repository Created - 主目錄建立成功 + 儲存庫建立成功 Repository Creation Failed - 主目錄建立失敗 + 儲存庫建立失敗 Error: Executable timed out after %1s. @@ -13582,11 +13582,11 @@ Requires <b>Qt 4.7.4</b> or newer. A version control repository has been created in %1. - 已在 %1 建立版本控制系統主目錄。 + 已在 %1 建立版本控制系統儲存庫。 A version control repository could not be created in %1. - 無法在 %1 建立版本控制系統主目錄。 + 無法在 %1 建立版本控制系統儲存庫。 @@ -16824,7 +16824,7 @@ The new branch will depend on the availability of the source branch for all oper Do not use a shared repository, even if available. - 即使可以使用,也不要使用共享主目錄。 + 即使可以使用,也不要使用共享儲存庫。 Switch the checkout in the current directory to the new branch. @@ -17712,7 +17712,7 @@ Local pulls are not applied to the master branch. Create Repository... - 建立主目錄... + 建立儲存庫... Update @@ -17786,7 +17786,7 @@ Local pulls are not applied to the master branch. Specify repository URL, clone directory and path. - 請指定主目錄網址、複製目錄與路徑。 + 請指定儲存庫網址、複製目錄與路徑。 Clone URL: @@ -25404,11 +25404,11 @@ Influences the indentation of continuation lines. Repository - 主目錄 + 儲存庫 The remote repository to check out. - 要取出的遠端主目錄。 + 要取出的遠端儲存庫。 Branch: @@ -25416,11 +25416,11 @@ Influences the indentation of continuation lines. The development branch in the remote repository to check out. - 要取出的遠端主目錄中的開發分支。 + 要取出的遠端儲存庫中的開發分支。 Retrieve list of branches in repository. - 取得主目錄中的分支列表。 + 取得儲存庫中的分支列表。 ... @@ -25448,7 +25448,7 @@ Influences the indentation of continuation lines. Clean Repository - 清除主目錄 + 清除儲存庫 Wrap submit message at: @@ -25491,8 +25491,8 @@ name <email> alias <email> Specifies a command that is executed to graphically prompt for a password, should a repository require SSH-authentication (see documentation on SSH and the environment variable SSH_ASKPASS). - 指定一條執行圖形化提示密碼的命令, -會在代碼倉函式庫要求 SSH 身份驗證的時候用到。(查看 SSH 和環境變數 SSH_ASKPASS 的相關文檔)。 + 指定一條執行圖形化提示密碼的命令, +會在儲存庫要求 SSH 身份驗證的時候用到。(查看 SSH 和環境變數 SSH_ASKPASS 的相關文檔)。 &SSH prompt command: From cf1854a2d770d704876c2fa3a8b4742527f644f7 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 20 Mar 2023 14:32:06 +0100 Subject: [PATCH 11/54] Doc: Update docs for Docker devices Task-number: QTCREATORBUG-28721 Change-Id: Ie00e736a0a7d8d3d7c6238ce74e1d516bb5dca1a Reviewed-by: Marcus Tillmanns --- dist/changelog/changes-10.0.0.md | 1 + ...ator-preferences-devices-docker-device.png | Bin 0 -> 26560 bytes ...tor-preferences-devices-docker-device.webp | Bin 31232 -> 0 bytes doc/qtcreator/src/docker/creator-docker.qdoc | 58 ++++++++++++------ .../creator-projects-targets.qdoc | 5 +- 5 files changed, 44 insertions(+), 20 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-preferences-devices-docker-device.png delete mode 100644 doc/qtcreator/images/qtcreator-preferences-devices-docker-device.webp diff --git a/dist/changelog/changes-10.0.0.md b/dist/changelog/changes-10.0.0.md index 1310d56b1c7..f3bb87301ec 100644 --- a/dist/changelog/changes-10.0.0.md +++ b/dist/changelog/changes-10.0.0.md @@ -209,6 +209,7 @@ Platforms * Added support for loading and attaching to core dumps from remote devices * Added support for using ClangFormat on remote files * Added an option to enable necessary capabilities for debugging with LLDB + to `Edit > Preferences > Devices` for a Docker device * Fixed an issue with space in file paths (QTCREATORBUG-28476) * Fixed that auto-detection controls were shown for devices registered by the installer diff --git a/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.png b/doc/qtcreator/images/qtcreator-preferences-devices-docker-device.png new file mode 100644 index 0000000000000000000000000000000000000000..6465c5ae5086033549b266d758635d14240c0d1a GIT binary patch literal 26560 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