Deduplicate code in PreferencesUIManager.show_preferences_gui()
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
|
from typing import Any, Dict
|
||||||
|
|
||||||
from PyQt5 import QtGui, QtCore, QtWidgets
|
from PyQt5 import QtGui, QtCore, QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
from defaults import FlatCAMDefaults
|
from defaults import FlatCAMDefaults
|
||||||
@@ -583,15 +585,44 @@ class PreferencesUIManager:
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.child_forms = {
|
||||||
|
"general": ui.general_defaults_form,
|
||||||
|
"gerber": ui.gerber_defaults_form,
|
||||||
|
"excellon": ui.excellon_defaults_form,
|
||||||
|
"geometry": ui.geometry_defaults_form,
|
||||||
|
"cncjob": ui.cncjob_defaults_form,
|
||||||
|
"tools": ui.tools_defaults_form,
|
||||||
|
"tools2": ui.tools2_defaults_form,
|
||||||
|
"util": ui.util_defaults_form
|
||||||
|
}
|
||||||
|
self.child_scroll_areas = {
|
||||||
|
"general": ui.general_scroll_area,
|
||||||
|
"gerber": ui.gerber_scroll_area,
|
||||||
|
"excellon": ui.excellon_scroll_area,
|
||||||
|
"geometry": ui.geometry_scroll_area,
|
||||||
|
"cncjob": ui.cncjob_scroll_area,
|
||||||
|
"tools": ui.tools_scroll_area,
|
||||||
|
"tools2": ui.tools2_scroll_area,
|
||||||
|
"util": ui.fa_scroll_area
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_form_fields(self) -> Dict[str, Any]:
|
||||||
|
return self.defaults_form_fields
|
||||||
|
|
||||||
|
def get_form_field(self, option: str) -> Any:
|
||||||
|
return self.get_form_fields()[option]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def defaults_read_form(self):
|
def defaults_read_form(self):
|
||||||
"""
|
"""
|
||||||
Will read all the values in the Preferences GUI and update the defaults dictionary.
|
Will read all the values in the Preferences GUI and update the defaults dictionary.
|
||||||
|
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
for option in self.defaults_form_fields:
|
for option in self.get_form_fields():
|
||||||
try:
|
try:
|
||||||
self.defaults[option] = self.defaults_form_fields[option].get_value()
|
self.defaults[option] = self.get_form_field(option=option).get_value()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.debug("App.defaults_read_form() --> %s" % str(e))
|
log.debug("App.defaults_read_form() --> %s" % str(e))
|
||||||
|
|
||||||
@@ -633,7 +664,7 @@ class PreferencesUIManager:
|
|||||||
if factor is not None:
|
if factor is not None:
|
||||||
value *= factor
|
value *= factor
|
||||||
|
|
||||||
form_field = self.defaults_form_fields[field]
|
form_field = self.get_form_field(option=field)
|
||||||
if units is None:
|
if units is None:
|
||||||
form_field.set_value(value)
|
form_field.set_value(value)
|
||||||
elif (units == 'IN' or units == 'MM') and (field == 'global_gridx' or field == 'global_gridy'):
|
elif (units == 'IN' or units == 'MM') and (field == 'global_gridx' or field == 'global_gridy'):
|
||||||
@@ -651,69 +682,15 @@ class PreferencesUIManager:
|
|||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
gen_form = self.ui.general_defaults_form
|
for section in self.child_scroll_areas:
|
||||||
try:
|
scroll_area = self.child_scroll_areas[section]
|
||||||
self.ui.general_scroll_area.takeWidget()
|
form = self.child_forms[section]
|
||||||
except Exception:
|
try:
|
||||||
log.debug("Nothing to remove")
|
scroll_area.takeWidget()
|
||||||
self.ui.general_scroll_area.setWidget(gen_form)
|
except Exception:
|
||||||
gen_form.show()
|
log.debug("Nothing to remove for section "+section)
|
||||||
|
scroll_area.setWidget(form)
|
||||||
ger_form = self.ui.gerber_defaults_form
|
form.show()
|
||||||
try:
|
|
||||||
self.ui.gerber_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.gerber_scroll_area.setWidget(ger_form)
|
|
||||||
ger_form.show()
|
|
||||||
|
|
||||||
exc_form = self.ui.excellon_defaults_form
|
|
||||||
try:
|
|
||||||
self.ui.excellon_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.excellon_scroll_area.setWidget(exc_form)
|
|
||||||
exc_form.show()
|
|
||||||
|
|
||||||
geo_form = self.ui.geometry_defaults_form
|
|
||||||
try:
|
|
||||||
self.ui.geometry_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.geometry_scroll_area.setWidget(geo_form)
|
|
||||||
geo_form.show()
|
|
||||||
|
|
||||||
cnc_form = self.ui.cncjob_defaults_form
|
|
||||||
try:
|
|
||||||
self.ui.cncjob_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.cncjob_scroll_area.setWidget(cnc_form)
|
|
||||||
cnc_form.show()
|
|
||||||
|
|
||||||
tools_form = self.ui.tools_defaults_form
|
|
||||||
try:
|
|
||||||
self.ui.tools_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.tools_scroll_area.setWidget(tools_form)
|
|
||||||
tools_form.show()
|
|
||||||
|
|
||||||
tools2_form = self.ui.tools2_defaults_form
|
|
||||||
try:
|
|
||||||
self.ui.tools2_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.tools2_scroll_area.setWidget(tools2_form)
|
|
||||||
tools2_form.show()
|
|
||||||
|
|
||||||
fa_form = self.ui.util_defaults_form
|
|
||||||
try:
|
|
||||||
self.ui.fa_scroll_area.takeWidget()
|
|
||||||
except Exception:
|
|
||||||
log.debug("Nothing to remove")
|
|
||||||
self.ui.fa_scroll_area.setWidget(fa_form)
|
|
||||||
fa_form.show()
|
|
||||||
|
|
||||||
# Initialize the color box's color in Preferences -> Global -> Colo
|
# Initialize the color box's color in Preferences -> Global -> Colo
|
||||||
self.__init_color_pickers()
|
self.__init_color_pickers()
|
||||||
|
|||||||
Reference in New Issue
Block a user