Menu icons location changes restored and will be addressed in future update with better mechanism. FCLabel calls updated where possible based on new method parameters

This commit is contained in:
Ali Khalil
2022-04-18 11:32:33 +03:00
parent 84cdc87030
commit ce4b43bd36
45 changed files with 323 additions and 385 deletions

View File

@@ -268,24 +268,6 @@ class App(QtCore.QObject):
# used when loading a project and restoring objects
restore_project_objects_sig = pyqtSignal(object, str, bool, bool)
# Mapping of colors used for text on Light theme to
# similar colors safe for use on Dark theme
# 'input_color': (light_color, dark_color),
theme_safe_colors = {
"blue": "#1F80FF",
"brown": "#CC9966",
"darkgreen": "#008015",
"darkorange": "darkorange",
"green": "#00CC22",
"indigo": "#9457EB",
"magenta": "magenta",
"orange": "orange",
"purple": "#B284BE",
"red": "salmon",
"teal": "teal",
"tomato": "tomato",
}
def __init__(self, qapp, user_defaults=True):
"""
Starts the application.
@@ -1911,146 +1893,132 @@ class App(QtCore.QObject):
self.shell = FCShell(app=self, version=self.version)
self.log.debug("TCL was re-instantiated. TCL variables are reset.")
# The menu bar theming differs between operating systems
# Windows menu theme is controlled by the application
# MacOS menu theme is controlled by OS
if sys.platform == 'win32':
if self.options["global_theme"] == 'light':
menu_resource_location = 'assets/resources'
else:
menu_resource_location = 'assets/resources/dark_resources'
else:
if darkdetect.isLight():
menu_resource_location = 'assets/resources'
else:
menu_resource_location = 'assets/resources/dark_resources'
self.distance_tool = Distance(self)
self.distance_tool.install(icon=QtGui.QIcon(menu_resource_location + '/distance16.png'), pos=self.ui.menuedit,
self.distance_tool.install(icon=QtGui.QIcon(self.resource_location + '/distance16.png'), pos=self.ui.menuedit,
before=self.ui.menuedit_numeric_move,
separator=False)
self.distance_min_tool = ObjectDistance(self)
self.distance_min_tool.install(icon=QtGui.QIcon(menu_resource_location + '/distance_min16.png'),
self.distance_min_tool.install(icon=QtGui.QIcon(self.resource_location + '/distance_min16.png'),
pos=self.ui.menuedit,
before=self.ui.menuedit_numeric_move,
separator=True)
self.dblsidedtool = DblSidedTool(self)
self.dblsidedtool.install(icon=QtGui.QIcon(menu_resource_location + '/doubleside16.png'), separator=False)
self.dblsidedtool.install(icon=QtGui.QIcon(self.resource_location + '/doubleside16.png'), separator=False)
self.cal_exc_tool = ToolCalibration(self)
self.cal_exc_tool.install(icon=QtGui.QIcon(menu_resource_location + '/calibrate_16.png'),
self.cal_exc_tool.install(icon=QtGui.QIcon(self.resource_location + '/calibrate_16.png'),
pos=self.ui.menu_plugins,
before=self.dblsidedtool.menuAction,
separator=False)
self.align_objects_tool = AlignObjects(self)
self.align_objects_tool.install(icon=QtGui.QIcon(menu_resource_location + '/align16.png'), separator=False)
self.align_objects_tool.install(icon=QtGui.QIcon(self.resource_location + '/align16.png'), separator=False)
self.extract_tool = ToolExtract(self)
self.extract_tool.install(icon=QtGui.QIcon(menu_resource_location + '/extract32.png'), separator=True)
self.extract_tool.install(icon=QtGui.QIcon(self.resource_location + '/extract32.png'), separator=True)
self.panelize_tool = Panelize(self)
self.panelize_tool.install(icon=QtGui.QIcon(menu_resource_location + '/panelize16.png'))
self.panelize_tool.install(icon=QtGui.QIcon(self.resource_location + '/panelize16.png'))
self.film_tool = Film(self)
self.film_tool.install(icon=QtGui.QIcon(menu_resource_location + '/film32.png'))
self.film_tool.install(icon=QtGui.QIcon(self.resource_location + '/film32.png'))
self.paste_tool = SolderPaste(self)
self.paste_tool.install(icon=QtGui.QIcon(menu_resource_location + '/solderpastebis32.png'))
self.paste_tool.install(icon=QtGui.QIcon(self.resource_location + '/solderpastebis32.png'))
self.calculator_tool = ToolCalculator(self)
self.calculator_tool.install(icon=QtGui.QIcon(menu_resource_location + '/calculator16.png'), separator=True)
self.calculator_tool.install(icon=QtGui.QIcon(self.resource_location + '/calculator16.png'), separator=True)
self.sub_tool = ToolSub(self)
self.sub_tool.install(icon=QtGui.QIcon(menu_resource_location + '/sub32.png'),
self.sub_tool.install(icon=QtGui.QIcon(self.resource_location + '/sub32.png'),
pos=self.ui.menu_plugins, separator=True)
self.rules_tool = RulesCheck(self)
self.rules_tool.install(icon=QtGui.QIcon(menu_resource_location + '/rules32.png'),
self.rules_tool.install(icon=QtGui.QIcon(self.resource_location + '/rules32.png'),
pos=self.ui.menu_plugins, separator=False)
self.optimal_tool = ToolOptimal(self)
self.optimal_tool.install(icon=QtGui.QIcon(menu_resource_location + '/open_excellon32.png'),
self.optimal_tool.install(icon=QtGui.QIcon(self.resource_location + '/open_excellon32.png'),
pos=self.ui.menu_plugins, separator=True)
self.move_tool = ToolMove(self)
self.move_tool.install(icon=QtGui.QIcon(menu_resource_location + '/move16.png'), pos=self.ui.menuedit,
self.move_tool.install(icon=QtGui.QIcon(self.resource_location + '/move16.png'), pos=self.ui.menuedit,
before=self.ui.menuedit_numeric_move, separator=True)
self.cutout_tool = CutOut(self)
self.cutout_tool.install(icon=QtGui.QIcon(menu_resource_location + '/cut32.png'), pos=self.ui.menu_plugins,
self.cutout_tool.install(icon=QtGui.QIcon(self.resource_location + '/cut32.png'), pos=self.ui.menu_plugins,
before=self.sub_tool.menuAction)
self.ncclear_tool = NonCopperClear(self)
self.ncclear_tool.install(icon=QtGui.QIcon(menu_resource_location + '/ncc32.png'), pos=self.ui.menu_plugins,
self.ncclear_tool.install(icon=QtGui.QIcon(self.resource_location + '/ncc32.png'), pos=self.ui.menu_plugins,
before=self.sub_tool.menuAction, separator=True)
self.paint_tool = ToolPaint(self)
self.paint_tool.install(icon=QtGui.QIcon(menu_resource_location + '/paint20_1.png'), pos=self.ui.menu_plugins,
self.paint_tool.install(icon=QtGui.QIcon(self.resource_location + '/paint20_1.png'), pos=self.ui.menu_plugins,
before=self.sub_tool.menuAction, separator=True)
self.isolation_tool = ToolIsolation(self)
self.isolation_tool.install(icon=QtGui.QIcon(menu_resource_location + '/iso_16.png'), pos=self.ui.menu_plugins,
self.isolation_tool.install(icon=QtGui.QIcon(self.resource_location + '/iso_16.png'), pos=self.ui.menu_plugins,
before=self.sub_tool.menuAction, separator=True)
self.follow_tool = ToolFollow(self)
self.follow_tool.install(icon=QtGui.QIcon(menu_resource_location + '/follow32.png'), pos=self.ui.menu_plugins,
self.follow_tool.install(icon=QtGui.QIcon(self.resource_location + '/follow32.png'), pos=self.ui.menu_plugins,
before=self.sub_tool.menuAction, separator=True)
self.drilling_tool = ToolDrilling(self)
self.drilling_tool.install(icon=QtGui.QIcon(menu_resource_location + '/extract_drill32.png'),
self.drilling_tool.install(icon=QtGui.QIcon(self.resource_location + '/extract_drill32.png'),
pos=self.ui.menu_plugins, before=self.sub_tool.menuAction, separator=True)
self.milling_tool = ToolMilling(self)
self.milling_tool.install(icon=QtGui.QIcon(menu_resource_location + '/milling_tool32.png'),
self.milling_tool.install(icon=QtGui.QIcon(self.resource_location + '/milling_tool32.png'),
pos=self.ui.menu_plugins, before=self.sub_tool.menuAction, separator=True)
self.levelling_tool = ToolLevelling(self)
self.levelling_tool.install(icon=QtGui.QIcon(menu_resource_location + '/level32.png'),
self.levelling_tool.install(icon=QtGui.QIcon(self.resource_location + '/level32.png'),
pos=self.ui.menuoptions_experimental, separator=True)
self.copper_thieving_tool = ToolCopperThieving(self)
self.copper_thieving_tool.install(icon=QtGui.QIcon(menu_resource_location + '/copperfill32.png'),
self.copper_thieving_tool.install(icon=QtGui.QIcon(self.resource_location + '/copperfill32.png'),
pos=self.ui.menu_plugins)
self.fiducial_tool = ToolFiducials(self)
self.fiducial_tool.install(icon=QtGui.QIcon(menu_resource_location + '/fiducials_32.png'),
self.fiducial_tool.install(icon=QtGui.QIcon(self.resource_location + '/fiducials_32.png'),
pos=self.ui.menu_plugins)
self.qrcode_tool = QRCode(self)
self.qrcode_tool.install(icon=QtGui.QIcon(menu_resource_location + '/qrcode32.png'),
self.qrcode_tool.install(icon=QtGui.QIcon(self.resource_location + '/qrcode32.png'),
pos=self.ui.menu_plugins)
self.punch_tool = ToolPunchGerber(self)
self.punch_tool.install(icon=QtGui.QIcon(menu_resource_location + '/punch32.png'), pos=self.ui.menu_plugins)
self.punch_tool.install(icon=QtGui.QIcon(self.resource_location + '/punch32.png'), pos=self.ui.menu_plugins)
self.invert_tool = ToolInvertGerber(self)
self.invert_tool.install(icon=QtGui.QIcon(menu_resource_location + '/invert32.png'), pos=self.ui.menu_plugins)
self.invert_tool.install(icon=QtGui.QIcon(self.resource_location + '/invert32.png'), pos=self.ui.menu_plugins)
self.markers_tool = ToolMarkers(self)
self.markers_tool.install(icon=QtGui.QIcon(menu_resource_location + '/corners_32.png'),
self.markers_tool.install(icon=QtGui.QIcon(self.resource_location + '/corners_32.png'),
pos=self.ui.menu_plugins)
self.etch_tool = ToolEtchCompensation(self)
self.etch_tool.install(icon=QtGui.QIcon(menu_resource_location + '/etch_32.png'), pos=self.ui.menu_plugins)
self.etch_tool.install(icon=QtGui.QIcon(self.resource_location + '/etch_32.png'), pos=self.ui.menu_plugins)
self.transform_tool = ToolTransform(self)
self.transform_tool.install(icon=QtGui.QIcon(menu_resource_location + '/transform.png'),
self.transform_tool.install(icon=QtGui.QIcon(self.resource_location + '/transform.png'),
pos=self.ui.menuoptions, separator=True)
self.report_tool = ObjectReport(self)
self.report_tool.install(icon=QtGui.QIcon(menu_resource_location + '/properties32.png'),
self.report_tool.install(icon=QtGui.QIcon(self.resource_location + '/properties32.png'),
pos=self.ui.menuoptions)
self.pdf_tool = ToolPDF(self)
self.pdf_tool.install(icon=QtGui.QIcon(menu_resource_location + '/pdf32.png'),
self.pdf_tool.install(icon=QtGui.QIcon(self.resource_location + '/pdf32.png'),
pos=self.ui.menufileimport,
separator=True)
try:
self.image_tool = ToolImage(self)
self.image_tool.install(icon=QtGui.QIcon(menu_resource_location + '/image32.png'),
self.image_tool.install(icon=QtGui.QIcon(self.resource_location + '/image32.png'),
pos=self.ui.menufileimport,
separator=True)
except Exception as im_err:
@@ -2058,7 +2026,7 @@ class App(QtCore.QObject):
self.image_tool = lambda x: None
self.pcb_wizard_tool = PcbWizard(self)
self.pcb_wizard_tool.install(icon=QtGui.QIcon(menu_resource_location + '/drill32.png'),
self.pcb_wizard_tool.install(icon=QtGui.QIcon(self.resource_location + '/drill32.png'),
pos=self.ui.menufileimport)
# create a list of plugins references
@@ -9472,23 +9440,7 @@ class App(QtCore.QObject):
return float('%.*f' % (dec_nr, float(val)))
def theme_safe_color(self, color):
"""
Some colors do not work well with light or dark backgrounds making them unreadable in the wrong
theme. For an approved color value this will return a similar color better suited for the current theme.
:param color: color to be replaced
:return: similar color better suited for dark or light theme
"""
if color in self.theme_safe_colors:
if self.options['global_theme'] == 'light':
return color
else:
return self.theme_safe_colors[color]
else:
# Arbitratily selected fail-safe color
return 'green'
class ArgsThread(QtCore.QObject):
open_signal = pyqtSignal(list)