From 57a3c48f2f1de8a426faedd2f42d1aa5b43b2b62 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Fri, 29 May 2020 05:34:53 +0300 Subject: [PATCH] - some changes in the UI; added in the status bar an icon to control the Shell Dock --- AppGUI/MainGUI.py | 30 ++++++++++++++++++++++-------- AppTools/ToolIsolation.py | 2 ++ CHANGELOG.md | 1 + assets/resources/grid32.png | Bin 904 -> 898 bytes assets/resources/grid_lines32.png | Bin 0 -> 901 bytes assets/resources/shell20.png | Bin 0 -> 492 bytes 6 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 assets/resources/grid_lines32.png create mode 100644 assets/resources/shell20.png diff --git a/AppGUI/MainGUI.py b/AppGUI/MainGUI.py index 97ae3067..574eb836 100644 --- a/AppGUI/MainGUI.py +++ b/AppGUI/MainGUI.py @@ -488,7 +488,7 @@ class MainGUI(QtWidgets.QMainWindow): self.menuview_toggle_grid = self.menuview.addAction( QtGui.QIcon(self.app.resource_location + '/grid32.png'), _("&Toggle Grid Snap\tG")) self.menuview_toggle_grid_lines = self.menuview.addAction( - QtGui.QIcon(self.app.resource_location + '/grid32.png'), _("&Toggle Grid Lines\tAlt+G")) + QtGui.QIcon(self.app.resource_location + '/grid_lines32.png'), _("&Toggle Grid Lines\tAlt+G")) self.menuview_toggle_axis = self.menuview.addAction( QtGui.QIcon(self.app.resource_location + '/axis32.png'), _("&Toggle Axis\tShift+G")) self.menuview_toggle_workspace = self.menuview.addAction( @@ -1095,17 +1095,21 @@ class MainGUI(QtWidgets.QMainWindow): self.grid_gap_x_entry.setToolTip(_("Grid X snapping distance")) self.snap_toolbar.addWidget(self.grid_gap_x_entry) + self.snap_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.grid_gap_link_cb = FCCheckBox() + self.grid_gap_link_cb.setToolTip(_("When active, value on Grid_X\n" + "is copied to the Grid_Y value.")) + self.snap_toolbar.addWidget(self.grid_gap_link_cb) + self.snap_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.grid_gap_y_entry = FCEntry2() self.grid_gap_y_entry.setMaximumWidth(70) self.grid_gap_y_entry.setToolTip(_("Grid Y snapping distance")) self.snap_toolbar.addWidget(self.grid_gap_y_entry) - self.grid_space_label = QtWidgets.QLabel(" ") - self.snap_toolbar.addWidget(self.grid_space_label) - self.grid_gap_link_cb = FCCheckBox() - self.grid_gap_link_cb.setToolTip(_("When active, value on Grid_X\n" - "is copied to the Grid_Y value.")) - self.snap_toolbar.addWidget(self.grid_gap_link_cb) + self.shell_status_label = FCLabel() + self.shell_status_label.setPixmap(QtGui.QPixmap(self.app.resource_location + '/shell20.png')) + self.snap_toolbar.addWidget(self.shell_status_label) self.ois_grid = OptionalInputSection(self.grid_gap_link_cb, [self.grid_gap_y_entry], logic=False) @@ -1656,7 +1660,7 @@ class MainGUI(QtWidgets.QMainWindow): self.wplace_label.clicked.connect(self.app.on_workspace_toggle) self.hud_label.clicked.connect(self.app.on_toggle_hud) - + self.shell_status_label.clicked.connect(self.toggle_shell_ui) # to be used in the future # self.plot_tab_area.tab_attached.connect(lambda x: print(x)) # self.plot_tab_area.tab_detached.connect(lambda x: print(x)) @@ -3639,8 +3643,18 @@ class MainGUI(QtWidgets.QMainWindow): if self.shell_dock.isVisible(): self.shell_dock.hide() self.app.plotcanvas.native.setFocus() + self.shell_status_label.setStyleSheet("") + self.app.inform.emit(_("Shell disabled.")) else: self.shell_dock.show() + self.shell_status_label.setStyleSheet(""" + QLabel + { + color: black; + background-color: lightcoral; + } + """) + self.app.inform.emit(_("Shell enabled.")) # I want to take the focus and give it to the Tcl Shell when the Tcl Shell is run # self.shell._edit.setFocus() diff --git a/AppTools/ToolIsolation.py b/AppTools/ToolIsolation.py index 2582da79..cc045665 100644 --- a/AppTools/ToolIsolation.py +++ b/AppTools/ToolIsolation.py @@ -2052,6 +2052,8 @@ class ToolIsolation(AppTool, Gerber): to_follow = tool_data['tools_iso_follow'] + # TODO what to do when the iso2geo param is not None but the Follow cb is checked + # for the case when limited area is used .... the follow geo should be clipped too work_geo = geometry if work_geo is None: work_geo = iso_obj.follow_geometry if to_follow else iso_obj.solid_geometry diff --git a/CHANGELOG.md b/CHANGELOG.md index 8329b435..84351064 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ CHANGELOG for FlatCAM beta - fixed the Tool Isolation when using the 'follow' parameter - in Isolation Tool when the Rest machining is checked the combine parameter is set True automatically because the rest machining concept make sense only when all tools are used together +- some changes in the UI; added in the status bar an icon to control the Shell Dock 28.05.2020 diff --git a/assets/resources/grid32.png b/assets/resources/grid32.png index 9cb197bf23644ea29bc7babff76d9a53c301f5d2..b2d7ca1b18ccb0946f98044becb89dc6244bf59a 100644 GIT binary patch literal 898 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jPK-BC>eK@{oCO|{#S9E= zejv>?pn~!MpAc7|Bm^)rGIDTmFf%i=u&}VQvcd(~+1X)A7&tjOB_t%o#l`vg z`T6+xgoK2EvOvMg%1T>X+lYvWpr9ZxFR%Rkd>|XBOjuZW{`~n%mo8nlY}pbpSiXGu z;>C-#w6s)IR6IO97A{-}6b6a_)j$*g89;7ybhMI^(t-sGjE#+f?(y;QS+r;o#1Obq z5Jr4_yt1;gjg1Y&B8VZrzP@T|YCyd}$3Qd!jRk_ZxHx%vd7#UICPPHfNNa0rU?5mp zTEcY!ZGotPFoJ`Ffgvz$+O(-tr_Pu$W6G2%K=$0ZbAeoSb#~Aq3kwTwFaUZ49+KxKo7Dn2wIxA*!3=RPUjBIZ;nSO!Z+B+=uV^{+^5?`&zkZ7T zFWdK6H|gycf&T$BPAE7$e4S!x;ZnB#N?=yli~s-sdTDByX0N#D9B2PbO+I?wY56D2 zje+euZt}hU`|`!h_uqcKe)sM7j;e}=MJFD0&RYCI@PFvMGfFOx-w5dT-TvfM|Lx~P zg#gR5DT&>{v>@&2;uumf=jw%2e`iAp)&~!7bszq)?!7^jUmr_4J#+8|kPF9c9|PQalrFHmsf!6)eXmzMY3L}*qVB1O3!vM-s*AlR+?CZ^}JFcIGFcSp_GA>zIFURZL2p@mcUw;W_u?49Pv8KXw)<-z-;acJuS) zmOsm(nD(4uUF(eaANMB;?yo958MjRI_O|fr2dr{$e0w%6^2WW3ySFUgde5Gry=2MP zk0@fCe}w=5 literal 904 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKptm- zM`SSr16wo*Gj6g|ZU+jomw5WRvOnhJ7gAPyBD$~(s42|T#WBR=_}$6A9wC7eZS#xM zpJ|;lxo0H1c7>+XslX1ghf0o39cvu!JjvlY)!MCbOF}4dM@PoPMXgs?HKuKH-6FZc z)xNu+jUD4xXw7p!4F+lFKXV!HY<}Qv4d;u?J+eF^`zEOO^lZsQn z%GeIX8`hP$)_h@XxS4t7dC8>MElRU)dB0w=)3^BY-L~>seOIq|epWo&xL#Gb@0{)b zu&Fb%t~5Mb#@JGah(1?SuF99kmKmH%2iq{V-X{wLoiH)9mbE zR^z?lenO$z;tEaA`)l7n+9@j|t8+H^;62-8(yHH#t}gE@U_W4YHZ9qnVfE8(GA6$k zSWS2_(=vUU;~sH^q?sS=?(hqE8?1a89DKyexnSL=59tdej!180 zuu)s5^HcOucSOPBAMLNr*}lhbx0v2NYv=xFGo07$;Qn!7f~?Hh>nj$9)S}MdSF9~&JzM@O&67`?(rYuhtv+paJ8J;hm7vdRn(?Z2ZdAD-rlA^DE(%Vi&Gm42_yC#)VJ^h()^Xp@# zZ|^i-Da-h#wl~=Fu1@p*xOa){>B|ICPTTvupKLS7_}G83C8`M@gjKp#j_GM~OaUf3 z)e_f;l9a@fRIB8oR3OD*WMF8iYhbBsXc}T@VP$M;Wo)c%U}9xpP@mKM0YyV@eoAIq zC2kFThSokn4U!-mg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kpe1W@O1TaS?83{ F1OSt5cANkJ diff --git a/assets/resources/grid_lines32.png b/assets/resources/grid_lines32.png new file mode 100644 index 0000000000000000000000000000000000000000..d2be39cdd6047ccf23259c4514ddc59cc901d70d GIT binary patch literal 901 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jPK-BC>eK@{oCO|{#S9E= zejv>?pn`?~pAc7|Bm^)rGIDTmFf%i=u&}VQvcd(~+1X)A7&tjOB_t%o#l`vg z`T6+xgoK2EvOvMg%1T>X+lYvWpr9ZxFR%Rkd>|XBOjuZW{`~n%mo8nlY}pbpSiXGu z;>C-#w6s)IR6IO97A{-}6b6a_)j$*g89;7ybhMI^(t-sGjE#+f?(y;QS+r;o#1Obq z5Jr4_yt1;gjg1Y&B8VYC5~$wS*H=wV4d@<-UZBZ90MrE}i5109pYSMklPT zt%0FoX=w@93(*KSAvib~7!=c{O`AG(>WmpPrc9XvWY3*D7syptR|h&C7-&XDMnH#Y zXlMZKa&>jJu(03;1E7!KLFzwe#T_80p(MyJm?7@P%OCGPe0uZp?aqw<6)lHe{+zh! z*H6*^W&0lMCcXV4@IPS22?d9TuTv~7T*}s83Cs$6@&Er{FHH^8>=hTC+{Eq%p94$IY~wqSt?4zIgfm+ppK}zWv@&Rnf5M#G}qxi$4hd51n^L$>s4I0o}ga zpPcHy{d}kpVA(UvkRO;XggjjwLn`K6z2NHa>?qOtu={n4OxJnyh{OWLLR z#INr^mw1_HiRa}O-}8@7>fAdzed8LB$Pg1TVQKcq!gcpLJryif1(q1y-gY^{>dXn2 zNFC{CPox-6e13Ac$tmE8W}E8L{mgz$)223at!fF4Q(m!d;?@xLrEBsTdatOY7I#Z- z2>Z2rTbc2T7a_4%)=qi#lC}2A`YQ((n9q@RVsoCuKe@ly&WP(+#+=WcCpYxXnI&d7 zOVH`exyH&UfuzEh_5D1OI_oV~Z+T{M?ibsQCA!CN-ZN~zYrEH!t5+GS}2Foqxl+Z{JLN$(;9%4;~x8*tf>xruob$|KKfs Rw>E*I&C}J-Wt~$(69A*$eC7ZE literal 0 HcmV?d00001 diff --git a/assets/resources/shell20.png b/assets/resources/shell20.png new file mode 100644 index 0000000000000000000000000000000000000000..299cabf4c79befdff6314965a1942476ce5dc3a2 GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQajKx9jPK-BC>eK@{oCO|{#S9E= zejv>?py2iZpAc6dJrqII)A`OociWZ(`2{nuD(I+&{`>vszhQ!_O~yA50Y5!v zt1qGpFXT(`sBe2aef|5%Ti#`LPHX35l-Yk|m%ox6hq!adUrVvDaPCPv88mFXYqs^Rn>TMC4r{2)3mTV8V7E*wJ03pVwm-f-`M8RLQuRic)I$ztaD0e F0sup$aufgn literal 0 HcmV?d00001