From 313acd0a25d18aba3c5d348318d872e4bea45cd0 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Wed, 16 Oct 2019 04:13:12 +0300 Subject: [PATCH] - replaced some of the icons that did not looked Ok on the dark theme - added a new toolbar button for the Copy object functionality --- FlatCAMApp.py | 1 + FlatCAMObj.py | 6 +++--- README.md | 3 +++ flatcamGUI/FlatCAMGUI.py | 30 ++++++++++++++++------------- flatcamTools/ToolNonCopperClear.py | 6 +++--- flatcamTools/ToolPaint.py | 2 +- flatcamTools/ToolSolderPaste.py | 2 +- share/close_edit_file16.png | Bin 0 -> 485 bytes share/close_edit_file32.png | Bin 0 -> 648 bytes share/copy_file16.png | Bin 0 -> 432 bytes share/copy_file32.png | Bin 0 -> 527 bytes share/delete_file16.png | Bin 0 -> 533 bytes share/delete_file32.png | Bin 0 -> 785 bytes share/edit_file16.png | Bin 0 -> 504 bytes share/edit_file32.png | Bin 0 -> 700 bytes share/new_file16.png | Bin 0 -> 393 bytes share/new_file32.png | Bin 0 -> 481 bytes share/new_file_exc16.png | Bin 0 -> 342 bytes share/new_file_exc32.png | Bin 0 -> 430 bytes share/new_file_geo16.png | Bin 0 -> 361 bytes share/new_file_geo32.png | Bin 0 -> 451 bytes share/new_file_grb16.png | Bin 0 -> 332 bytes share/new_file_grb32.png | Bin 0 -> 442 bytes share/project_save16.png | Bin 0 -> 496 bytes share/project_save32.png | Bin 0 -> 605 bytes 25 files changed, 29 insertions(+), 21 deletions(-) create mode 100644 share/close_edit_file16.png create mode 100644 share/close_edit_file32.png create mode 100644 share/copy_file16.png create mode 100644 share/copy_file32.png create mode 100644 share/delete_file16.png create mode 100644 share/delete_file32.png create mode 100644 share/edit_file16.png create mode 100644 share/edit_file32.png create mode 100644 share/new_file16.png create mode 100644 share/new_file32.png create mode 100644 share/new_file_exc16.png create mode 100644 share/new_file_exc32.png create mode 100644 share/new_file_geo16.png create mode 100644 share/new_file_geo32.png create mode 100644 share/new_file_grb16.png create mode 100644 share/new_file_grb32.png create mode 100644 share/project_save16.png create mode 100644 share/project_save32.png diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 2b2f0b61..1025f6f1 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -3196,6 +3196,7 @@ class App(QtCore.QObject): self.ui.newexc_btn.triggered.connect(self.new_excellon_object) self.ui.editgeo_btn.triggered.connect(self.object2editor) self.ui.update_obj_btn.triggered.connect(lambda: self.editor2object()) + self.ui.copy_btn.triggered.connect(self.on_copy_object) self.ui.delete_btn.triggered.connect(self.on_delete) self.ui.distance_btn.triggered.connect(lambda: self.distance_tool.run(toggle=True)) diff --git a/FlatCAMObj.py b/FlatCAMObj.py index d1c6005e..000e500b 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -3519,21 +3519,21 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): offset_item = QtWidgets.QComboBox() for item in self.offset_item_options: offset_item.addItem(item) - offset_item.setStyleSheet('background-color: rgb(255,255,255)') + # offset_item.setStyleSheet('background-color: rgb(255,255,255)') idx = offset_item.findText(tooluid_value['offset']) offset_item.setCurrentIndex(idx) type_item = QtWidgets.QComboBox() for item in self.type_item_options: type_item.addItem(item) - type_item.setStyleSheet('background-color: rgb(255,255,255)') + # type_item.setStyleSheet('background-color: rgb(255,255,255)') idx = type_item.findText(tooluid_value['type']) type_item.setCurrentIndex(idx) tool_type_item = QtWidgets.QComboBox() for item in self.tool_type_item_options: tool_type_item.addItem(item) - tool_type_item.setStyleSheet('background-color: rgb(255,255,255)') + # tool_type_item.setStyleSheet('background-color: rgb(255,255,255)') idx = tool_type_item.findText(tooluid_value['tool_type']) tool_type_item.setCurrentIndex(idx) diff --git a/README.md b/README.md index b8826d9b..a3e09167 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,9 @@ CAD program, and create G-Code for Isolation routing. - adjusted the layout in NCC Tool - fixed bug in Panelization Tool for which in case of Excellon objects, the panel kept a reference to the source object which created issues when moving or disabling/enabling the plots - cleaned up the module imports throughout the app (the TclCommands are not yet verified) +- removed the styling on the comboboxes cellWidget's in the Tool Tables +- replaced some of the icons that did not looked Ok on the dark theme +- added a new toolbar button for the Copy object functionality 14.10.2019 diff --git a/flatcamGUI/FlatCAMGUI.py b/flatcamGUI/FlatCAMGUI.py index ea44c147..9d86bf55 100644 --- a/flatcamGUI/FlatCAMGUI.py +++ b/flatcamGUI/FlatCAMGUI.py @@ -12,8 +12,10 @@ # ########################################################## from flatcamGUI.PreferencesUI import * +from flatcamEditors.FlatCAMGeoEditor import FCShapeTool from matplotlib.backend_bases import KeyEvent as mpl_key_event +import webbrowser from copy import deepcopy from datetime import datetime import gettext @@ -684,22 +686,23 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.file_open_excellon_btn = self.toolbarfile.addAction(QtGui.QIcon('share/drill32.png'), _("Open Excellon")) self.toolbarfile.addSeparator() self.file_open_btn = self.toolbarfile.addAction(QtGui.QIcon('share/folder32.png'), _("Open project")) - self.file_save_btn = self.toolbarfile.addAction(QtGui.QIcon('share/floppy32.png'), _("Save project")) + self.file_save_btn = self.toolbarfile.addAction(QtGui.QIcon('share/project_save32.png'), _("Save project")) # ######################################################################## # ########################## Edit Toolbar# ############################### # ######################################################################## - self.newgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_geo32_bis.png'), _("New Blank Geometry")) - self.newgrb_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_geo32.png'), _("New Blank Gerber")) - self.newexc_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_exc32.png'), _("New Blank Excellon")) + self.newgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_file_geo32.png'), _("New Blank Geometry")) + self.newgrb_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_file_grb32.png'), _("New Blank Gerber")) + self.newexc_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_file_exc32.png'), _("New Blank Excellon")) self.toolbargeo.addSeparator() - self.editgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/edit32.png'), _("Editor")) + self.editgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/edit_file32.png'), _("Editor")) self.update_obj_btn = self.toolbargeo.addAction( - QtGui.QIcon('share/edit_ok32_bis.png'), _("Save Object and close the Editor") + QtGui.QIcon('share/close_edit_file32.png'), _("Save Object and close the Editor") ) self.toolbargeo.addSeparator() - self.delete_btn = self.toolbargeo.addAction(QtGui.QIcon('share/cancel_edit32.png'), _("&Delete")) + self.copy_btn = self.toolbargeo.addAction(QtGui.QIcon('share/copy_file32.png'), _("Copy")) + self.delete_btn = self.toolbargeo.addAction(QtGui.QIcon('share/delete_file32.png'), _("&Delete")) self.toolbargeo.addSeparator() self.distance_btn = self.toolbargeo.addAction(QtGui.QIcon('share/distance32.png'), _("Distance Tool")) self.distance_min_btn = self.toolbargeo.addAction(QtGui.QIcon('share/distance_min32.png'), @@ -707,7 +710,6 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.origin_btn = self.toolbargeo.addAction(QtGui.QIcon('share/origin32.png'), _('Set Origin')) self.jmp_btn = self.toolbargeo.addAction(QtGui.QIcon('share/jump_to16.png'), _('Jump to Location')) - # ######################################################################## # ########################## View Toolbar# ############################### # ######################################################################## @@ -2108,19 +2110,21 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.file_open_excellon_btn = self.toolbarfile.addAction(QtGui.QIcon('share/drill32.png'), _("Open Excellon")) self.toolbarfile.addSeparator() self.file_open_btn = self.toolbarfile.addAction(QtGui.QIcon('share/folder32.png'), _("Open project")) - self.file_save_btn = self.toolbarfile.addAction(QtGui.QIcon('share/floppy32.png'), _("Save project")) + self.file_save_btn = self.toolbarfile.addAction(QtGui.QIcon('share/project_save32.png'), _("Save project")) # ## Edit Toolbar # ## - self.newgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_geo32_bis.png'), _("New Blank Geometry")) - self.newexc_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_exc32.png'), _("New Blank Excellon")) + self.newgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_file_geo32.png'), _("New Blank Geometry")) + self.newgrb_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_file_grb32.png'), _("New Blank Gerber")) + self.newexc_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_file_exc32.png'), _("New Blank Excellon")) self.toolbargeo.addSeparator() self.editgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/edit32.png'), _("Editor")) self.update_obj_btn = self.toolbargeo.addAction( - QtGui.QIcon('share/edit_ok32_bis.png'), _("Save Object and close the Editor") + QtGui.QIcon('share/close_edit_file32.png'), _("Save Object and close the Editor") ) self.toolbargeo.addSeparator() - self.delete_btn = self.toolbargeo.addAction(QtGui.QIcon('share/cancel_edit32.png'), _("&Delete")) + self.copy_btn = self.toolbargeo.addAction(QtGui.QIcon('share/copy_file32.png'), _("Copy")) + self.delete_btn = self.toolbargeo.addAction(QtGui.QIcon('share/delete_file32.png'), _("&Delete")) self.toolbargeo.addSeparator() self.distance_btn = self.toolbargeo.addAction(QtGui.QIcon('share/distance32.png'), _("Distance Tool")) self.distance_min_btn = self.toolbargeo.addAction(QtGui.QIcon('share/distance_min32.png'), diff --git a/flatcamTools/ToolNonCopperClear.py b/flatcamTools/ToolNonCopperClear.py index 16817ab7..341f58e5 100644 --- a/flatcamTools/ToolNonCopperClear.py +++ b/flatcamTools/ToolNonCopperClear.py @@ -753,7 +753,7 @@ class NonCopperClear(FlatCAMTool, Gerber): tool_type_item = QtWidgets.QComboBox() for item in self.tool_type_item_options: tool_type_item.addItem(item) - tool_type_item.setStyleSheet('background-color: rgb(255,255,255)') + # tool_type_item.setStyleSheet('background-color: rgb(255,255,255)') idx = tool_type_item.findText(tooluid_value['tool_type']) tool_type_item.setCurrentIndex(idx) @@ -761,9 +761,9 @@ class NonCopperClear(FlatCAMTool, Gerber): operation_type = QtWidgets.QComboBox() operation_type.addItem('iso_op') - operation_type.setStyleSheet('background-color: rgb(255,255,255)') + # operation_type.setStyleSheet('background-color: rgb(255,255,255)') operation_type.addItem('clear_op') - operation_type.setStyleSheet('background-color: rgb(255,255,255)') + # operation_type.setStyleSheet('background-color: rgb(255,255,255)') op_idx = operation_type.findText(tooluid_value['operation']) operation_type.setCurrentIndex(op_idx) diff --git a/flatcamTools/ToolPaint.py b/flatcamTools/ToolPaint.py index cca0c827..07247783 100644 --- a/flatcamTools/ToolPaint.py +++ b/flatcamTools/ToolPaint.py @@ -675,7 +675,7 @@ class ToolPaint(FlatCAMTool, Gerber): tool_type_item = QtWidgets.QComboBox() for item in self.tool_type_item_options: tool_type_item.addItem(item) - tool_type_item.setStyleSheet('background-color: rgb(255,255,255)') + # tool_type_item.setStyleSheet('background-color: rgb(255,255,255)') idx = tool_type_item.findText(tooluid_value['tool_type']) tool_type_item.setCurrentIndex(idx) diff --git a/flatcamTools/ToolSolderPaste.py b/flatcamTools/ToolSolderPaste.py index 91ea734b..68dd3574 100644 --- a/flatcamTools/ToolSolderPaste.py +++ b/flatcamTools/ToolSolderPaste.py @@ -278,7 +278,7 @@ class SolderPaste(FlatCAMTool): ) self.pp_combo = FCComboBox() - self.pp_combo.setStyleSheet('background-color: rgb(255,255,255)') + # self.pp_combo.setStyleSheet('background-color: rgb(255,255,255)') self.gcode_form_layout.addRow(pp_label, self.pp_combo) # ## Buttons diff --git a/share/close_edit_file16.png b/share/close_edit_file16.png new file mode 100644 index 0000000000000000000000000000000000000000..a3570981d9143c33b8c02011c3ba8cdb6159f38f GIT binary patch literal 485 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenMVO6iP5s=4O z;1OBOz`%C|gc+x5^GO2**-JcqUD+RV2{5uq-Alan8z{8d)5S4FB`q_R{`v9%oNeAN=yh?11Vl2ohYqEsNoU}RuuscUGUYiJf? zU}$AvVr68eZD3$!U@+m-`7jg>x%nxXX_dG&Je*z*iV{hX4Z-BuF?hQAxvXk4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&lNWFtYF++0EC+z`z*h>EamTas2Jnjb4WXMB4U8 zEEEw@U;ZedpkQJX$I52@2hW7sS2XJ@Z1tOK&B0pwP4rTeMTX;rqYED_>Q7kM;jGaV zy5`EUgU@cMsoxWlk@7BzT=YPIG`#(#~nV_Y;;!(1n{xCVahECJC$QNqi(3rd> zW3%!z+jTECE?57sLFsd)P1mR7$x)Bo#WWHNJlYpq$cnrSI(+cxWEZ~-Yl{QVICm^N z88wHm?!kj2FCCf<56*bt&ry=+lRW9g@!|&7JC`PSsp>DO6lU;D-7HjBaX|RsO35T{NVcquD&(%&vKP+z5PU|OF^pC zEJQ}&>;1hSxN@}lf1H>oRCh>e(wxhp>%O(d?tj9aAzLnfP5D;}Fwj*?Tq8~}U&Kt&9mu6{1-oD!Mzm0Xkxq!^403@vpH4Rj67LJSP7 zOwFteEVO|P0|TumVm&Ata`RI%(<*Umh~Bvl7-9^PARB`7(@M${i&7cN%ggmL^RkPR b6AM!H@{7`Ezq647Dq`?-^>bP0l+XkKF8GPi literal 0 HcmV?d00001 diff --git a/share/copy_file32.png b/share/copy_file32.png new file mode 100644 index 0000000000000000000000000000000000000000..367dcf7ae4f8d27f3b093084714f69ccf10bbe85 GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&lNWFjy#L#RxP4h3=4Nzs167Ox&;UO+8%CoapMn;^M&ahxy5jNr!m(=iD$#Dvh@J-^nGqvVw8;!QZc~ z`o3JX`_8^T)4}iF+V*R4K#!`HxJHzuB$lLFB^RXvDF!10LrYyl16@P25Ca1%Q!^`L zBW)nVz<@#8PZ32!ZhlH;S|x4`g>K*G0yRj2YzWRzD=AMbN@XZ7FW1Y=%Pvk%EJ)SM WFG`>N&PEETh{4m<&t;ucLK6V)UbmD0 literal 0 HcmV?d00001 diff --git a/share/delete_file16.png b/share/delete_file16.png new file mode 100644 index 0000000000000000000000000000000000000000..bf25206ff2a296ec82c50cf552b9d8cf1f2b4095 GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenMVO6iP5s=4O z;1OBOz`%C|gc+x5^GO2**-JcqUD+RV2{5voZ${hcA z{jbNm&r4pgN$RluV{G2__GFsLNA;MK3Z>1vcs!mQZ?SJUD}O*C(nq4SsCA0oVvW{^ z?_SQUp7+kUcK`hMyT5-rd*id}JWl?wM@QS{p_>6iMe5HrFq!_pm$YETq8k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&lNWFtTgd&c3mOfr0V9r;B5V$MLmS{XIegMUH>$ zZ&tYCw8Y1QYx1doI!z*LLR<8Buav!wu@GrtaTRpUV~&+*jQG-iOJu2|_sS{%1pGLK zE-ASP{ANye@k()As(VcB{+T^9)l1(!yHkDc@4o7~?}d6>#kl)UceO+qE_*ZW{JQMV zhXcEJ9^R_U)-(Q_0vR)4mTzwJHH5k9-GQ9N&@`GOFCwFm25*d8obsoE>Tzee3e>f?W(^Yc6f$$u><1G(R=9O4_x# z%5!z0$8@DD6&h`P%@-OjAM zru44qT!_J`&--d>%omRdP`(kYX@0FtpS) zG|)9P3o$UXGBCF?G0-+Jure^X=i~uQWk?!w^HVa@DsgLAFaIF~s6i5BLvVgtNqJ&X lDnogBxn5>oc5!lIL8@MUQTpt6Hc~)E44$rjF6*2UngIP0HVps( literal 0 HcmV?d00001 diff --git a/share/edit_file16.png b/share/edit_file16.png new file mode 100644 index 0000000000000000000000000000000000000000..e157e1100b34122a7d59f73cff056fb1276465ec GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenMVO6iP5s=4O z;1OBOz`%C|gc+x5^GO2**-JcqUD+RV2{1@$N7?ji0)>uwx;TbtoG-m#=;!1p()y5J zzOBu7fDjMza%kqs~h$AEZC$sSPuyz0Hl?uA|w{J@Stgy!7Y@2R? zQ5mz4`n|7H9(l`oh2DMF^C<35LdMIC^j6+ZYv*{q*yGY{&-TT>h&a}`t1J1g!8vAs zJD;_mqw^bkclq=7?%(Ds7xBWosXJdxG2pYr&sS1^7k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&lNWFi11JpY5)}z`)q$>EamTaeVGnUvH*Bk+%6) z0)kw)qLu^-u4Q_eJYP!0OJU0zvwsZ#oqup=U0f8qT49OUJ1*_b8X1CHc?~(WqFB!^ zQB2(Cp>F@|-prSKXP=(?+wQq7dmFd!(v{L{n379Yy5Ej1Ix3f>>hZ~=CFu9Y#i{>~ z^s;O?VS0a#V4nL81O2J2UQZoc6v`RK4tG?8~fbHR*lVVob?9Q5V3bwsk}6fb`o zn|7+IiEH_-x=;KGrEIaUd>$lDx6AA^wM${JFTA#r>y2N~kDb#Q8O#D%81yw4i+y>b zcG4j8+*dm({=x=sp)ZqFlhQiweoNMB3AmXU`aXU0%nj~=g@R9RW^wQTCZVNgwBzOm zwhx6T)D1=EyfHpy^FEBhZc~k*>%o(Z!Y&mT_ph*bu~z5Z-OZz%v|Hn#iSZA~D~Gt> zE@Dy4)10vQz=SosBm|Ci&SyxiEG^_Njk8SZTQD(pib7tBu~&lQT+S?qd9xmD+gs?& zq_L?fJSbqH2K$wz?-x6AGp70OVybFCcE0+xmwB!|-=^jr=jN;Y07jH*iEBhjN@7W> zRdP`(kYX@0FtpS)G|)9P3o$UTGBUR^Fwh1v3=HmnQVT=Tkei>9nO2Eg!@BkJUI8^o vf@}!RPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw=TsEEPS)z4*}Q$iB}D@yzi literal 0 HcmV?d00001 diff --git a/share/new_file16.png b/share/new_file16.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e0353f77492da30cb09be9a890ffa7ca6b83c2 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenMVO6iP5s=4O z;1OBOz`%C|gc+x5^GO2**-JcqUD+RV2{4F@ANbq*7$_9(>EaloaXvXE0SIoKFX(2J zv@m>P^u|GK#?c0@X9i~yKeQUml-SU?pXVjdKLOPnqA^J`j(wQEP-MHP$D$j)4or)= zIzkQ{IsgOCVsFt`!l%ynErERK(!v>gTe~DWM4fC8u?u literal 0 HcmV?d00001 diff --git a/share/new_file32.png b/share/new_file32.png new file mode 100644 index 0000000000000000000000000000000000000000..761d747d322cfabe8be13330ae636e2ee4b2cf1e GIT binary patch literal 481 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&lNWFo-KZ^sEd63a$5aaSZV|o}AFo7|QdX^T2JM zE*^;n!E;up3VIS*ne!$bm~i;Rgo6_w+O0C+7W&P3IMRk~hvA%*AIA$C4l-WlP-A;^ zFr6*D?Kcm*%nR}2m?EN1JGGRQixf^jjM0z=VCox=$}OY|gjnp#$u zr|jTb#>?<}i;K2h17ir#>8d5J5hW>!C8<`)MX5lF!N|bSQrFNx*U&7)z`)AL*vi;c z8^|y);99pX14Tn_eoAIqC2kGXpT({KHAsSN2+mI{DNig)WhgH%*UQYyE>2D?NY%?P VN}v7CMhd8i!PC{xWt~$(699dCmI(j= literal 0 HcmV?d00001 diff --git a/share/new_file_exc16.png b/share/new_file_exc16.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd2243925873c61ce078e92bfb4d565a4072418 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fXMsm#F#`kN z5fEmas?8@26ig2A32_C|q=Gm6x)21^2w}X2i3lwh10uLA#N=(YJrO{bVo8u+FvG6a zJMI&g%=K8voYB#_pLOxf{|qdPZD*!2GB6&BIlA_MpJT2)P;tDci(^Q|oYcNZz6J#W z=hy3YEZXs~>VL45jKjt6m!B-1%foP9y-C1jiLqZ$c#4m-@~1^>Jgyj+s7U1JTPd@= z59QmYceK@{oCO|{#S9F5 zM?jcysy3fAP_Q(>C&U#<(+<4h*99WD`9QYNaxoy{V0-WoD5_o(i=!Uqus`n zALLh_IQDQi_kl;sMZeyC-p=LZGF6o6KQlX<5DN=q%;LwDKrQnsZp zpzYzrBd5OUZ1IiW```P_(&c|7ljgm#J`$e5r?84^%2fpw4|nH`CC4;MdhC6cZLWO5 z+WjwF zzhH)4t#{lfE}84GkU68Hb3Y5?;*$Tb8D=iFO`A36P)yuI=A&y57$of62vncu>Eakt zF(>z2BwvF956gvJ@4FUd+@1dWexRU>!MXD)`j?k5B-~W$<5rrNW6$B+k)+A5k~xiA zqeDgG>7qq8rHdQ3?%7>_@I&z@=9Z0h24Wo^`_-*_!hNOAe3$1A+%Ri?-tJS31xz#l VvI}jP(eK@{oCO|{#S9F5 zM?jcysy3fAP_Qn*C&U#<(+Irb*9D?%erX5-vLP11#es~rsdG4hqFNgAWE* z9Zs;2I__vN^W3v;1qM+*hgRNc+KNYJ-_6HLjm=iSgZrO^(XK l5$)mAuPiA1Q+l!Z8$;A(@v?viUW-8f_jL7hS?83{1OWehhS>lB literal 0 HcmV?d00001 diff --git a/share/new_file_grb16.png b/share/new_file_grb16.png new file mode 100644 index 0000000000000000000000000000000000000000..df7c642906c115ee7ba6f8bd475d85a31a6c32cb GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fXMsm#F#`kN z5fEmas?8@26pRh<32_C|WB{S%Vn77c2w?~<1963xh(Q=|1J6E@vj=kIOM?7@8Fsba zai6$kuE#>=jE>Iz9E;g!{%2WiJ2P$0tV2iF9yt5|Ob$?Ktfz}(NX4AobJzJA6a-u@ zZv4(B*7fWE{LB)@){1yD%abbH3SBEzSf|dMExwdLH1~+p?AZ BTbuv@ literal 0 HcmV?d00001 diff --git a/share/new_file_grb32.png b/share/new_file_grb32.png new file mode 100644 index 0000000000000000000000000000000000000000..0d214862e201808048a6afdf80fde5ae8a2e82dc GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jPK-BC>eK@{oCO|{#S9F5 zM?jcysy3fAP_R0{C&U#<(;5gZ7sG1B{%4Y+Kncx~AirRSRsU}*9_==s{2;&b#Ic9F zxeq*2F8cNE^L8#Lm#LDBti1nu*w}@b1exvU)!G9!E%tPA45^s2_3}-=CIbP7iwlE7 z?rhi6bB)>X|9`8J=|S~#bsHGA{KJp8-kEMs26nb`jY z{fsN>*)IBLd{{9xC`c^sfqnbB1-e`h>KAl1T_`PQ2#aUjv}e~F<~3ihtFFH(ygXfe U=Z31*1d!)FUHx3vIVCg!02+yUA^-pY literal 0 HcmV?d00001 diff --git a/share/project_save16.png b/share/project_save16.png new file mode 100644 index 0000000000000000000000000000000000000000..df4e30a1d8152b3681be7cd5e83c464d4d29bc52 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenMVO6iP5s=4O z;1OBOz`%C|gc+x5^GO2**-JcqUD+RV2{2geUpyCg87Q>R)5S4FxMuhP+-Pj_j%RJdL$Ludl9na|lI%|F~zDb*WapoGf(=Lt&|0mqIyTkY4hrLDT zfB$*+aIf`+5VnjLXS%DxC-cYwj&@F0gGbYj$^@U>VYqlH6T8)( z4M&X{jVn)ZRXa}=)?0TWf89klrs!k)^Ai_n&NNsurO0WTR=~02fp2V^Qzm0Xkx zq!^403@vpH4Rj67LJSP7Of9WU%(a0G1A~=sjfGG&h*rdD+Fui3O>8`9k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&lNWFjyVlKZ_aqiCW_9YDdWTsuV2MSfVO`Xb`UcT}$Hqrj^hTXY z-xCt_Zt`>nMZxx_y-qWDW~_bFlbiUuQuxAiKZY-*2V`C|Em+4~b%(2A9^Z)#x(w?| z9S$%GXZ%__=TC&qtvyurjr@GB(i$G7JnR9Z;Btq9HdwB{QuOw}!`a zXJ`R6NP=t#&QB{TPb^AhC@(M9%goCzPEIUH)ypqRpZ(583aE&|)78&qol`;+02jB} A#Q*>R literal 0 HcmV?d00001