From cbcd6595cbea81531ba1b76be679b7c3fbb13e80 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Thu, 5 Nov 2020 02:42:51 +0200 Subject: [PATCH] - added more icons in the Gerber and Excellon Editors for the buttons --- CHANGELOG.md | 1 + appEditors/AppExcEditor.py | 13 +- appEditors/AppGerberEditor.py | 123 ++++++----- appGUI/MainGUI.py | 28 +-- appGUI/ObjectUI.py | 198 +++++++++--------- assets/resources/clean32.png | Bin 0 -> 733 bytes assets/resources/convert32.png | Bin 0 -> 1117 bytes assets/resources/dark_resources/clean32.png | Bin 0 -> 833 bytes assets/resources/dark_resources/convert32.png | Bin 0 -> 1404 bytes assets/resources/dark_resources/scale32.png | Bin 680 -> 882 bytes assets/resources/scale32.png | Bin 657 -> 724 bytes 11 files changed, 188 insertions(+), 175 deletions(-) create mode 100644 assets/resources/clean32.png create mode 100644 assets/resources/convert32.png create mode 100644 assets/resources/dark_resources/clean32.png create mode 100644 assets/resources/dark_resources/convert32.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 354b31f6..953a62fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ CHANGELOG for FlatCAM beta - in Gerber Editor added the shortcut key 'Space' to change the direction of the array of pads - updated all the translation languages. Translated by Google the Spanish, Russian. Romanian translation updated. - refactored the name of the classes from the Gerber Editor +- added more icons in the Gerber and Excellon Editors for the buttons 3.11.2020 diff --git a/appEditors/AppExcEditor.py b/appEditors/AppExcEditor.py index 2a1d99a7..8f25a44c 100644 --- a/appEditors/AppExcEditor.py +++ b/appEditors/AppExcEditor.py @@ -3829,6 +3829,8 @@ class AppExcEditorUI: self.ui_vertical_lay.addWidget(separator_line) self.convert_slots_btn = FCButton('%s' % _("Convert Slots")) + self.convert_slots_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/convert32.png')) + self.convert_slots_btn.setToolTip( _("Convert the slots in the selected tools to drills.") ) @@ -3870,7 +3872,8 @@ class AppExcEditorUI: hlay.addWidget(self.addtool_entry) # Tool Diameter Button - self.addtool_btn = QtWidgets.QPushButton(_('Add')) + self.addtool_btn = FCButton(_('Add')) + self.addtool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/plus16.png')) self.addtool_btn.setToolTip( _("Add a new tool to the tool list\n" "with the diameter specified above.") @@ -3881,7 +3884,8 @@ class AppExcEditorUI: grid1.addLayout(hlay, 0, 1) # Delete Tool - self.deltool_btn = QtWidgets.QPushButton(_('Delete Tool')) + self.deltool_btn = FCButton(_('Delete Tool')) + self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash32.png')) self.deltool_btn.setToolTip( _("Delete a tool in the tool list\n" "by selecting a row in the tool table.") @@ -3930,7 +3934,8 @@ class AppExcEditorUI: hlay2.addWidget(self.resdrill_entry) # Resize Button - self.resize_btn = QtWidgets.QPushButton(_('Resize')) + self.resize_btn = FCButton(_('Resize')) + self.resize_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/resize16.png')) self.resize_btn.setToolTip( _("Resize drill(s)") ) @@ -4309,7 +4314,7 @@ class AppExcEditorUI: layout.addStretch(1) # Editor - self.exit_editor_button = QtWidgets.QPushButton(_('Exit Editor')) + self.exit_editor_button = FCButton(_('Exit Editor')) self.exit_editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/power16.png')) self.exit_editor_button.setToolTip( _("Exit from Editor.") diff --git a/appEditors/AppGerberEditor.py b/appEditors/AppGerberEditor.py index 3e14ad03..3d179f8a 100644 --- a/appEditors/AppGerberEditor.py +++ b/appEditors/AppGerberEditor.py @@ -18,8 +18,8 @@ from copy import copy, deepcopy import logging from camlib import distance, arc, three_point_circle -from appGUI.GUIElements import FCEntry, FCComboBox, FCTable, FCDoubleSpinner, FCSpinner, RadioSet, \ - EvalEntry2, FCInputDialog, FCButton, OptionalInputSection, FCCheckBox, NumericalEvalTupleEntry, FCComboBox2 +from appGUI.GUIElements import FCEntry, FCComboBox, FCTable, FCDoubleSpinner, FCSpinner, RadioSet, EvalEntry2, \ + FCInputDialog, FCButton, OptionalInputSection, FCCheckBox, NumericalEvalTupleEntry, FCComboBox2, FCLabel from appTool import AppTool import numpy as np @@ -4461,8 +4461,8 @@ class AppGerberEditor(QtCore.QObject): # # ## Selection area on canvas section # ## if event_is_dragging == 1 and event.button == 1: - # I make an exception for RegionEditorGrb and TrackEditorGrb because clicking and dragging while making regions can - # create strange issues like missing a point in a track/region + # I make an exception for RegionEditorGrb and TrackEditorGrb because clicking and dragging while making + # regions can create strange issues like missing a point in a track/region if isinstance(self.active_tool, RegionEditorGrb) or isinstance(self.active_tool, TrackEditorGrb): pass else: @@ -4988,19 +4988,19 @@ class AppGerberEditorUI: # Page Title icon pixmap = QtGui.QPixmap(self.app.resource_location + '/flatcam_icon32.png') - self.icon = QtWidgets.QLabel() + self.icon = FCLabel() self.icon.setPixmap(pixmap) self.title_box.addWidget(self.icon, stretch=0) # Title label - self.title_label = QtWidgets.QLabel("%s" % _('Gerber Editor')) + self.title_label = FCLabel("%s" % _('Gerber Editor')) self.title_label.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.title_box.addWidget(self.title_label, stretch=1) # Object name self.name_box = QtWidgets.QHBoxLayout() layout.addLayout(self.name_box) - name_label = QtWidgets.QLabel(_("Name:")) + name_label = FCLabel(_("Name:")) self.name_box.addWidget(name_label) self.name_entry = FCEntry() self.name_box.addWidget(self.name_entry) @@ -5013,7 +5013,7 @@ class AppGerberEditorUI: # ######################### # ### Gerber Apertures #### # ######################### - self.apertures_table_label = QtWidgets.QLabel('%s:' % _('Apertures')) + self.apertures_table_label = FCLabel('%s:' % _('Apertures')) self.apertures_table_label.setToolTip( _("Apertures Table for the Gerber Object.") ) @@ -5043,7 +5043,7 @@ class AppGerberEditorUI: " - (width, height) for R, O type.\n" " - (dia, nVertices) for P type")) - self.empty_label = QtWidgets.QLabel('') + self.empty_label = FCLabel('') self.custom_box.addWidget(self.empty_label) # add a frame and inside add a vertical box layout. Inside this vbox layout I add all the Apertures widgets @@ -5062,7 +5062,7 @@ class AppGerberEditorUI: grid1.setColumnStretch(0, 0) grid1.setColumnStretch(1, 1) - apcode_lbl = QtWidgets.QLabel('%s:' % _('Aperture Code')) + apcode_lbl = FCLabel('%s:' % _('Aperture Code')) apcode_lbl.setToolTip(_("Code for the new aperture")) grid1.addWidget(apcode_lbl, 1, 0) @@ -5072,7 +5072,7 @@ class AppGerberEditorUI: grid1.addWidget(self.apcode_entry, 1, 1) - apsize_lbl = QtWidgets.QLabel('%s' % _('Aperture Size:')) + apsize_lbl = FCLabel('%s' % _('Aperture Size:')) apsize_lbl.setToolTip( _("Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -5088,7 +5088,7 @@ class AppGerberEditorUI: grid1.addWidget(self.apsize_entry, 2, 1) - aptype_lbl = QtWidgets.QLabel('%s:' % _('Aperture Type')) + aptype_lbl = FCLabel('%s:' % _('Aperture Type')) aptype_lbl.setToolTip( _("Select the type of new aperture. Can be:\n" "C = circular\n" @@ -5101,7 +5101,7 @@ class AppGerberEditorUI: self.aptype_cb.addItems(['C', 'R', 'O']) grid1.addWidget(self.aptype_cb, 3, 1) - self.apdim_lbl = QtWidgets.QLabel('%s:' % _('Aperture Dim')) + self.apdim_lbl = FCLabel('%s:' % _('Aperture Dim')) self.apdim_lbl.setToolTip( _("Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -5112,7 +5112,7 @@ class AppGerberEditorUI: self.apdim_entry = EvalEntry2() grid1.addWidget(self.apdim_entry, 4, 1) - apadd_del_lbl = QtWidgets.QLabel('%s:' % _('Add/Delete Aperture')) + apadd_del_lbl = FCLabel('%s:' % _('Add/Delete Aperture')) apadd_del_lbl.setToolTip( _("Add/Delete an aperture in the aperture table") ) @@ -5121,12 +5121,14 @@ class AppGerberEditorUI: hlay_ad = QtWidgets.QHBoxLayout() self.apertures_box.addLayout(hlay_ad) - self.addaperture_btn = QtWidgets.QPushButton(_('Add')) + self.addaperture_btn = FCButton(_('Add')) + self.addaperture_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/plus16.png')) self.addaperture_btn.setToolTip( _("Add a new aperture to the aperture list.") ) - self.delaperture_btn = QtWidgets.QPushButton(_('Delete')) + self.delaperture_btn = FCButton(_('Delete')) + self.delaperture_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash32.png')) self.delaperture_btn.setToolTip( _("Delete a aperture in the aperture list") ) @@ -5145,7 +5147,7 @@ class AppGerberEditorUI: self.buffer_tool_frame.hide() # Title - buf_title_lbl = QtWidgets.QLabel('%s:' % _('Buffer Aperture')) + buf_title_lbl = FCLabel('%s:' % _('Buffer Aperture')) buf_title_lbl.setToolTip( _("Buffer a aperture in the aperture list") ) @@ -5161,7 +5163,7 @@ class AppGerberEditorUI: self.buffer_distance_entry.set_range(-10000.0000, 10000.0000) buf_form_layout.addRow('%s:' % _("Buffer distance"), self.buffer_distance_entry) - self.buffer_corner_lbl = QtWidgets.QLabel('%s:' % _("Buffer corner")) + self.buffer_corner_lbl = FCLabel('%s:' % _("Buffer corner")) self.buffer_corner_lbl.setToolTip( _("There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -5178,7 +5180,8 @@ class AppGerberEditorUI: hlay_buf = QtWidgets.QHBoxLayout() self.buffer_tools_box.addLayout(hlay_buf) - self.buffer_button = QtWidgets.QPushButton(_("Buffer")) + self.buffer_button = FCButton(_("Buffer")) + self.buffer_button.setIcon(QtGui.QIcon(self.app.resource_location + '/buffer16-2.png')) hlay_buf.addWidget(self.buffer_button) # ################## @@ -5193,7 +5196,7 @@ class AppGerberEditorUI: self.scale_tool_frame.hide() # Title - scale_title_lbl = QtWidgets.QLabel('%s:' % _('Scale Aperture')) + scale_title_lbl = FCLabel('%s:' % _('Scale Aperture')) scale_title_lbl.setToolTip( _("Scale a aperture in the aperture list") ) @@ -5203,7 +5206,7 @@ class AppGerberEditorUI: scale_form_layout = QtWidgets.QFormLayout() self.scale_tools_box.addLayout(scale_form_layout) - self.scale_factor_lbl = QtWidgets.QLabel('%s:' % _("Scale factor")) + self.scale_factor_lbl = FCLabel('%s:' % _("Scale factor")) self.scale_factor_lbl.setToolTip( _("The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999") @@ -5218,7 +5221,8 @@ class AppGerberEditorUI: hlay_scale = QtWidgets.QHBoxLayout() self.scale_tools_box.addLayout(hlay_scale) - self.scale_button = QtWidgets.QPushButton(_("Scale")) + self.scale_button = FCButton(_("Scale")) + self.scale_button.setIcon(QtGui.QIcon(self.app.resource_location + '/clean32.png')) hlay_scale.addWidget(self.scale_button) # ###################### @@ -5233,7 +5237,7 @@ class AppGerberEditorUI: self.ma_tool_frame.hide() # Title - ma_title_lbl = QtWidgets.QLabel('%s:' % _('Mark polygons')) + ma_title_lbl = FCLabel('%s:' % _('Mark polygons')) ma_title_lbl.setToolTip( _("Mark the polygon areas.") ) @@ -5243,7 +5247,7 @@ class AppGerberEditorUI: ma_form_layout = QtWidgets.QFormLayout() self.ma_tools_box.addLayout(ma_form_layout) - self.ma_upper_threshold_lbl = QtWidgets.QLabel('%s:' % _("Area UPPER threshold")) + self.ma_upper_threshold_lbl = FCLabel('%s:' % _("Area UPPER threshold")) self.ma_upper_threshold_lbl.setToolTip( _("The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 10000.0000") @@ -5252,7 +5256,7 @@ class AppGerberEditorUI: self.ma_upper_threshold_entry.set_precision(self.decimals) self.ma_upper_threshold_entry.set_range(0, 10000) - self.ma_lower_threshold_lbl = QtWidgets.QLabel('%s:' % _("Area LOWER threshold")) + self.ma_lower_threshold_lbl = FCLabel('%s:' % _("Area LOWER threshold")) self.ma_lower_threshold_lbl.setToolTip( _("The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 10000.0000") @@ -5268,19 +5272,22 @@ class AppGerberEditorUI: hlay_ma = QtWidgets.QHBoxLayout() self.ma_tools_box.addLayout(hlay_ma) - self.ma_threshold_button = QtWidgets.QPushButton(_("Mark")) + self.ma_threshold_button = FCButton(_("Mark")) + self.ma_threshold_button.setIcon(QtGui.QIcon(self.app.resource_location + '/markarea32.png')) self.ma_threshold_button.setToolTip( _("Mark the polygons that fit within limits.") ) hlay_ma.addWidget(self.ma_threshold_button) - self.ma_delete_button = QtWidgets.QPushButton(_("Delete")) + self.ma_delete_button = FCButton(_("Delete")) + self.ma_delete_button.setIcon(QtGui.QIcon(self.app.resource_location + '/trash32.png')) self.ma_delete_button.setToolTip( _("Delete all the marked polygons.") ) hlay_ma.addWidget(self.ma_delete_button) - self.ma_clear_button = QtWidgets.QPushButton(_("Clear")) + self.ma_clear_button = FCButton(_("Clear")) + self.ma_clear_button.setIcon(QtGui.QIcon(self.app.resource_location + '/clean32.png')) self.ma_clear_button.setToolTip( _("Clear all the markings.") ) @@ -5299,10 +5306,10 @@ class AppGerberEditorUI: self.array_box.setContentsMargins(0, 0, 0, 0) self.array_frame.setLayout(self.array_box) - self.emptyarray_label = QtWidgets.QLabel('') + self.emptyarray_label = FCLabel('') self.array_box.addWidget(self.emptyarray_label) - self.padarray_label = QtWidgets.QLabel('%s' % _("Add Pad Array")) + self.padarray_label = FCLabel('%s' % _("Add Pad Array")) self.padarray_label.setToolTip( _("Add an array of pads (linear or circular array)") ) @@ -5321,7 +5328,7 @@ class AppGerberEditorUI: self.array_form = QtWidgets.QFormLayout() self.array_box.addLayout(self.array_form) - self.pad_array_size_label = QtWidgets.QLabel('%s:' % _('Nr of pads')) + self.pad_array_size_label = FCLabel('%s:' % _('Nr of pads')) self.pad_array_size_label.setToolTip( _("Specify how many pads to be in the array.") ) @@ -5342,7 +5349,7 @@ class AppGerberEditorUI: self.linear_form = QtWidgets.QFormLayout() self.linear_box.addLayout(self.linear_form) - self.pad_axis_label = QtWidgets.QLabel('%s:' % _('Direction')) + self.pad_axis_label = FCLabel('%s:' % _('Direction')) self.pad_axis_label.setToolTip( _("Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -5357,7 +5364,7 @@ class AppGerberEditorUI: self.pad_axis_radio.set_value('X') self.linear_form.addRow(self.pad_axis_label, self.pad_axis_radio) - self.pad_pitch_label = QtWidgets.QLabel('%s:' % _('Pitch')) + self.pad_pitch_label = FCLabel('%s:' % _('Pitch')) self.pad_pitch_label.setToolTip( _("Pitch = Distance between elements of the array.") ) @@ -5370,7 +5377,7 @@ class AppGerberEditorUI: self.linear_form.addRow(self.pad_pitch_label, self.pad_pitch_entry) - self.linear_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) + self.linear_angle_label = FCLabel('%s:' % _('Angle')) self.linear_angle_label.setToolTip( _("Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -5391,7 +5398,7 @@ class AppGerberEditorUI: self.circular_box.setContentsMargins(0, 0, 0, 0) self.array_circular_frame.setLayout(self.circular_box) - self.pad_direction_label = QtWidgets.QLabel('%s:' % _('Direction')) + self.pad_direction_label = FCLabel('%s:' % _('Direction')) self.pad_direction_label.setToolTip( _("Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise.") @@ -5406,7 +5413,7 @@ class AppGerberEditorUI: self.pad_direction_radio.set_value('CW') self.circular_form.addRow(self.pad_direction_label, self.pad_direction_radio) - self.pad_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) + self.pad_angle_label = FCLabel('%s:' % _('Angle')) self.pad_angle_label.setToolTip( _("Angle at which each element in circular array is placed.") ) @@ -5430,7 +5437,7 @@ class AppGerberEditorUI: layout.addStretch() # Editor - self.exit_editor_button = QtWidgets.QPushButton(_('Exit Editor')) + self.exit_editor_button = FCButton(_('Exit Editor')) self.exit_editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/power16.png')) self.exit_editor_button.setToolTip( _("Exit from Editor.") @@ -5465,7 +5472,7 @@ class TransformEditorTool(AppTool): self.decimals = self.app.decimals # ## Title - title_label = QtWidgets.QLabel("%s" % self.toolName) + title_label = FCLabel("%s" % self.toolName) title_label.setStyleSheet(""" QLabel { @@ -5474,7 +5481,7 @@ class TransformEditorTool(AppTool): } """) self.layout.addWidget(title_label) - self.layout.addWidget(QtWidgets.QLabel('')) + self.layout.addWidget(FCLabel('')) # ## Layout grid0 = QtWidgets.QGridLayout() @@ -5483,10 +5490,10 @@ class TransformEditorTool(AppTool): grid0.setColumnStretch(1, 1) grid0.setColumnStretch(2, 0) - grid0.addWidget(QtWidgets.QLabel('')) + grid0.addWidget(FCLabel('')) # Reference - ref_label = QtWidgets.QLabel('%s:' % _("Reference")) + ref_label = FCLabel('%s:' % _("Reference")) ref_label.setToolTip( _("The reference point for Rotate, Skew, Scale, Mirror.\n" "Can be:\n" @@ -5502,7 +5509,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(ref_label, 0, 0) grid0.addWidget(self.ref_combo, 0, 1, 1, 2) - self.point_label = QtWidgets.QLabel('%s:' % _("Value")) + self.point_label = FCLabel('%s:' % _("Value")) self.point_label.setToolTip( _("A point of reference in format X,Y.") ) @@ -5523,10 +5530,10 @@ class TransformEditorTool(AppTool): grid0.addWidget(separator_line, 5, 0, 1, 3) # ## Rotate Title - rotate_title_label = QtWidgets.QLabel("%s" % self.rotateName) + rotate_title_label = FCLabel("%s" % self.rotateName) grid0.addWidget(rotate_title_label, 6, 0, 1, 3) - self.rotate_label = QtWidgets.QLabel('%s:' % _("Angle")) + self.rotate_label = FCLabel('%s:' % _("Angle")) self.rotate_label.setToolTip( _("Angle, in degrees.\n" "Float number between -360 and 359.\n" @@ -5560,7 +5567,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(separator_line, 8, 0, 1, 3) # ## Skew Title - skew_title_label = QtWidgets.QLabel("%s" % self.skewName) + skew_title_label = FCLabel("%s" % self.skewName) grid0.addWidget(skew_title_label, 9, 0, 1, 2) self.skew_link_cb = FCCheckBox() @@ -5571,7 +5578,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.skew_link_cb, 9, 2) - self.skewx_label = QtWidgets.QLabel('%s:' % _("X angle")) + self.skewx_label = FCLabel('%s:' % _("X angle")) self.skewx_label.setToolTip( _("Angle for Skew action, in degrees.\n" "Float number between -360 and 360.") @@ -5592,7 +5599,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.skewx_entry, 10, 1) grid0.addWidget(self.skewx_button, 10, 2) - self.skewy_label = QtWidgets.QLabel('%s:' % _("Y angle")) + self.skewy_label = FCLabel('%s:' % _("Y angle")) self.skewy_label.setToolTip( _("Angle for Skew action, in degrees.\n" "Float number between -360 and 360.") @@ -5622,7 +5629,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(separator_line, 14, 0, 1, 3) # ## Scale Title - scale_title_label = QtWidgets.QLabel("%s" % self.scaleName) + scale_title_label = FCLabel("%s" % self.scaleName) grid0.addWidget(scale_title_label, 15, 0, 1, 2) self.scale_link_cb = FCCheckBox() @@ -5633,7 +5640,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.scale_link_cb, 15, 2) - self.scalex_label = QtWidgets.QLabel('%s:' % _("X factor")) + self.scalex_label = FCLabel('%s:' % _("X factor")) self.scalex_label.setToolTip( _("Factor for scaling on X axis.") ) @@ -5653,7 +5660,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.scalex_entry, 17, 1) grid0.addWidget(self.scalex_button, 17, 2) - self.scaley_label = QtWidgets.QLabel('%s:' % _("Y factor")) + self.scaley_label = FCLabel('%s:' % _("Y factor")) self.scaley_label.setToolTip( _("Factor for scaling on Y axis.") ) @@ -5686,7 +5693,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(separator_line, 21, 0, 1, 3) # ## Flip Title - flip_title_label = QtWidgets.QLabel("%s" % self.flipName) + flip_title_label = FCLabel("%s" % self.flipName) grid0.addWidget(flip_title_label, 23, 0, 1, 3) self.flipx_button = FCButton(_("Flip on X")) @@ -5711,10 +5718,10 @@ class TransformEditorTool(AppTool): grid0.addWidget(separator_line, 27, 0, 1, 3) # ## Offset Title - offset_title_label = QtWidgets.QLabel("%s" % self.offsetName) + offset_title_label = FCLabel("%s" % self.offsetName) grid0.addWidget(offset_title_label, 29, 0, 1, 3) - self.offx_label = QtWidgets.QLabel('%s:' % _("X val")) + self.offx_label = FCLabel('%s:' % _("X val")) self.offx_label.setToolTip( _("Distance to offset on X axis. In current units.") ) @@ -5734,7 +5741,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.offx_entry, 31, 1) grid0.addWidget(self.offx_button, 31, 2) - self.offy_label = QtWidgets.QLabel('%s:' % _("Y val")) + self.offy_label = FCLabel('%s:' % _("Y val")) self.offy_label.setToolTip( _("Distance to offset on Y axis. In current units.") ) @@ -5760,7 +5767,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(separator_line, 34, 0, 1, 3) # ## Buffer Title - buffer_title_label = QtWidgets.QLabel("%s" % self.bufferName) + buffer_title_label = FCLabel("%s" % self.bufferName) grid0.addWidget(buffer_title_label, 35, 0, 1, 2) self.buffer_rounded_cb = FCCheckBox('%s' % _("Rounded")) @@ -5773,7 +5780,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.buffer_rounded_cb, 35, 2) - self.buffer_label = QtWidgets.QLabel('%s:' % _("Distance")) + self.buffer_label = FCLabel('%s:' % _("Distance")) self.buffer_label.setToolTip( _("A positive value will create the effect of dilation,\n" "while a negative value will create the effect of erosion.\n" @@ -5798,7 +5805,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.buffer_entry, 37, 1) grid0.addWidget(self.buffer_button, 37, 2) - self.buffer_factor_label = QtWidgets.QLabel('%s:' % _("Value")) + self.buffer_factor_label = FCLabel('%s:' % _("Value")) self.buffer_factor_label.setToolTip( _("A positive value will create the effect of dilation,\n" "while a negative value will create the effect of erosion.\n" @@ -5824,7 +5831,7 @@ class TransformEditorTool(AppTool): grid0.addWidget(self.buffer_factor_entry, 38, 1) grid0.addWidget(self.buffer_factor_button, 38, 2) - grid0.addWidget(QtWidgets.QLabel(''), 42, 0, 1, 3) + grid0.addWidget(FCLabel(''), 42, 0, 1, 3) self.layout.addStretch() diff --git a/appGUI/MainGUI.py b/appGUI/MainGUI.py index 5d6da3a0..42120e4b 100644 --- a/appGUI/MainGUI.py +++ b/appGUI/MainGUI.py @@ -1224,18 +1224,18 @@ class MainGUI(QtWidgets.QMainWindow): self.grid_gap_x_entry.setToolTip(_("Grid X snapping distance")) self.grid_toolbar.addWidget(self.grid_gap_x_entry) - self.grid_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.grid_toolbar.addWidget(FCLabel(" ")) 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.grid_toolbar.addWidget(self.grid_gap_link_cb) - self.grid_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.grid_toolbar.addWidget(FCLabel(" ")) self.grid_gap_y_entry = FCEntry2() self.grid_gap_y_entry.setMaximumWidth(70) self.grid_gap_y_entry.setToolTip(_("Grid Y snapping distance")) self.grid_toolbar.addWidget(self.grid_gap_y_entry) - self.grid_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.grid_toolbar.addWidget(FCLabel(" ")) self.ois_grid = OptionalInputSection(self.grid_gap_link_cb, [self.grid_gap_y_entry], logic=False) @@ -1257,25 +1257,25 @@ class MainGUI(QtWidgets.QMainWindow): self.axis_status_label.setToolTip(_("Toggle the display of axis on canvas")) self.axis_status_label.setPixmap(QtGui.QPixmap(self.app.resource_location + '/axis16.png')) self.status_toolbar.addWidget(self.axis_status_label) - self.status_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.status_toolbar.addWidget(FCLabel(" ")) self.pref_status_label = FCLabel() self.pref_status_label.setToolTip(_("Preferences")) self.pref_status_label.setPixmap(QtGui.QPixmap(self.app.resource_location + '/settings18.png')) self.status_toolbar.addWidget(self.pref_status_label) - self.status_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.status_toolbar.addWidget(FCLabel(" ")) self.shell_status_label = FCLabel() self.shell_status_label.setToolTip(_("Command Line")) self.shell_status_label.setPixmap(QtGui.QPixmap(self.app.resource_location + '/shell20.png')) self.status_toolbar.addWidget(self.shell_status_label) - self.status_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.status_toolbar.addWidget(FCLabel(" ")) self.hud_label = FCLabel() self.hud_label.setToolTip(_("HUD (Heads up display)")) self.hud_label.setPixmap(QtGui.QPixmap(self.app.resource_location + '/hud16.png')) self.status_toolbar.addWidget(self.hud_label) - self.status_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.status_toolbar.addWidget(FCLabel(" ")) self.wplace_label = FCLabel("A4") self.wplace_label.setToolTip(_("Draw a delimiting rectangle on canvas.\n" @@ -1283,12 +1283,12 @@ class MainGUI(QtWidgets.QMainWindow): ) self.wplace_label.setMargin(2) self.status_toolbar.addWidget(self.wplace_label) - self.status_toolbar.addWidget(QtWidgets.QLabel(" ")) + self.status_toolbar.addWidget(FCLabel(" ")) # ####################################################################### # ####################### Delta Coordinates TOOLBAR ##################### # ####################################################################### - self.rel_position_label = QtWidgets.QLabel( + self.rel_position_label = FCLabel( "Dx: 0.0000   Dy: 0.0000    ") self.rel_position_label.setMinimumWidth(110) self.rel_position_label.setToolTip(_("Relative measurement.\nReference is last click position")) @@ -1297,7 +1297,7 @@ class MainGUI(QtWidgets.QMainWindow): # ####################################################################### # ####################### Coordinates TOOLBAR ########################### # ####################################################################### - self.position_label = QtWidgets.QLabel(" X: 0.0000   Y: 0.0000 ") + self.position_label = FCLabel(" X: 0.0000   Y: 0.0000 ") self.position_label.setMinimumWidth(110) self.position_label.setToolTip(_("Absolute measurement.\n" "Reference is (X=0, Y= 0) position")) @@ -1508,7 +1508,7 @@ class MainGUI(QtWidgets.QMainWindow): "to the initial values loaded after first launch.")) self.pref_tab_bottom_layout_1.addWidget(self.pref_defaults_button) - self.pref_open_button = QtWidgets.QPushButton() + self.pref_open_button = FCButton() self.pref_open_button.setText(_("Open Pref Folder")) self.pref_open_button.setIcon(QtGui.QIcon(self.app.resource_location + '/pref.png')) self.pref_open_button.setMinimumWidth(130) @@ -1540,7 +1540,7 @@ class MainGUI(QtWidgets.QMainWindow): _("Apply the current preferences without saving to a file.")) self.pref_tab_bottom_layout_2.addWidget(self.pref_apply_button) - self.pref_save_button = QtWidgets.QPushButton() + self.pref_save_button = FCButton() self.pref_save_button.setIcon(QtGui.QIcon(self.app.resource_location + '/save_as.png')) self.pref_save_button.setText(_("Save")) self.pref_save_button.setMinimumWidth(130) @@ -1549,7 +1549,7 @@ class MainGUI(QtWidgets.QMainWindow): "which is the file storing the working default preferences.")) self.pref_tab_bottom_layout_2.addWidget(self.pref_save_button) - self.pref_close_button = QtWidgets.QPushButton() + self.pref_close_button = FCButton() self.pref_close_button.setText(_("Cancel")) self.pref_close_button.setMinimumWidth(130) self.pref_close_button.setToolTip( @@ -1723,7 +1723,7 @@ class MainGUI(QtWidgets.QMainWindow): self.infobar.addWidget(self.status_toolbar) self.status_toolbar.setVisible(self.app.defaults["global_statusbar_show"]) - self.units_label = QtWidgets.QLabel("[mm]") + self.units_label = FCLabel("[mm]") self.units_label.setToolTip(_("Application units")) self.units_label.setMargin(2) self.infobar.addWidget(self.units_label) diff --git a/appGUI/ObjectUI.py b/appGUI/ObjectUI.py index c320d6c8..b6d3a1fb 100644 --- a/appGUI/ObjectUI.py +++ b/appGUI/ObjectUI.py @@ -62,17 +62,17 @@ class ObjectUI(QtWidgets.QWidget): # ## Page Title icon pixmap = QtGui.QPixmap(icon_file.replace('assets/resources', self.resource_loc)) - self.icon = QtWidgets.QLabel() + self.icon = FCLabel() self.icon.setPixmap(pixmap) self.title_box.addWidget(self.icon, stretch=0) # ## Title label - self.title_label = QtWidgets.QLabel("%s" % title) + self.title_label = FCLabel("%s" % title) self.title_label.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.title_box.addWidget(self.title_label, stretch=1) # ## App Level label - self.level = QtWidgets.QLabel("") + self.level = FCLabel("") self.level.setToolTip( _( "BASIC is suitable for a beginner. Many parameters\n" @@ -100,13 +100,13 @@ class ObjectUI(QtWidgets.QWidget): self.common_grid.setColumnStretch(1, 0) layout.addLayout(self.common_grid) - # self.common_grid.addWidget(QtWidgets.QLabel(''), 1, 0, 1, 2) + # self.common_grid.addWidget(FCLabel(''), 1, 0, 1, 2) separator_line = QtWidgets.QFrame() separator_line.setFrameShape(QtWidgets.QFrame.HLine) separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) self.common_grid.addWidget(separator_line, 1, 0, 1, 2) - self.transform_label = QtWidgets.QLabel('%s' % _('Transformations')) + self.transform_label = FCLabel('%s' % _('Transformations')) self.transform_label.setToolTip( _("Geometrical transformations of the current object.") ) @@ -122,7 +122,7 @@ class ObjectUI(QtWidgets.QWidget): "Expressions are allowed. E.g: 1/25.4") ) # GO Button - self.scale_button = QtWidgets.QPushButton(_('Scale')) + self.scale_button = FCButton(_('Scale')) self.scale_button.setToolTip( _("Perform scaling operation.") ) @@ -140,7 +140,7 @@ class ObjectUI(QtWidgets.QWidget): "Expressions are allowed. E.g: (1/3.2, 0.5*3)") ) - self.offset_button = QtWidgets.QPushButton(_('Offset')) + self.offset_button = FCButton(_('Offset')) self.offset_button.setToolTip( _("Perform the offset operation.") ) @@ -149,7 +149,7 @@ class ObjectUI(QtWidgets.QWidget): self.common_grid.addWidget(self.offsetvector_entry, 4, 0) self.common_grid.addWidget(self.offset_button, 4, 1) - self.transformations_button = QtWidgets.QPushButton(_('Transformations')) + self.transformations_button = FCButton(_('Transformations')) self.transformations_button.setIcon(QtGui.QIcon(self.app.resource_location + '/transform.png')) self.transformations_button.setToolTip( _("Geometrical transformations of the current object.") @@ -194,7 +194,7 @@ class GerberObjectUI(ObjectUI): grid0.setColumnStretch(0, 0) grid0.setColumnStretch(1, 1) - self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) + self.plot_options_label = FCLabel("%s:" % _("Plot Options")) grid0.addWidget(self.plot_options_label, 0, 0) @@ -216,7 +216,7 @@ class GerberObjectUI(ObjectUI): self.name_hlay = QtWidgets.QHBoxLayout() grid0.addLayout(self.name_hlay, 1, 0, 1, 3) - name_label = QtWidgets.QLabel("%s:" % _("Name")) + name_label = FCLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -238,7 +238,7 @@ class GerberObjectUI(ObjectUI): grid0.addWidget(self.follow_cb, 2, 2) # Editor - self.editor_button = QtWidgets.QPushButton(_('Gerber Editor')) + self.editor_button = FCButton(_('Gerber Editor')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setToolTip( _("Start the Object Editor") @@ -278,7 +278,7 @@ class GerberObjectUI(ObjectUI): self.properties_box.setStretch(0, 0) # ### Gerber Apertures #### - self.apertures_table_label = QtWidgets.QLabel('%s:' % _('Apertures')) + self.apertures_table_label = FCLabel('%s:' % _('Apertures')) self.apertures_table_label.setToolTip( _("Apertures Table for the Gerber Object.") ) @@ -336,7 +336,7 @@ class GerberObjectUI(ObjectUI): self.apertures_table.setVisible(False) # Buffer Geometry - self.create_buffer_button = QtWidgets.QPushButton(_('Buffer Solid Geometry')) + self.create_buffer_button = FCButton(_('Buffer Solid Geometry')) self.create_buffer_button.setToolTip( _("This button is shown only when the Gerber file\n" "is loaded without buffering.\n" @@ -350,11 +350,11 @@ class GerberObjectUI(ObjectUI): separator_line1.setFrameShadow(QtWidgets.QFrame.Sunken) grid0.addWidget(separator_line1, 13, 0, 1, 3) - self.tool_lbl = QtWidgets.QLabel('%s' % _("TOOLS")) + self.tool_lbl = FCLabel('%s' % _("TOOLS")) grid0.addWidget(self.tool_lbl, 14, 0, 1, 3) # Isolation Tool - will create isolation paths around the copper features - self.iso_button = QtWidgets.QPushButton(_('Isolation Routing')) + self.iso_button = FCButton(_('Isolation Routing')) # self.iso_button.setIcon(QtGui.QIcon(self.app.resource_location + '/iso_16.png')) self.iso_button.setToolTip( _("Create a Geometry object with\n" @@ -369,7 +369,7 @@ class GerberObjectUI(ObjectUI): grid0.addWidget(self.iso_button, 16, 0, 1, 3) # ## Clear non-copper regions - self.generate_ncc_button = QtWidgets.QPushButton(_('NCC Tool')) + self.generate_ncc_button = FCButton(_('NCC Tool')) self.generate_ncc_button.setIcon(QtGui.QIcon(self.app.resource_location + '/eraser26.png')) self.generate_ncc_button.setToolTip( _("Create the Geometry Object\n" @@ -384,7 +384,7 @@ class GerberObjectUI(ObjectUI): grid0.addWidget(self.generate_ncc_button, 18, 0, 1, 3) # ## Board cutout - self.generate_cutout_button = QtWidgets.QPushButton(_('Cutout Tool')) + self.generate_cutout_button = FCButton(_('Cutout Tool')) self.generate_cutout_button.setIcon(QtGui.QIcon(self.app.resource_location + '/cut32_bis.png')) self.generate_cutout_button.setToolTip( _("Generate the geometry for\n" @@ -430,7 +430,7 @@ class GerberObjectUI(ObjectUI): self.util_box.addLayout(util_grid) # ## Non-copper regions - self.noncopper_label = QtWidgets.QLabel("%s" % _("Non-copper regions")) + self.noncopper_label = FCLabel("%s" % _("Non-copper regions")) self.noncopper_label.setToolTip( _("Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -442,7 +442,7 @@ class GerberObjectUI(ObjectUI): util_grid.addWidget(self.noncopper_label, 0, 0, 1, 3) # Margin - bmlabel = QtWidgets.QLabel('%s:' % _('Boundary Margin')) + bmlabel = FCLabel('%s:' % _('Boundary Margin')) bmlabel.setToolTip( _("Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -464,7 +464,7 @@ class GerberObjectUI(ObjectUI): _("Resulting geometry will have rounded corners.") ) - self.generate_noncopper_button = QtWidgets.QPushButton(_('Generate Geometry')) + self.generate_noncopper_button = FCButton(_('Generate Geometry')) self.generate_noncopper_button.setIcon(QtGui.QIcon(self.app.resource_location + '/geometry32.png')) util_grid.addWidget(self.noncopper_rounded_cb, 4, 0) util_grid.addWidget(self.generate_noncopper_button, 4, 1, 1, 2) @@ -475,7 +475,7 @@ class GerberObjectUI(ObjectUI): util_grid.addWidget(separator_line1, 6, 0, 1, 3) # ## Bounding box - self.boundingbox_label = QtWidgets.QLabel('%s' % _('Bounding Box')) + self.boundingbox_label = FCLabel('%s' % _('Bounding Box')) self.boundingbox_label.setToolTip( _("Create a geometry surrounding the Gerber object.\n" "Square shape.") @@ -483,7 +483,7 @@ class GerberObjectUI(ObjectUI): util_grid.addWidget(self.boundingbox_label, 8, 0, 1, 3) - bbmargin = QtWidgets.QLabel('%s:' % _('Boundary Margin')) + bbmargin = FCLabel('%s:' % _('Boundary Margin')) bbmargin.setToolTip( _("Distance of the edges of the box\n" "to the nearest polygon.") @@ -504,7 +504,7 @@ class GerberObjectUI(ObjectUI): "the margin.") ) - self.generate_bb_button = QtWidgets.QPushButton(_('Generate Geometry')) + self.generate_bb_button = FCButton(_('Generate Geometry')) self.generate_bb_button.setIcon(QtGui.QIcon(self.app.resource_location + '/geometry32.png')) self.generate_bb_button.setToolTip( _("Generate the Geometry object.") @@ -546,7 +546,7 @@ class ExcellonObjectUI(ObjectUI): self.custom_box.addLayout(grid0) # Plot options - self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) + self.plot_options_label = FCLabel("%s:" % _("Plot Options")) # Solid CB self.solid_cb = FCCheckBox(label=_('Solid')) @@ -567,7 +567,7 @@ class ExcellonObjectUI(ObjectUI): # ## Object name self.name_hlay = QtWidgets.QHBoxLayout() - name_label = QtWidgets.QLabel("%s:" % _("Name")) + name_label = FCLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -576,7 +576,7 @@ class ExcellonObjectUI(ObjectUI): grid0.addLayout(self.name_hlay, 2, 0, 1, 3) # Editor - self.editor_button = QtWidgets.QPushButton(_('Excellon Editor')) + self.editor_button = FCButton(_('Excellon Editor')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setToolTip( @@ -617,7 +617,7 @@ class ExcellonObjectUI(ObjectUI): self.properties_box.setStretch(0, 0) # ### Tools Drills #### - self.tools_table_label = QtWidgets.QLabel('%s' % _('Tools Table')) + self.tools_table_label = FCLabel('%s' % _('Tools Table')) self.tools_table_label.setToolTip( _("Tools in this Excellon object\n" "when are used for drilling.") @@ -714,11 +714,11 @@ class ExcellonObjectUI(ObjectUI): separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) grid2.addWidget(separator_line, 0, 0, 1, 2) - self.tool_lbl = QtWidgets.QLabel('%s' % _("TOOLS")) + self.tool_lbl = FCLabel('%s' % _("TOOLS")) grid2.addWidget(self.tool_lbl, 2, 0, 1, 2) # Drilling Tool - will create GCode for drill holes - self.drill_button = QtWidgets.QPushButton(_('Drilling Tool')) + self.drill_button = FCButton(_('Drilling Tool')) self.drill_button.setIcon(QtGui.QIcon(self.app.resource_location + '/drilling_tool32.png')) self.drill_button.setToolTip( _("Generate GCode from the drill holes in an Excellon object.") @@ -732,7 +732,7 @@ class ExcellonObjectUI(ObjectUI): grid2.addWidget(self.drill_button, 4, 0, 1, 2) # Milling Tool - will create GCode for slot holes - self.milling_button = QtWidgets.QPushButton(_('Milling Tool')) + self.milling_button = FCButton(_('Milling Tool')) self.milling_button.setIcon(QtGui.QIcon(self.app.resource_location + '/milling_tool32.png')) self.milling_button.setToolTip( _("Generate a Geometry for milling drills or slots in an Excellon object.") @@ -779,7 +779,7 @@ class ExcellonObjectUI(ObjectUI): self.util_box.addLayout(util_grid) # ### Milling Holes Drills #### - self.mill_hole_label = QtWidgets.QLabel('%s' % _('Milling Geometry')) + self.mill_hole_label = FCLabel('%s' % _('Milling Geometry')) self.mill_hole_label.setToolTip( _("Create Geometry for milling holes.\n" "Select from the Tools Table above the hole dias to be\n" @@ -787,7 +787,7 @@ class ExcellonObjectUI(ObjectUI): ) util_grid.addWidget(self.mill_hole_label, 0, 0, 1, 3) - self.tdlabel = QtWidgets.QLabel('%s:' % _('Milling Diameter')) + self.tdlabel = FCLabel('%s:' % _('Milling Diameter')) self.tdlabel.setToolTip( _("Diameter of the cutting tool.") ) @@ -799,7 +799,7 @@ class ExcellonObjectUI(ObjectUI): self.tooldia_entry.set_range(0.0, 10000.0000) self.tooldia_entry.setSingleStep(0.1) - self.generate_milling_button = QtWidgets.QPushButton(_('Mill Drills')) + self.generate_milling_button = FCButton(_('Mill Drills')) self.generate_milling_button.setToolTip( _("Create the Geometry Object\n" "for milling drills.") @@ -819,7 +819,7 @@ class ExcellonObjectUI(ObjectUI): self.slot_tooldia_entry.set_range(0.0, 10000.0000) self.slot_tooldia_entry.setSingleStep(0.1) - self.generate_milling_slots_button = QtWidgets.QPushButton(_('Mill Slots')) + self.generate_milling_slots_button = FCButton(_('Mill Slots')) self.generate_milling_slots_button.setToolTip( _("Create the Geometry Object\n" "for milling slots.") @@ -874,7 +874,7 @@ class GeometryObjectUI(ObjectUI): grid_header.setColumnStretch(0, 0) grid_header.setColumnStretch(1, 1) - self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) + self.plot_options_label = FCLabel("%s:" % _("Plot Options")) self.plot_options_label.setMinimumWidth(90) grid_header.addWidget(self.plot_options_label, 0, 0) @@ -891,14 +891,14 @@ class GeometryObjectUI(ObjectUI): self.name_hlay = QtWidgets.QHBoxLayout() grid_header.addLayout(self.name_hlay, 2, 0, 1, 3) - name_label = QtWidgets.QLabel("%s:" % _("Name")) + name_label = FCLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) self.name_hlay.addWidget(self.name_entry) # Editor - self.editor_button = QtWidgets.QPushButton(_('Geometry Editor')) + self.editor_button = FCButton(_('Geometry Editor')) self.editor_button.setIcon(QtGui.QIcon(self.app.resource_location + '/edit_file32.png')) self.editor_button.setToolTip( @@ -964,7 +964,7 @@ class GeometryObjectUI(ObjectUI): grid0.setColumnStretch(1, 1) # ### Tools #### - self.tools_table_label = QtWidgets.QLabel('%s:' % _('Tools Table')) + self.tools_table_label = FCLabel('%s:' % _('Tools Table')) self.tools_table_label.setToolTip( _("Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -1052,7 +1052,7 @@ class GeometryObjectUI(ObjectUI): grid1.setColumnStretch(0, 0) grid1.setColumnStretch(1, 1) - self.tool_offset_lbl = QtWidgets.QLabel('%s:' % _('Tool Offset')) + self.tool_offset_lbl = FCLabel('%s:' % _('Tool Offset')) self.tool_offset_lbl.setToolTip( _( "The value to offset the cut when \n" @@ -1074,10 +1074,10 @@ class GeometryObjectUI(ObjectUI): separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) grid1.addWidget(separator_line, 1, 0, 1, 2) - self.tool_sel_label = QtWidgets.QLabel('%s' % _("Add from DB")) + self.tool_sel_label = FCLabel('%s' % _("Add from DB")) grid1.addWidget(self.tool_sel_label, 2, 0, 1, 2) - self.addtool_entry_lbl = QtWidgets.QLabel('%s:' % _('Tool Dia')) + self.addtool_entry_lbl = FCLabel('%s:' % _('Tool Dia')) self.addtool_entry_lbl.setToolTip( _("Diameter for the new tool") ) @@ -1091,14 +1091,14 @@ class GeometryObjectUI(ObjectUI): bhlay = QtWidgets.QHBoxLayout() - self.search_and_add_btn = QtWidgets.QPushButton(_('Search and Add')) + self.search_and_add_btn = FCButton(_('Search and Add')) self.search_and_add_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/plus16.png')) self.search_and_add_btn.setToolTip( _("Add a new tool to the Tool Table\n" "with the diameter specified above.") ) - self.addtool_from_db_btn = QtWidgets.QPushButton(_('Pick from DB')) + self.addtool_from_db_btn = FCButton(_('Pick from DB')) self.addtool_from_db_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/search_db32.png')) self.addtool_from_db_btn.setToolTip( _("Add a new tool to the Tool Table\n" @@ -1120,7 +1120,7 @@ class GeometryObjectUI(ObjectUI): grid2 = QtWidgets.QGridLayout() self.geo_table_box.addLayout(grid2) - self.deltool_btn = QtWidgets.QPushButton(_('Delete')) + self.deltool_btn = FCButton(_('Delete')) self.deltool_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash16.png')) self.deltool_btn.setToolTip( _("Delete a selection of tools in the Tool Table\n" @@ -1155,7 +1155,7 @@ class GeometryObjectUI(ObjectUI): self.geo_param_box.addLayout(self.grid3) # ### Tools Data ## ## - self.tool_data_label = QtWidgets.QLabel( + self.tool_data_label = FCLabel( "%s: %s %d" % (_('Parameters for'), _("Tool"), int(1))) self.tool_data_label.setToolTip( _( @@ -1166,7 +1166,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.tool_data_label, 0, 0, 1, 2) # Tip Dia - self.tipdialabel = QtWidgets.QLabel('%s:' % _('V-Tip Dia')) + self.tipdialabel = FCLabel('%s:' % _('V-Tip Dia')) self.tipdialabel.setToolTip( _( "The tip diameter for V-Shape Tool" @@ -1181,7 +1181,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.tipdia_entry, 1, 1) # Tip Angle - self.tipanglelabel = QtWidgets.QLabel('%s:' % _('V-Tip Angle')) + self.tipanglelabel = FCLabel('%s:' % _('V-Tip Angle')) self.tipanglelabel.setToolTip( _( "The tip angle for V-Shape Tool.\n" @@ -1197,7 +1197,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.tipangle_entry, 2, 1) # Cut Z - self.cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) + self.cutzlabel = FCLabel('%s:' % _('Cut Z')) self.cutzlabel.setToolTip( _( "Cutting depth (negative)\n" @@ -1244,7 +1244,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.maxdepth_entry, 4, 1) # Travel Z - self.travelzlabel = QtWidgets.QLabel('%s:' % _('Travel Z')) + self.travelzlabel = FCLabel('%s:' % _('Travel Z')) self.travelzlabel.setToolTip( _("Height of the tool when\n" "moving without cutting.") @@ -1263,7 +1263,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.travelz_entry, 5, 1) # Feedrate X-Y - self.frlabel = QtWidgets.QLabel('%s:' % _('Feedrate X-Y')) + self.frlabel = FCLabel('%s:' % _('Feedrate X-Y')) self.frlabel.setToolTip( _("Cutting speed in the XY\n" "plane in units per minute") @@ -1277,7 +1277,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.cncfeedrate_entry, 10, 1) # Feedrate Z (Plunge) - self.frzlabel = QtWidgets.QLabel('%s:' % _('Feedrate Z')) + self.frzlabel = FCLabel('%s:' % _('Feedrate Z')) self.frzlabel.setToolTip( _("Cutting speed in the XY\n" "plane in units per minute.\n" @@ -1292,7 +1292,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.feedrate_z_entry, 11, 1) # Feedrate rapids - self.fr_rapidlabel = QtWidgets.QLabel('%s:' % _('Feedrate Rapids')) + self.fr_rapidlabel = FCLabel('%s:' % _('Feedrate Rapids')) self.fr_rapidlabel.setToolTip( _("Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -1335,7 +1335,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.e_cut_entry, 13, 1) # Spindlespeed - self.spindle_label = QtWidgets.QLabel('%s:' % _('Spindle speed')) + self.spindle_label = FCLabel('%s:' % _('Spindle speed')) self.spindle_label.setToolTip( _( "Speed of the spindle in RPM (optional).\n" @@ -1372,7 +1372,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.dwelltime_entry, 15, 1) # Probe depth - self.pdepth_label = QtWidgets.QLabel('%s:' % _("Probe Z depth")) + self.pdepth_label = FCLabel('%s:' % _("Probe Z depth")) self.pdepth_label.setToolTip( _("The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units.") @@ -1389,7 +1389,7 @@ class GeometryObjectUI(ObjectUI): self.pdepth_entry.setVisible(False) # Probe feedrate - self.feedrate_probe_label = QtWidgets.QLabel('%s:' % _("Feedrate Probe")) + self.feedrate_probe_label = FCLabel('%s:' % _("Feedrate Probe")) self.feedrate_probe_label.setToolTip( _("The feedrate used while the probe is probing.") ) @@ -1432,7 +1432,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(separator_line2, 2, 0, 1, 2) # General Parameters - self.gen_param_label = QtWidgets.QLabel('%s' % _("Common Parameters")) + self.gen_param_label = FCLabel('%s' % _("Common Parameters")) self.gen_param_label.setToolTip( _("Parameters that are common for all tools.") ) @@ -1467,7 +1467,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.toolchangez_entry, 6, 1) # The Z value for the start move - # startzlabel = QtWidgets.QLabel('Start move Z:') + # startzlabel = FCLabel('Start move Z:') # startzlabel.setToolTip( # "Tool height just before starting the work.\n" # "Delete the value if you don't need this feature." @@ -1478,7 +1478,7 @@ class GeometryObjectUI(ObjectUI): # grid3.addWidget(self.gstartz_entry, 8, 1) # The Z value for the end move - self.endz_label = QtWidgets.QLabel('%s:' % _('End move Z')) + self.endz_label = FCLabel('%s:' % _('End move Z')) self.endz_label.setToolTip( _("Height of the tool after\n" "the last move at the end of the job.") @@ -1497,7 +1497,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.endz_entry, 9, 1) # End Move X,Y - endmove_xy_label = QtWidgets.QLabel('%s:' % _('End move X,Y')) + endmove_xy_label = FCLabel('%s:' % _('End move X,Y')) endmove_xy_label.setToolTip( _("End move X,Y position. In format (x,y).\n" "If no value is entered then there is no move\n" @@ -1510,7 +1510,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.endxy_entry, 10, 1) # preprocessor selection - pp_label = QtWidgets.QLabel('%s:' % _("Preprocessor")) + pp_label = FCLabel('%s:' % _("Preprocessor")) pp_label.setToolTip( _("The Preprocessor file that dictates\n" "the Machine Code (like GCode, RML, HPGL) output.") @@ -1521,7 +1521,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(pp_label, 11, 0) self.grid4.addWidget(self.pp_geometry_name_cb, 11, 1) - # self.grid4.addWidget(QtWidgets.QLabel(''), 12, 0, 1, 2) + # self.grid4.addWidget(FCLabel(''), 12, 0, 1, 2) # ------------------------------------------------------------------------------------------------------------ # ------------------------- EXCLUSION AREAS ------------------------------------------------------------------ @@ -1594,7 +1594,7 @@ class GeometryObjectUI(ObjectUI): grid_a1.addWidget(self.over_z_entry, 2, 1) # Button Add Area - self.add_area_button = QtWidgets.QPushButton(_('Add Area:')) + self.add_area_button = FCButton(_('Add Area:')) self.add_area_button.setToolTip(_("Add an Exclusion Area.")) # Area Selection shape @@ -1611,11 +1611,11 @@ class GeometryObjectUI(ObjectUI): self.exclusion_box.addLayout(h_lay_1) # Button Delete All Areas - self.delete_area_button = QtWidgets.QPushButton(_('Delete All')) + self.delete_area_button = FCButton(_('Delete All')) self.delete_area_button.setToolTip(_("Delete all exclusion areas.")) # Button Delete Selected Areas - self.delete_sel_area_button = QtWidgets.QPushButton(_('Delete Selected')) + self.delete_sel_area_button = FCButton(_('Delete Selected')) self.delete_sel_area_button.setToolTip(_("Delete all exclusion areas that are selected in the table.")) h_lay_1.addWidget(self.delete_area_button) @@ -1634,7 +1634,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.polish_cb, 15, 0, 1, 2) # Polish Tool Diameter - self.polish_dia_lbl = QtWidgets.QLabel('%s:' % _('Tool Dia')) + self.polish_dia_lbl = FCLabel('%s:' % _('Tool Dia')) self.polish_dia_lbl.setToolTip( _("Diameter for the polishing tool.") ) @@ -1647,7 +1647,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.polish_dia_entry, 16, 1) # Polish Travel Z - self.polish_travelz_lbl = QtWidgets.QLabel('%s:' % _('Travel Z')) + self.polish_travelz_lbl = FCLabel('%s:' % _('Travel Z')) self.polish_travelz_lbl.setToolTip( _("Height of the tool when\n" "moving without cutting.") @@ -1662,7 +1662,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.polish_travelz_entry, 17, 1) # Polish Pressure - self.polish_pressure_lbl = QtWidgets.QLabel('%s:' % _('Pressure')) + self.polish_pressure_lbl = FCLabel('%s:' % _('Pressure')) self.polish_pressure_lbl.setToolTip( _("Negative value. The higher the absolute value\n" "the stronger the pressure of the brush on the material.") @@ -1689,7 +1689,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.polish_margin_entry, 20, 1) # Polish Overlap - self.polish_over_lbl = QtWidgets.QLabel('%s:' % _('Overlap')) + self.polish_over_lbl = FCLabel('%s:' % _('Overlap')) self.polish_over_lbl.setToolTip( _("How much (percentage) of the tool width to overlap each tool pass.") ) @@ -1704,7 +1704,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.polish_over_entry, 22, 1) # Polish Method - self.polish_method_lbl = QtWidgets.QLabel('%s:' % _('Method')) + self.polish_method_lbl = FCLabel('%s:' % _('Method')) self.polish_method_lbl.setToolTip( _("Algorithm for polishing:\n" "- Standard: Fixed step inwards.\n" @@ -1758,7 +1758,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(separator_line2, 26, 0, 1, 2) # Button - self.generate_cnc_button = QtWidgets.QPushButton(_('Generate CNCJob object')) + self.generate_cnc_button = FCButton(_('Generate CNCJob object')) self.generate_cnc_button.setIcon(QtGui.QIcon(self.app.resource_location + '/cnc16.png')) self.generate_cnc_button.setToolTip('%s.\n%s' % ( _("Generate CNCJob object"), @@ -1775,19 +1775,19 @@ class GeometryObjectUI(ObjectUI): """) self.grid4.addWidget(self.generate_cnc_button, 28, 0, 1, 2) - self.grid4.addWidget(QtWidgets.QLabel(''), 30, 0, 1, 2) + self.grid4.addWidget(FCLabel(''), 30, 0, 1, 2) # ############## # Paint area ## # ############## - self.tools_label = QtWidgets.QLabel('%s' % _('TOOLS')) + self.tools_label = FCLabel('%s' % _('TOOLS')) self.tools_label.setToolTip( _("Launch Paint Tool in Tools Tab.") ) self.grid4.addWidget(self.tools_label, 32, 0, 1, 2) # Milling Tool - will create GCode for slot holes - self.milling_button = QtWidgets.QPushButton(_('Milling Tool')) + self.milling_button = FCButton(_('Milling Tool')) self.milling_button.setIcon(QtGui.QIcon(self.app.resource_location + '/milling_tool32.png')) self.milling_button.setToolTip( _("Generate a CNCJob by milling a Geometry.") @@ -1803,7 +1803,7 @@ class GeometryObjectUI(ObjectUI): self.milling_button.setDisabled(True) # Paint Button - self.paint_tool_button = QtWidgets.QPushButton(_('Paint Tool')) + self.paint_tool_button = FCButton(_('Paint Tool')) self.paint_tool_button.setIcon(QtGui.QIcon(self.app.resource_location + '/paint20_1.png')) self.paint_tool_button.setToolTip( _("Creates tool paths to cover the\n" @@ -1819,7 +1819,7 @@ class GeometryObjectUI(ObjectUI): self.grid4.addWidget(self.paint_tool_button, 36, 0, 1, 2) # NCC Tool - self.generate_ncc_button = QtWidgets.QPushButton(_('NCC Tool')) + self.generate_ncc_button = FCButton(_('NCC Tool')) self.generate_ncc_button.setIcon(QtGui.QIcon(self.app.resource_location + '/eraser26.png')) self.generate_ncc_button.setToolTip( _("Create the Geometry Object\n" @@ -1873,7 +1873,7 @@ class CNCObjectUI(ObjectUI): self.custom_box.addLayout(f_lay) # Plot Options - self.cncplot_method_label = QtWidgets.QLabel("%s:" % _("Plot Options")) + self.cncplot_method_label = FCLabel("%s:" % _("Plot Options")) self.cncplot_method_label.setToolTip( _( "This selects the kind of geometries on the canvas to plot.\n" @@ -1896,7 +1896,7 @@ class CNCObjectUI(ObjectUI): f_lay.addLayout(self.name_hlay, 2, 0, 1, 3) # ## Object name - name_label = QtWidgets.QLabel("%s:" % _("Name")) + name_label = FCLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) @@ -1959,26 +1959,26 @@ class CNCObjectUI(ObjectUI): f_lay.addWidget(separator_line, 10, 0, 1, 3) # Travelled Distance - self.t_distance_label = QtWidgets.QLabel("%s:" % _("Travelled distance")) + self.t_distance_label = FCLabel("%s:" % _("Travelled distance")) self.t_distance_label.setToolTip( _("This is the total travelled distance on X-Y plane.\n" "In current units.") ) self.t_distance_entry = FCEntry() - self.units_label = QtWidgets.QLabel() + self.units_label = FCLabel() f_lay.addWidget(self.t_distance_label, 12, 0) f_lay.addWidget(self.t_distance_entry, 12, 1) f_lay.addWidget(self.units_label, 12, 2) # Estimated Time - self.t_time_label = QtWidgets.QLabel("%s:" % _("Estimated time")) + self.t_time_label = FCLabel("%s:" % _("Estimated time")) self.t_time_label.setToolTip( _("This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events.") ) self.t_time_entry = FCEntry() - self.units_time_label = QtWidgets.QLabel() + self.units_time_label = FCLabel() f_lay.addWidget(self.t_time_label, 14, 0) f_lay.addWidget(self.t_time_entry, 14, 1) @@ -1998,7 +1998,7 @@ class CNCObjectUI(ObjectUI): self.custom_box.addLayout(hlay) # CNC Tools Table for plot - self.cnc_tools_table_label = QtWidgets.QLabel('%s' % _('CNC Tools Table')) + self.cnc_tools_table_label = FCLabel('%s' % _('CNC Tools Table')) self.cnc_tools_table_label.setToolTip( _( "Tools in this CNCJob object used for cutting.\n" @@ -2050,7 +2050,7 @@ class CNCObjectUI(ObjectUI): self.custom_box.addWidget(self.tooldia_entry) # Update plot button - self.updateplot_button = QtWidgets.QPushButton(_('Update Plot')) + self.updateplot_button = FCButton(_('Update Plot')) self.updateplot_button.setToolTip( _("Update the plot.") ) @@ -2148,7 +2148,7 @@ class CNCObjectUI(ObjectUI): grid0.addWidget(self.probe_gc_label, 7, 0, 1, 2) # Travel Z Probe - self.ptravelz_label = QtWidgets.QLabel('%s:' % _("Probe Z travel")) + self.ptravelz_label = FCLabel('%s:' % _("Probe Z travel")) self.ptravelz_label.setToolTip( _("The safe Z for probe travelling between probe points.") ) @@ -2160,7 +2160,7 @@ class CNCObjectUI(ObjectUI): grid0.addWidget(self.ptravelz_entry, 9, 1) # Probe depth - self.pdepth_label = QtWidgets.QLabel('%s:' % _("Probe Z depth")) + self.pdepth_label = FCLabel('%s:' % _("Probe Z depth")) self.pdepth_label.setToolTip( _("The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units.") @@ -2173,7 +2173,7 @@ class CNCObjectUI(ObjectUI): grid0.addWidget(self.pdepth_entry, 11, 1) # Probe feedrate - self.feedrate_probe_label = QtWidgets.QLabel('%s:' % _("Probe Feedrate")) + self.feedrate_probe_label = FCLabel('%s:' % _("Probe Feedrate")) self.feedrate_probe_label.setToolTip( _("The feedrate used while the probe is probing.") ) @@ -2225,7 +2225,7 @@ class CNCObjectUI(ObjectUI): self.al_columns_entry = FCSpinner() self.al_columns_entry.setMinimum(2) - self.al_columns_label = QtWidgets.QLabel('%s:' % _("Columns")) + self.al_columns_label = FCLabel('%s:' % _("Columns")) self.al_columns_label.setToolTip( _("The number of grid columns.") ) @@ -2236,7 +2236,7 @@ class CNCObjectUI(ObjectUI): self.al_rows_entry = FCSpinner() self.al_rows_entry.setMinimum(2) - self.al_rows_label = QtWidgets.QLabel('%s:' % _("Rows")) + self.al_rows_label = FCLabel('%s:' % _("Rows")) self.al_rows_label.setToolTip( _("The number of grid rows.") ) @@ -2621,7 +2621,7 @@ class CNCObjectUI(ObjectUI): # ############################################################################################################# # ## Export G-Code ## # ############################################################################################################# - self.export_gcode_label = QtWidgets.QLabel("%s:" % _("Export CNC Code")) + self.export_gcode_label = FCLabel("%s:" % _("Export CNC Code")) self.export_gcode_label.setToolTip( _("Export and save G-Code to\n" "make this object to a file.") @@ -2713,7 +2713,7 @@ class ScriptObjectUI(ObjectUI): self.name_hlay = QtWidgets.QHBoxLayout() self.custom_box.addLayout(self.name_hlay) - name_label = QtWidgets.QLabel("%s:" % _("Name")) + name_label = FCLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -2780,7 +2780,7 @@ class DocumentObjectUI(ObjectUI): self.name_hlay = QtWidgets.QHBoxLayout() self.custom_box.addLayout(self.name_hlay) - name_label = QtWidgets.QLabel("%s:" % _("Name")) + name_label = FCLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -2817,7 +2817,7 @@ class DocumentObjectUI(ObjectUI): self.custom_box.addLayout(self.form_box) # Font - self.font_type_label = QtWidgets.QLabel('%s:' % _("Font Type")) + self.font_type_label = FCLabel('%s:' % _("Font Type")) if sys.platform == "win32": f_current = QtGui.QFont("Arial") @@ -2834,7 +2834,7 @@ class DocumentObjectUI(ObjectUI): self.form_box.addRow(self.font_type_label, self.font_type_cb) # Font Size - self.font_size_label = QtWidgets.QLabel('%s:' % _("Font Size")) + self.font_size_label = FCLabel('%s:' % _("Font Size")) self.font_size_cb = FCComboBox() self.font_size_cb.setEditable(True) @@ -2870,7 +2870,7 @@ class DocumentObjectUI(ObjectUI): self.form_box.addRow(self.font_size_label, size_hlay) # Alignment Choices - self.alignment_label = QtWidgets.QLabel('%s:' % _("Alignment")) + self.alignment_label = FCLabel('%s:' % _("Alignment")) al_hlay = QtWidgets.QHBoxLayout() @@ -2897,12 +2897,12 @@ class DocumentObjectUI(ObjectUI): self.form_box.addRow(self.alignment_label, al_hlay) # Font Color - self.font_color_label = QtWidgets.QLabel('%s:' % _('Font Color')) + self.font_color_label = FCLabel('%s:' % _('Font Color')) self.font_color_label.setToolTip( _("Set the font color for the selected text") ) self.font_color_entry = FCEntry() - self.font_color_button = QtWidgets.QPushButton() + self.font_color_button = FCButton() self.font_color_button.setFixedSize(15, 15) self.form_box_child_1 = QtWidgets.QHBoxLayout() @@ -2913,12 +2913,12 @@ class DocumentObjectUI(ObjectUI): self.form_box.addRow(self.font_color_label, self.form_box_child_1) # Selection Color - self.sel_color_label = QtWidgets.QLabel('%s:' % _('Selection Color')) + self.sel_color_label = FCLabel('%s:' % _('Selection Color')) self.sel_color_label.setToolTip( _("Set the selection color when doing text selection.") ) self.sel_color_entry = FCEntry() - self.sel_color_button = QtWidgets.QPushButton() + self.sel_color_button = FCButton() self.sel_color_button.setFixedSize(15, 15) self.form_box_child_2 = QtWidgets.QHBoxLayout() @@ -2929,7 +2929,7 @@ class DocumentObjectUI(ObjectUI): self.form_box.addRow(self.sel_color_label, self.form_box_child_2) # Tab size - self.tab_size_label = QtWidgets.QLabel('%s:' % _('Tab Size')) + self.tab_size_label = FCLabel('%s:' % _('Tab Size')) self.tab_size_label.setToolTip( _("Set the tab size. In pixels. Default value is 80 pixels.") ) diff --git a/assets/resources/clean32.png b/assets/resources/clean32.png new file mode 100644 index 0000000000000000000000000000000000000000..ab2ef79088aedf80344d5dfc1e972e9088255500 GIT binary patch literal 733 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*`IK;GDum>R44#CfpN8`i(`n#@wZn_drwIeIsUQ# zu!ZpAl8cI78536@(!0dUB)Ch*DeEGy%EATGEO}gS@;MfAsBo|;t8`^d7Q5u2*EA*X z0;?!jREnUY1WRW(+p4oBpMSOO`+Q5!>in}ghb#A;e?RB>!-xBiZm$Z@)o$;+(U9CW z_n-6uabq_zz7rM6%WEtr_Hf?NU48I)t9Hicn-K)#UZ2R(cA*51nbc46^P|LBDq zx76|LJvHs-tB{J0S}WBv z77u5+3O2~=9iMq*f8KruM&F2Zj>E4CfHA3B;u=wsl30>zm0Xkxq!^40j0|)Q4RsAn zLktY8jLfV|&9s3G1A|>mpOjEEk4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*`IK;GVll<=ZbyFz`(5S>EamTaeV4kZ=X4#BJ3aH zJ2`?4UYZ;`#=^Dr!UgxFnFrS0eXxkr@Rqwl;A(B(SyBtQb;}+v@?;F>ogJ2aCDw5B z^aD;xx~)kfi&h>9@=lEixy1TDsO#L08U6i|X&H|q?^eI7yz|-q`M>vOKcBF!&;GE= z%i7?1WBk|O_mbAV+$MAOwB6@@9f9U|%)94)v(idCS~~ytWn+~`i&TT7raYfBHGATR zkmZZk-dX)8?VNg7^Iy)pj~?xkhT9?eVml9yiZig=MwD@@3iL%(;`KE~Z_* z_vK+|aM#78$k+!0rLLLx;;u$t>*>h6ekpkS8dZjs$Ja<`^?I*3_gKz&wfc&Gb5xh^ z(UpwbekA$rDcdPU!7(v+w%cv7<+<>14k?DO_>r`go;8QZnpcbu;}no zXgf9Dv%|xF*{?kT=}i&hDm^p4rACE5UHRE)e(~CG0^M7l*gfZ-cVlzioy@r2Qm2*N z982|8rr7t)x7$D3zhSyj(9cFS|H7u^?41 WzbJk7I~ysWA_h-aKbLh*2~7Zil;EHM literal 0 HcmV?d00001 diff --git a/assets/resources/dark_resources/clean32.png b/assets/resources/dark_resources/clean32.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d3af81ad6c986f42575ad93d62ca93f757032c GIT binary patch literal 833 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*`IK;GDr(-?R)tWsEOax#WBR=_}fXo9wLbn$N!%{ zV{uGl>Tc_9y%G%$uHXL}99mX5>$s+{P7Amo&N0ubglkt<0E-|?x1e0tizQRHTySEa zx=(>yl*>Bh;*&GK{id{rSX=wEUyqf((Z4bJ%ba=7|L^-#@$dh4)_>tIW_6x={jTrP znikeSHV^rqTm5G`pqG}Ja*^S5K>TGr)!2|N1q`+Q^3F=X5-&;@2+gmkSs284V3+7` z=Zr;ZHXMu-?*3vB&$%UC(G-2=cqo%vwkv<;4vlv=RzDLl^;G`hc2kRSqD5J;{X9*! z+|$xoj<)GeE@_fU0X(Nnizn|6xg)e!Nl>lCXT7-W=e@-@EH&S;<%j%W?@g9Cz25(m z#jB4tDhm7E=U&sDeRHu$82fn*jT3tHt`9Gm=`%MJ%Pmejmits?+o#qa0g(-tPaLaR z|HnX=VM6BDj_o&VSbVPO?a$pdb)&+$NpTYQj{IVDc=JR(&idv#wKq$(e}tMf$GGV- zn9R(#np*sC>kG%5hih;6fA?lu_WDZSB2}r}8B7e-%68AfE^!-NI~sqBZNHYJ()Ar{ zkItW2d;1ID11Zaf%R5$Xt$aHt^w?hyo8DL5rV}TzA5r~%!6(G#&mJG1`rauuZraP< zMhhq~Tq?Zs-!J$^lSp48Q}#zWXNCij@8g`<7#4~9|MV`M9mu?Gb~=+{k$kCUmwooU zN#+@ztl4()yc3Vu$M0u+Ja32LhTX@dfT=~b#5JNMC9x#cD!C{XNHG{07#Zjq8tNLD zh8P%F8JSxdnrQ9nO2Eg!-DJjQ9uonARB`7(@M${i&7cN%ggmL e^RkPR6AM!H@{7`Ezq0{3gTd3)&t;ucLK6T2{Y0Vw literal 0 HcmV?d00001 diff --git a/assets/resources/dark_resources/convert32.png b/assets/resources/dark_resources/convert32.png new file mode 100644 index 0000000000000000000000000000000000000000..f328d4c6fe6c8a5820b4e87f0fd26acdbe51f9b3 GIT binary patch literal 1404 zcmZ`(X;hL46#WztjiWhQnU)Tg%Oqvs8f23j2gohAgLJS^0V8+76m*m{)6zx~ai5_^ zQ*#P6MRO@NO%yQ;Gc%W_LUBOrjAgbv_;Y^DkNfU>_q}`WzjyI?0M=lO`4#{G4DdLg zU=71Ip{Jv%)6Cmh8q$gJ^!EgSmLllaNbu$|8W-#j032HY;GPG7&l-ul1OO=r08o(u z09_6Mrb*RZLGGG`c9bvH2LKu`?{(Bn`bjt<695bcH=!kf8}8DG5EkAa15rT1fPqe{ zEZ<)~+4JaNR_xo2 zDA^$&hUHc#_amEj^O7$v{Yn{-C64IMSp~60-4JCj40QK7Dz=Q7^tF4a9-!sLhgdcf zQ@R#o+_)WcnYR+CsSds}##Of)Kg)Ye?i`Mgm4B14^*T9XWb>V?F6!ljX-BL!Jc!vG zv9+S8Z7U0x+J(O~83|bIfFcf^N>v%v{=x{_bCGJZH~>}D&EmiGE%U1>wQeT`&%#u& z7Whe?GkB#|mP7AU1+IK|Nt@W8z4EXs6aHUR&((lb)}woo019$k1kw z^XegXuUAn^JcXYrS7+_oD$1QG+KM;oW8nkx`dA~agZ5LNMLriyxo>!d&fU6n;qED@ z(p*fxQkalePKaV?^DxDaEfV;(gka^N=l3W9)LG*O}b+quRL-<%l)GOcM zW%zu?51pcU1(vJItJX3Z0tHC#k&wz0QJJ@6K~)9oa%ShD!bTf1vs2gNX{2d7xyjh? zR{4BMF2j9=IX=R%c>0o*Gv@VBq9;Fy?eDRxd0>0Lrc80~y(wwQ#aJ*?L@0Gm4sFjt z)olbbvdOTbqpcIaf4I4d)hgb_P&T~o;^>go&-`ZD1Icw4p1i4SWrxrGRXG682G0hr zAyML~BZL>3pUqcP3G4^_^onW~ys*sn%a{E>sq3aM+m|9h(&&HeJu-QxWoidLz2eV_ z>;5G)H?jBZ0e7}4^^W3 zuNsTObUZL0hbISn7U462?lZv%p;gYiwMe!ta*l}3(T=0^4k{{8r@r6gdz}Vq!Sw94A(RWgn7G%{eKMci4;1G z{r`qo^~X|;!E7@jB$38Sjbu=P)YMc5dO|ESIx>mskjRLsdgE@cIRfyQ03VSTIs0F3 C-FaXD literal 0 HcmV?d00001 diff --git a/assets/resources/dark_resources/scale32.png b/assets/resources/dark_resources/scale32.png index 079fe53951b7b3b07a4cc49e82bd688e6e11af6a..fb5a607b60b5e15a9e9ee8e65df48c0830be95c7 100644 GIT binary patch delta 711 zcmZ3%`iX5qS3Nf?gDjgk!*4qV1||nj7sn8f<433L_m)nSIBx&`shhW7lGKZU0F?wa zQ&|x%-K&a{-T(NHPV3wC<@mEj$+xcrZ4cVT!8$$ag6|6FMSf1Xff`E-zCSTwUs$qZ z_i|@bwMkdvTkDoTuDtiW`2O?iJ?#IZ*&ev}*D?#;53-(g)$T(5+Md__Zk`_Nn|hp; zJZg)K(>Tt=Rb4;tdRq*RAGMuq@)) z{+a*V>YwH5CK_yJUn4&!;mc>6w2#xLrkdU64BN3tW|A4xp7#0&-D}va8>~Mmc3K|b zJ-9Zn$sqa?r;h02EAucCxYhL@MJR@+n&EwT3oA*xkk$S^y z_~4An~j}3UFNIpws7)OuMB2=bR_zPk*nE^ z|6EtM`UM14>izd&Uh*=uu%5N>$mi@wT)OAIw&@oAomKIO%iro!knNP43p5T}L`TN^6_(@xT5b zzfQj7MSpsjA9u&(`%ID&1}3_OCLsm}R)(flrUtqO##ROfvL|*OpDe(PT{34XQ}tv= GW<1s~s!u#yrw!Yr5+a!*b9!!+fEv&{pqu4c?CK1&3RC_^w`8ls|j@ zt#9zc=X&4g70-KKd+)I2_kvr~n8ag`npc0)dpud*>(Y%Qx-Q%5Q*{&Ly)UYo{CRUZ zgvC+T)G@#{SRf^Z#ZfraF~B)iAmqUvhttma8xy(b7lup8h6p@t=DJn!Y`6Mham`iQ zGOu5;mLB~daca-3nxt#Wyu9m|D{3_rDIKh3Z;B0gC;suw8Li+?=YAR6&Iq0A+pwPd z+TG1&%1J!`Vm>Iv<$GTCs`q)bQGf5{VCQ?HzN)`^rGl#dlMe#j@VYcA< z-`2JlLN~nJ*ZeQNTxz-POo>OIo|x?WQmXTE zmh{P^mMRrb|3>7zR?eol3(*z>cM85kJjJzX3_JdR(TV(Wh>K%!ONZqejI^NSX4Iz9?!?(SEtMc>{Gy-E!K0!_m-x#EZ|K?GYs7B$`;4Lg#r=hk(;2>- zIFu<@u}-StI<~%H&4T$nToNl*EMENSz>JQ+(?7DR+PQ4G<1bvoz`&qd;u=vh*^`OS z$Iw#O&_LJFG{nHt%GlD%)I!_9#LB=Rs&zp&OkGN1Nvc(DeoAIqC4-Rx4h`BjB(6_h H%wz}vD>TTU