From 8722836b4456443d3e6173e49df93da831c531ee Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Fri, 8 Nov 2019 15:05:36 +0200 Subject: [PATCH] Implement EditView3D's toolbar Move and scale shortcuts are temporarily set to (M) and (T) instead of (W) and (R) to avoid interference with the WASD RF controller Task-number: QDS-1201 Change-Id: Ia7ebb6c0d39880be6b87b12d0a4a1d16638fd141 Reviewed-by: Miikka Heikkinen Reviewed-by: Thomas Hartmann --- .../qml/qmlpuppet/mockfiles/EditView3D.qml | 87 +++++++++++++++--- .../qml/qmlpuppet/mockfiles/ToolBarButton.qml | 79 ++++++++++++++++ .../images/group_selection_active.png | Bin 0 -> 404 bytes .../images/group_selection_active@2x.png | Bin 0 -> 779 bytes .../images/group_selection_selected.png | Bin 0 -> 438 bytes .../images/group_selection_selected@2x.png | Bin 0 -> 904 bytes .../images/item_selection_active.png | Bin 0 -> 353 bytes .../images/item_selection_active@2x.png | Bin 0 -> 657 bytes .../images/item_selection_selected.png | Bin 0 -> 355 bytes .../images/item_selection_selected@2x.png | Bin 0 -> 661 bytes .../mockfiles/images/move_active.png | Bin 0 -> 294 bytes .../mockfiles/images/move_active@2x.png | Bin 0 -> 303 bytes .../mockfiles/images/move_selected.png | Bin 0 -> 191 bytes .../mockfiles/images/move_selected@2x.png | Bin 0 -> 272 bytes .../mockfiles/images/rotate_active.png | Bin 0 -> 451 bytes .../mockfiles/images/rotate_active@2x.png | Bin 0 -> 869 bytes .../mockfiles/images/rotate_selected.png | Bin 0 -> 478 bytes .../mockfiles/images/rotate_selected@2x.png | Bin 0 -> 906 bytes .../mockfiles/images/scale_active.png | Bin 0 -> 242 bytes .../mockfiles/images/scale_active@2x.png | Bin 0 -> 338 bytes .../mockfiles/images/scale_selected.png | Bin 0 -> 277 bytes .../mockfiles/images/scale_selected@2x.png | Bin 0 -> 364 bytes share/qtcreator/qml/qmlpuppet/qmlpuppet.qrc | 21 +++++ 23 files changed, 172 insertions(+), 15 deletions(-) create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/ToolBarButton.qml create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_active.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_active@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_selected.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_selected@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_active.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_active@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_selected.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_selected@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/move_active.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/move_active@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/move_selected.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/move_selected@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_active.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_active@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_selected.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_selected@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_active.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_active@2x.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_selected.png create mode 100644 share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_selected@2x.png diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/EditView3D.qml b/share/qtcreator/qml/qmlpuppet/mockfiles/EditView3D.qml index 024c8c5d1b8..bed8dd3f9a8 100644 --- a/share/qtcreator/qml/qmlpuppet/mockfiles/EditView3D.qml +++ b/share/qtcreator/qml/qmlpuppet/mockfiles/EditView3D.qml @@ -118,7 +118,7 @@ Window { position: viewWindow.selectedNode ? viewWindow.selectedNode.scenePosition : Qt.vector3d(0, 0, 0) globalOrientation: globalControl.checked - visible: selectedNode && moveToolControl.checked + visible: selectedNode && btnMove.selected view3D: overlayView onPositionCommit: viewWindow.commitObjectProperty(selectedNode, "position") @@ -133,7 +133,7 @@ Window { position: viewWindow.selectedNode ? viewWindow.selectedNode.scenePosition : Qt.vector3d(0, 0, 0) globalOrientation: globalControl.checked - visible: selectedNode && scaleToolControl.checked + visible: selectedNode && btnScale.selected view3D: overlayView onScaleCommit: viewWindow.commitObjectProperty(selectedNode, "scale") @@ -263,8 +263,78 @@ Window { } } + Rectangle { // toolbar + id: toolbar + color: "#9F000000" + width: 35 + height: col.height + + Column { + id: col + anchors.horizontalCenter: parent.horizontalCenter + spacing: 5 + padding: 5 + + property var group: [btnSelectItem, btnSelectGroup, btnMove, btnRotate, btnScale] + + ToolbarButton { + id: btnSelectItem + selected: true + tooltip: qsTr("Select Item") + shortcut: "Q" + currentShortcut: selected ? "" : shortcut + tool: "item_selection" + buttonsGroup: col.group + } + + ToolbarButton { + id: btnSelectGroup + tooltip: qsTr("Select Group") + shortcut: "Q" + currentShortcut: btnSelectItem.currentShortcut === shortcut ? "" : shortcut + tool: "group_selection" + buttonsGroup: col.group + } + + Rectangle { // separator + width: 25 + height: 1 + color: "#f1f1f1" + anchors.horizontalCenter: parent.horizontalCenter + } + + ToolbarButton { + id: btnMove + tooltip: qsTr("Move current selection") + shortcut: "M" + currentShortcut: shortcut + tool: "move" + buttonsGroup: col.group + } + + ToolbarButton { + id: btnRotate + tooltip: qsTr("Rotate current selection") + shortcut: "E" + currentShortcut: shortcut + tool: "rotate" + buttonsGroup: col.group + } + + ToolbarButton { + id: btnScale + tooltip: qsTr("Scale current selection") + shortcut: "T" + currentShortcut: shortcut + tool: "scale" + buttonsGroup: col.group + } + } + } + Column { y: 8 + anchors.right: parent.right CheckBox { id: editLightCheckbox checked: false @@ -285,19 +355,6 @@ Window { text: qsTr("Use Global Orientation") onCheckedChanged: cameraControl.forceActiveFocus() } - Column { - x: 8 - RadioButton { - id: moveToolControl - checked: true - text: qsTr("Move Tool") - } - RadioButton { - id: scaleToolControl - checked: false - text: qsTr("Scale Tool") - } - } } Text { diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/ToolBarButton.qml b/share/qtcreator/qml/qmlpuppet/mockfiles/ToolBarButton.qml new file mode 100644 index 00000000000..cbc450ed2bc --- /dev/null +++ b/share/qtcreator/qml/qmlpuppet/mockfiles/ToolBarButton.qml @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +import QtQuick 2.12 +import QtQuick 2.0 +import QtQuick.Controls 2.0 + +Rectangle { + property bool selected: false + property string tooltip + property string shortcut + property string currentShortcut + property string tool + property variant buttonsGroup: [] + + id: root + width: img.width + 5 + height: img.height + 5 + color: root.selected ? "#aa000000" : (mouseArea.containsMouse ? "#44000000" : "#00000000") + radius: 3 + + ToolTip { + text: root.tooltip + " (" + root.shortcut + ")" + visible: mouseArea.containsMouse + delay: 1000 + } + + Image { + id: img + anchors.centerIn: parent + source: root.selected ? "qrc:///qtquickplugin/mockfiles/images/" + root.tool + "_selected.png" + : "qrc:///qtquickplugin/mockfiles/images/" + root.tool + "_active.png" + } + + Shortcut { + sequence: root.currentShortcut + onActivated: mouseArea.onClicked(null) + } + + MouseArea { + id: mouseArea + cursorShape: "PointingHandCursor" + anchors.fill: parent + hoverEnabled: true + + onClicked: { + if (!root.selected) { + for (var i = 0; i < root.buttonsGroup.length; ++i) + root.buttonsGroup[i].selected = false; + + root.selected = true; + } + } + } +} + + diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_active.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_active.png new file mode 100644 index 0000000000000000000000000000000000000000..c5801b346542bd419d93f63d9dca1ab30f140a55 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoqdi?5Lp(a)PS*8K4HRjc z|CGI>DQfu%SAoFU5zz2orRIR)$0e;r6HzP9^X)y?j$KbNUqsolD|=jB$_iB^vfO#G!B=w-BmN%Vn> ztp63Y7aAUGpFPj4o7~#*V{*#YE~~ZkQl7rj|LPYTyjZ8X>(_^i0kUEGSNCU?2VH1# ze8M*Mf70Jq_FsKuJ-VU{EYG@K703?XepR~ENHgowgYCQKaFpf-?hSt~ypgk6^s9oP z-PifA*6x~kSI6^&X4K^#?u2CvUvgYvPg%c*J%Zh=(XdocDXZ6)>$;yT%Q@vm=Ktq2 z@il5c(EK0Q!2UqgqOW7^l0d<%*}rDw_S{+-c6Djf7bh-v5yAYM@0b@Kkomy#Mzu3u z@%|Fot;_tT+?uoN;HuIx;f*TIl3%0V`W~6Y({|;i%a3Iy4duG0KTlBX^!~uWz`)?? L>gTe~DWM4fDxI~r literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_active@2x.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_active@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..85851c7c130ab8c8312494a4c552aaad9c369922 GIT binary patch literal 779 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F}763vT7)TC!rnBG+!SKt~ZrMVAL!x1KIqP^RSJsM}PwHY$W; zT1ukp+DR{%n@(LhGyTt_Pv;I?eY|4*^Wt}le;!PpQT@OC-v2u@tDnuA*wfR~^NC>x z=Nay^IjxzV%N$+gn7oBV6`8k8dd_@7pzEsBJBNO`>76H(A8ZJ0;knSURI=lgYJ=3) z|I#~NwHAr5Fk*H(eAeW``eoUT$p<#fD`z}?TCpQNt784UeCB-_x6>0=ONt0N%$}9| zsVR!FB>T5OfyonwSywV{&-nK9fNg$k3}f0%?j^m|C6ChU<~+C~wet;Yp?riu6vNi6 zJOj;ICijN;Rn?qpOcrfn(7Li`vD!(t4U#`r>{@@IOxeq@L(lYDhL!v4X-xj1uP?nV zRQ6)l7oI!cX+!7%-Tc@sOZM$(?9N(twWP0E@11v?0DpsPn58qr?<*eZjg9Zw*-G9> zFVI`d5VpGW-x8lGEE@zX)<53QXf3>C>0#T$zmCl{5LRUjVfHWi!%<-67rQm;SWtfO;i;=f-Ap*A3YV*Y^0L0B&e@==6tp~a z{%I?{+Fff~XJ>}n@8D;7cU@cQUEm!>rMU;@X>?VcVO=hKR->=)qaOE~PuqlBFPY!; zzVtl){ef)Tb;h=p>t6Hhzr6dZx{|WeC+B{9*OUksHrEu7dS<0b!MW#R3auEm_GaaT zsItjiDhsb#r@3-s5<}dIi?Q>5wjNN=&F8ze=gHZ7VT;rEZp*&)t!&x8N1~r%Gjs~o zR!!gY(^sh|=(eA0ph=2b3rm4R`tObV=00xPZ=3Ph@IaL5A6bjXZ}V66TDUaabnxpv zZu#FOaz;O6)t>1g?b?>T8YvCdS^xMqDDtj8dM;v5dS>UM6}P{%@f8TXD3#xK>fD|u p%qz-Om%Ti3;>3v`_5u_4KPX9+ZQm5_&%nUI;OXk;vd$@?2>_mlW&QvF literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_selected.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb848aa384d7aa0694c22c281eff34094c0aaaa GIT binary patch literal 438 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoYdu{YLp(a)UfJKz8z^z? zBY#+v%i_xxy&Pd%d9_-dRtip<8al^q(WNdo5seN3m06$pUvze~xG26TyWZcm{gUQ{ zjtwW??B%RJe`fE&DZhP}&G=q>uJY5r85>XS4}7#uNcz`{d$+WV64?5u+=xo8GKx6D zXA_>Z?9{iE4+7yIBRZ3(KC+`7WK~F#X^HSJi8$U&?)ZZ1GNG zB^UB0T=w5{aGiaUd;y35N1x8xt2@PR@z!n6 zJm2xr+;Z-rN}GVBbylW_ESe84xP9WK7~kVrLer;2TwfHGwyJB5$&6S*O~c-^8T&r< z?r7+q5tbC@H~-(U1V-zrGbUXwSLJ)8ckkip51C>Q?WPq7O?TISdGEE5?{7Q)dg*+_ ze(9oJahb<2*f!6pd+@b@Fa5%l`puVo6Jok~%vVZ26O@^7IcVt&hjLctSzLZ5ypu0? wYu#>k3_e&rXRVQ~)SPLTk85rA(tjY{cr!s&i*3U*1_lNOPgg&ebxsLQ0A8ERr~m)} literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_selected@2x.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/group_selection_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f18895dc4400ab6fd4265573925cece156414df2 GIT binary patch literal 904 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?FS zPc~Sg8Kkml#*vg`&6?L;IzKf`Vi(c()|fd(T;*e$&5DIjg03|yeN(8bk6-0+ zUGzr>xjXBP_0|^ed;BKzY}z-w-*b!?|6P6gUiI4ixqJV;{=KjC=8`2#mV6QDv2ED+ zcUN?Jb*1V<69#dEvWOL~k{wD5L}xI?9KXS~ep@?70S~)g;v1p!i+EfF3)Bnl%UiT< zyluGc&}JRQLYoH`O4oA_aQ4VPh@9S`!KCxS^IbXf>jwD)Nt`Pu#&ru_C}oWL%k=Ja zux!*@)@O|Q4V?!}d*;5{s%;c#GaZLKt_t$o*gLvbw!N z`sZc`(E^F&*#_G#Wyi8S;#%=KVAa*=gnduil9daDl2`Ao_n46pykMj0f#k|nZmav} z-dMx(jj^`j_5r6YRj+QUx`goCFz-82yEfeWm~?xC<$>%4abfRf&Wnv?$@nU~L*4)J z-d}s}x+ZL@NHDn2v~jiVZkCQ$j7-LXI~vw-JYW0rfF`H<_Sw09Ry!Ya{MgQ3l<}1@ zg5}MWNna00_Q<}td2ERQ|CMUfxepKdt@b@o^g!A`d`Hv9$ES1?LYCN02+R9#!d=1H zBP>{Kv%BMn;0G7CO-dzdT+XXkA5eL~_TbP9nPX;c5#^mPn6~^9Jkh+aHSqX1{RYVc zg_Zy1dhYgbthK$ZCvcpZ<&efK_D@Q7%-)S}gEp~Q^lxmoyFdMg2U;(M|J->vX!eb5 zmH9l1>l)lYO|qNBZq8h~x*_w@!Jipl4`k0(_&6zI^|u2)Q}~sW+ZlX6ZCQL{?(&An z4nKbL4crnc3ok#}s=?&RaiZ$LjhmZd3)Z}yAbvOGK<>_KNjXzxl4RVUu89%i5}fec z$&l>^R}br*i$%@pkuF?<4}`YFE<3Fov`untT;;U8K@DNKN=ogwSIB;O)8(Tmr!e6} zUSX83`#CvPh3)B?ZmXl?aydPm4ix`95iK@}W1-uYUr(-r()XYL4Eq^F-(S-xlw^I+ Qz`(%Z>FVdQ&MBb@0IqweK>z>% literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_active.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_active.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa81302cde8c2b80208ec82955825787231cbc8 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoH9TD$Lp(a)PTK9o94O*C zo&N$yk(c1XbNmLq|JoN!-TJQ~A|gX_gRn@>S{7;hgNMA1o?`J{yT)8&k-$_#W0jP2 zqZvK1Vmv(6^6wtW=_#{0U0S*1rO`I?JkM^e0@ciWvnH{WCa~_98nShpisK=s0^Q8R zYHcDWR{yjQ>|Da^nQRv6FmFK~=No46Noi|dI?sC`S+QB<+NG(wQInnh9bIae`@^3cGL#hbZ=mNgiAntBRfTgIb&;s&dp>e(n}pQuaE4hsEX znb+|B%WsCbMzsyRGXGpB$cDT;QKt0hgxc>3yBBr*cva>3{lG?Eu?gB9C$CL8u}x`F zrZB4r=O*bnE=T5WRppp8{R`8Z$Y8cf(^S^}KmAa-j zx_j_ipaonQuornljOJlelNpqx{9R1=JyAL)wiTc%$QoTBsI)0NZTPv+Eju?&%-ME%ae1-3$6y; z>eGC%YsuN%Pgcvam?ha8c27FCOXj(FCC{1?HLp~i88_~~b*SXo!?15hhE=5W-3cXY zf|%33=^pnIQLg^KvmjQs>&X@se^!kZy|ZSrWYa)5)t&Y1{4`^eWl)rhj?2rNivbIa|;5bWd}LWb2!Cb5ZxV8I3nq ze%Unh?5+$?k=VxV2MWdC1~Q*-d|IERe)di8X`P98*baGJ*>ma)vv_RMdMOT*TN=0L zs2!fVIcS&Z1&g3LhMU>_);1{d>|t9r_mVo>Cb3yYoB91#u3WkD=YPgJCgb3(S!zKE SPZ<~(7(8A5T-G@yGywqE#v}#+ literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_selected.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/item_selection_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..2b685d3d00a8d06631fbe3678b9997f258c77d1a GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJowLD!MLp(a)PO@}b#-f0!6I!P2 z^K8yNW+%Y$zWT&r+n7T$9vavmui4i3*4Jy&C6+vc_$kZO9JwP{-x=n6MNd{pw|I+GqHmNMTKFnx;~~5R+)9ewN`B3tx=~*Xx_7rY+T67$I<2|AS8D zDXxO{pR-I@MYw}*O)7~zvF_tClUg2aj~R@52KI+)yl(XbvRGChFn#v<62s+5C6$v{ z_BDz>Fs|O$P`-dUhxzz_!6))rUs84-DNvfstPvl`V_$3jQqW@RPOej|nm=a=-4rt{ zNmeAmF@af9)W^OqGXBUo#gOswkinbs*=HNKDvj#N~% zzHqYg0o$V4y}^QZj3P6PwPXr)w_dgoy-?j?@r!kjK~?wN1IjMnrI)AFlr`uv3TVLxT?t7cb6vZNka9;gZjj(<`_OHQqZZGTvjf?|J2a$!)u! z?bP&%8v-M~aBevL;-Qb}d3PDzAL|4*F^gPrn>&Z$oq|=)93Cg;FIGW63NF}wIkt); z;0xat$->9ScN7Li?B6uUbN%*9*YmdTV>o>v{rg{0k6(YK4c^R1!)r2!U%EjLz z8@8|Bmd|WIAR2sqJ7d(A z+Zj78&u@vd)K<-J_~ubK(V{Br4wr_~0rrGL7R*8m9zOdK`S{9}D_8#fXV}lEFlVAl U^4&;v1_lNOPgg&ebxsLQ07c>=(f|Me literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/move_active.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/move_active.png new file mode 100644 index 0000000000000000000000000000000000000000..d21d290349ce216e263c91151198bb31c15e4e57 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJo-g>$?hIn+oonp(^fSUemd)ob!$x;$9)X;e$#QQ-d8`IXSZFLTXW30NK0vX!xpDA y;x<>hR@!~%Ke@Vd#v#M{;KTP$@{}+gked?W%m?%TPH zfq{XiB*-tAfl*D}!6RV7juYqa*d!kO#lXO@+SA1`#Nu>vg2bB!UB>p7D^4;(md7`A z8?UoeZMfTIoW3Disq`67nRn5-IS2DPJKejD%WmJ~mSCI8l5FI3h(|Ltwab~A#_k)v3g%fFGp=TNJ=2)+hVIN_q4w2DeUBzQnA70gWSVecIvc~+ YM~-u+nVXa`FfcH9y85}Sb4q9e02|zdS^xk5 literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/move_selected.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/move_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8ce42a7588ce13303070ea892765582c05b951 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|7G?$p2BAoW(+ms@iUB?$t_%ze4D%l1LGKf8 zyk}rw;4TUB3ua*S2*@jH-*@8tAFu4k{0s~XPM$7~Are!Q6BHN?G!+Uhq$XHIbx*K( zr|Kb-#(YTTA%j5sRRJBV)i-YF+`LhmdKI;Vst07ij69smFU literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/move_selected@2x.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/move_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fad362a3e6a5b51b12c94e97374f7e4bb1e1be2c GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-7G?$phNU`BwlFX-=mz+NxH2#>FwA>MBr<7B z$z)();42C83ua(cQ+MzPSg_;7`8%J#99t3ig@J*g#nZ(x#Nu>vg2bB!Q-*ey=PWWp zh5m&eXR137cWwW^A^OnIXEJ5pkM8X~oY&dq-Ys0_eS=$qZ7NH$k<%d`22Y#UoKA=G zXEHebk==B}dWX-o-PZc28W&Vqcf7IwohPZtImhkc7MbnE?3phf`SVyz=0C^MZru6E l=gN-FjOTiqjaT!^F)*m@b)6~t`d}8wYo4xtF6*2UngCeBY6AcO literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_active.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_active.png new file mode 100644 index 0000000000000000000000000000000000000000..bdabaf30285f9a7468f9fb7f6c14e78359a42f1a GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoyF6VSLp(a)PBruhOB89F z@1x>kgPw#zRbN{JCuEoV8t0y1GeZXeG&BJ`Zar=Sd2dOT9 zypGB7EcM#{Q#V0)2bT@YvxdwB!5=&}OxLb%K6!_&)b(zlxOY%#OzoPy)yAFyO}iHS z3pp>Y^4D?ot7TTxPDp+1*tJwobrZwaCBOXk2Cx5N|6tj!g=T#FkC`w37vTT3_^)#u z!#uYm@2@On6x_&H!}{zt(<1d*y%NwTKlL6x2T8;!@+IvPNuPu!HHE(jIZYa57`u2fbfxXf<;m_jDGF#-{2b`YvS6J@VDhUqT>36>_{-#y;`dsN> zh93+z%w`S#f*WTa;nn!Zuk?u1fOQYsG;8THRnGoG6^43-t*7>wJZ(E9#K6G7;OXk; Jvd$@?2>{-k$P)kn literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_active@2x.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_active@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8c81f409d326592bf944d13e7fea01ca58ef479a GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_-2;3=Tp1V`K8^y4L*USc zGFt`)hMbZhzhDMNCT12^Hg+CfegP3taS0hYMI~hwH4QBTV>3%DYa2&r?|{&-@TmBN zl+?7$yn@1_vdY@J=9bpBt_c&TO`p49$eDv6flNYYvxOwZ& z-TM!oK6~-(AeR>f-00GcYhFdb&77p=^J^c-w5XV?{5rMgZHoHywDNZ@lUDuU-u0Y6c>a@18$TrU zwwBd5#ouY0BYNw0l7o@ayVrru54|6_nZD)Ub2u-4852_D7i3y(YMnC!1`GnvV z63w>L+a`xAD7}#Xk#v0F^5+ScHr)SuVCCT#2c>4}Dc4PXu6EemQfQ9Eg?BoK7x_Mu zxU@NOUCZSgPa=+=%xpSTSpMwu+9=0j_G$M|Vl0cF z$?HxRVQ0`>{&nLjhRbDQ<&5j~tgmq#*d+Vev&iUn&hdMbOg1K#G`byWvg+^E)@m|f zX%RTm!`ahxM&{RwH7vdo(GG_1Y^SOIvtS6^y?@P$kfZetkKBWFnfLtX+?k)x$Z+!{Uv#j2I@O}7`9?!v&B5e5hiVP~ ztb0`@u~NzStojG8-G!2mBijE~bZXC-^l8?rZSCJgm(*}QwbW{>o_gv9$;fYvI+eWlQpQvp^SosL?M2*XU!xDQugTilv2aeep`p!slT$199p|3& zRy0j|O8?f)TJsHm1|FUDLwS$ePq%V5Nt**LQ(iM$%=z?8{K$vm363{Ui(1&QH}BpN z<*I!ubmFIQ&HOc6{=4mb6ZB8#Df8#toAv8wzy75(?*ZGqq$r;ItM4#=`7eK@fH(W& mhT@;5!rNA#icW}opdVk9erb(qzY_xk1B0ilpUXO@geCy0@8To? literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_selected@2x.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/rotate_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6cc48c053351c5ec94b98bcfd108b13af604cff GIT binary patch literal 906 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_V*-3aTp1V`80I}3MYITk z#zZ3y+qx!9oHl*t+y#r5u3EQo^VV(KckbG|Z~x&VM~|I2 zdExqvo40P?xqJV?!>7+)ynOra^SAFme*XIN_uuq{R5=C)#w<@4#}JR>Z>NR_A94_B z4L=}sv}>=nR>FH$?r--tCcAD-di?vpv7JG4;>lw!@wWNj-`LK)TkPHP<9L36@g~9A z$I9EpbIxv>@Xq>y^z*;#WdN)k}qegQXS2;`nthv`d9B!HWOt{Zu&k4V3?u*vh z=?yIcmU7a{tD4G|MlgAqNUxU^E;+m^&3ocbt@@@dJ-P~8-`P%6-DkkiT~;62{Ybw4 Zpm^W9xOb+qd4ix!<>~6@vd$@?2>|Cjq#*zR literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_active.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_active.png new file mode 100644 index 0000000000000000000000000000000000000000..cd63c1d03bca5b4993cf2c2e3e18a233c3b6aa4b GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoc6z!vhIn+ooxGR#kb!{P zc|lbJ*3=al677>%Z#1%LGN*`3G&FG?t31)geOp|{S&3y*eDeMNzjN(XgDSWmu)TS! z75nGoKJf<^rvKM$I5vOzr{*W0l^B?F8ifnCZG1grb(+7zZKVXxn3oo-+BPy|KX~Y3 zHm~6Gr&lrE4N^O-C%T4YUu9fBBUNz2rs=B>nRn>Ua-D2w(rkEaMT*ArB5tHl6!>JezSriPWON%h z9%M^Cz=G_v_RC?NAN%-K6j&((n_TSGN{> UfY6dV3=9kmp00i_>zopr0EsrR`Tzg` literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_selected.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..4cca7726170335abb9f8e413eb4b6245e2da8c10 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4rT@hhU+WOo?>8N@DA_^ab;j&V3_xiD(H%I z_cM?kB|(0{42-;d0`e+4y2cg>8KoV)6XxtcaOT3b>r)puvNA9*Bzn3yhG!CByd_ZC4WgT(?)Ju!crdU%>#~L!-=i2+ zMrH%f8G%A;bP^OA*9AARdL>J=>M3@3H;K6&{CiNB$2EkN;mQp*8-XAjeUSe=UHx3v IIVCg!0QH4pLI3~& literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_selected@2x.png b/share/qtcreator/qml/qmlpuppet/mockfiles/images/scale_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..690cf5f924fc3dbb2146954f62f93b43fdc1bb67 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_LIQk3Tp1V`80I~sE_(G; zse*xlLAoT!FPMRmSwLP#-`K*^!K0#~qj$pec}ox6ef073mmiiHIujTe7}j{YIEHu} ze>?Rw*C7J|*Y{hp9xIy}W?lXL|Nl#;31$=1lDO}F(PLvPN_Zw9l+bHcqQIH*ilN{f z<4h|CvGWJTn5LbQJ+dV{kU8m=btPNF;!~H_DW6=HQ1n?LpY{3C{qyE`mP|Wh{ARaX zuBVN2>)N>2tqXsdNqH~7SNZf@_r0YmlN)acnU~sY3fMEPSzKo%5P6FE{ rkJJ6j`e(bP0l+XkKa`l^( literal 0 HcmV?d00001 diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet.qrc b/share/qtcreator/qml/qmlpuppet/qmlpuppet.qrc index fd17d551d8a..1a1c4b2cd26 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet.qrc +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet.qrc @@ -21,11 +21,32 @@ mockfiles/PlanarScaleHandle.qml mockfiles/ScaleRod.qml mockfiles/ScaleGizmo.qml + mockfiles/ToolbarButton.qml mockfiles/meshes/arrow.mesh mockfiles/meshes/scalerod.mesh mockfiles/images/camera-pick-icon.png mockfiles/images/camera-pick-icon@2x.png mockfiles/images/light-pick-icon.png mockfiles/images/light-pick-icon@2x.png + mockfiles/images/item_selection_active.png + mockfiles/images/item_selection_active@2x.png + mockfiles/images/item_selection_selected.png + mockfiles/images/item_selection_selected@2x.png + mockfiles/images/group_selection_selected.png + mockfiles/images/group_selection_selected@2x.png + mockfiles/images/group_selection_active.png + mockfiles/images/group_selection_active@2x.png + mockfiles/images/move_active.png + mockfiles/images/move_active@2x.png + mockfiles/images/move_selected.png + mockfiles/images/move_selected@2x.png + mockfiles/images/rotate_active.png + mockfiles/images/rotate_active@2x.png + mockfiles/images/rotate_selected.png + mockfiles/images/rotate_selected@2x.png + mockfiles/images/scale_active.png + mockfiles/images/scale_active@2x.png + mockfiles/images/scale_selected.png + mockfiles/images/scale_selected@2x.png