diff --git a/AppGUI/GUIElements.py b/AppGUI/GUIElements.py index 5d6d4c07..1af35470 100644 --- a/AppGUI/GUIElements.py +++ b/AppGUI/GUIElements.py @@ -750,6 +750,9 @@ class FCSliderWithSpinner(QtWidgets.QFrame): self.spinner.set_step(step) self.spinner.setMinimumWidth(70) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.spinner.setSizePolicy(sizePolicy) + self.layout = QtWidgets.QHBoxLayout() self.layout.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.layout.setContentsMargins(0, 0, 0, 0) diff --git a/AppGUI/preferences/PreferencesUIManager.py b/AppGUI/preferences/PreferencesUIManager.py index a712c127..c0bfba22 100644 --- a/AppGUI/preferences/PreferencesUIManager.py +++ b/AppGUI/preferences/PreferencesUIManager.py @@ -754,10 +754,9 @@ class PreferencesUIManager: self.ui.gerber_defaults_form.gerber_gen_group.pf_color_button.setStyleSheet( "background-color:%s;" "border-color: dimgray" % str(self.defaults['gerber_plot_fill'])[:7]) - self.ui.gerber_defaults_form.gerber_gen_group.pf_color_alpha_spinner.set_value( - int(self.defaults['gerber_plot_fill'][7:9], 16)) - self.ui.gerber_defaults_form.gerber_gen_group.pf_color_alpha_slider.setValue( - int(self.defaults['gerber_plot_fill'][7:9], 16)) + + self.ui.gerber_defaults_form.gerber_gen_group.gerber_alpha_entry.set_value( + int(self.defaults['gerber_plot_fill'][7:9], 16)) # alpha self.ui.gerber_defaults_form.gerber_gen_group.pl_color_entry.set_value(self.defaults['gerber_plot_line']) self.ui.gerber_defaults_form.gerber_gen_group.pl_color_button.setStyleSheet( @@ -770,9 +769,8 @@ class PreferencesUIManager: self.ui.excellon_defaults_form.excellon_gen_group.fill_color_button.setStyleSheet( "background-color:%s;" "border-color: dimgray" % str(self.defaults['excellon_plot_fill'])[:7]) - self.ui.excellon_defaults_form.excellon_gen_group.color_alpha_spinner.set_value( - int(self.defaults['excellon_plot_fill'][7:9], 16)) - self.ui.excellon_defaults_form.excellon_gen_group.color_alpha_slider.setValue( + + self.ui.excellon_defaults_form.excellon_gen_group.excellon_alpha_entry.set_value( int(self.defaults['excellon_plot_fill'][7:9], 16)) self.ui.excellon_defaults_form.excellon_gen_group.line_color_entry.set_value( @@ -794,10 +792,9 @@ class PreferencesUIManager: self.ui.cncjob_defaults_form.cncjob_gen_group.tfill_color_button.setStyleSheet( "background-color:%s;" "border-color: dimgray" % str(self.defaults['cncjob_travel_fill'])[:7]) - self.ui.cncjob_defaults_form.cncjob_gen_group.tcolor_alpha_spinner.set_value( - int(self.defaults['cncjob_travel_fill'][7:9], 16)) - self.ui.cncjob_defaults_form.cncjob_gen_group.tcolor_alpha_slider.setValue( - int(self.defaults['cncjob_travel_fill'][7:9], 16)) + + self.ui.cncjob_defaults_form.cncjob_gen_group.cncjob_alpha_entry.set_value( + int(self.defaults['cncjob_travel_fill'][7:9], 16)) # alpha self.ui.cncjob_defaults_form.cncjob_gen_group.tline_color_entry.set_value( self.defaults['cncjob_travel_line']) @@ -823,9 +820,8 @@ class PreferencesUIManager: self.ui.general_defaults_form.general_gui_group.sf_color_button.setStyleSheet( "background-color:%s;" "border-color: dimgray" % str(self.defaults['global_sel_fill'])[:7]) - self.ui.general_defaults_form.general_gui_group.sf_color_alpha_spinner.set_value( - int(self.defaults['global_sel_fill'][7:9], 16)) - self.ui.general_defaults_form.general_gui_group.sf_color_alpha_slider.setValue( + + self.ui.general_defaults_form.general_gui_group.left_right_alpha_entry.set_value( int(self.defaults['global_sel_fill'][7:9], 16)) self.ui.general_defaults_form.general_gui_group.sl_color_entry.set_value(self.defaults['global_sel_line']) @@ -839,9 +835,8 @@ class PreferencesUIManager: self.ui.general_defaults_form.general_gui_group.alt_sf_color_button.setStyleSheet( "background-color:%s;" "border-color: dimgray" % str(self.defaults['global_alt_sel_fill'])[:7]) - self.ui.general_defaults_form.general_gui_group.alt_sf_color_alpha_spinner.set_value( - int(self.defaults['global_sel_fill'][7:9], 16)) - self.ui.general_defaults_form.general_gui_group.alt_sf_color_alpha_slider.setValue( + + self.ui.general_defaults_form.general_gui_group.right_left_alpha_entry.set_value( int(self.defaults['global_sel_fill'][7:9], 16)) self.ui.general_defaults_form.general_gui_group.alt_sl_color_entry.set_value( diff --git a/AppGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py b/AppGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py index 467b6330..3396f0d3 100644 --- a/AppGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py +++ b/AppGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py @@ -1,7 +1,7 @@ from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5.QtCore import QSettings -from AppGUI.GUIElements import FCCheckBox, RadioSet, FCSpinner, FCDoubleSpinner, FCEntry +from AppGUI.GUIElements import FCCheckBox, RadioSet, FCSpinner, FCDoubleSpinner, FCEntry, FCSliderWithSpinner from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI import gettext import AppTranslation as fcTranslate @@ -202,25 +202,14 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): grid0.addLayout(self.form_box_child_1, 15, 1) # Plot Fill Transparency Level - self.alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) - self.alpha_label.setToolTip( + self.cncjob_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) + self.cncjob_alpha_label.setToolTip( _("Set the fill transparency for plotted objects.") ) - self.tcolor_alpha_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) - self.tcolor_alpha_slider.setMinimum(0) - self.tcolor_alpha_slider.setMaximum(255) - self.tcolor_alpha_slider.setSingleStep(1) + self.cncjob_alpha_entry = FCSliderWithSpinner(0, 255, 1) - self.tcolor_alpha_spinner = FCSpinner() - self.tcolor_alpha_spinner.setMinimumWidth(70) - self.tcolor_alpha_spinner.set_range(0, 255) - - self.form_box_child_3 = QtWidgets.QHBoxLayout() - self.form_box_child_3.addWidget(self.tcolor_alpha_slider) - self.form_box_child_3.addWidget(self.tcolor_alpha_spinner) - - grid0.addWidget(self.alpha_label, 16, 0) - grid0.addLayout(self.form_box_child_3, 16, 1) + grid0.addWidget(self.cncjob_alpha_label, 16, 0) + grid0.addWidget(self.cncjob_alpha_entry, 16, 1) separator_line = QtWidgets.QFrame() separator_line.setFrameShape(QtWidgets.QFrame.HLine) @@ -274,8 +263,8 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): self.tline_color_button.clicked.connect(self.on_tline_color_button) self.tfill_color_entry.editingFinished.connect(self.on_tfill_color_entry) self.tfill_color_button.clicked.connect(self.on_tfill_color_button) - self.tcolor_alpha_spinner.valueChanged.connect(self.on_tcolor_spinner) - self.tcolor_alpha_slider.valueChanged.connect(self.on_tcolor_slider) + + self.cncjob_alpha_entry.valueChanged.connect(self.on_cncjob_alpha_changed) # alpha self.line_color_entry.editingFinished.connect(self.on_line_color_entry) self.line_color_button.clicked.connect(self.on_line_color_button) @@ -306,9 +295,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): self.tfill_color_entry.set_value(new_val) self.app.defaults['cncjob_travel_fill'] = new_val - def on_tcolor_spinner(self): - spinner_value = self.tcolor_alpha_spinner.value() - self.tcolor_alpha_slider.setValue(spinner_value) + def on_cncjob_alpha_changed(self, spinner_value): self.app.defaults['cncjob_travel_fill'] = \ self.app.defaults['cncjob_travel_fill'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') @@ -316,10 +303,6 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): self.app.defaults['cncjob_travel_line'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') - def on_tcolor_slider(self): - slider_value = self.tcolor_alpha_slider.value() - self.tcolor_alpha_spinner.setValue(slider_value) - def on_tline_color_entry(self): self.app.defaults['cncjob_travel_line'] = self.tline_color_entry.get_value()[:7] + \ self.app.defaults['cncjob_travel_line'][7:9] diff --git a/AppGUI/preferences/excellon/ExcellonGenPrefGroupUI.py b/AppGUI/preferences/excellon/ExcellonGenPrefGroupUI.py index 174568a2..6516898e 100644 --- a/AppGUI/preferences/excellon/ExcellonGenPrefGroupUI.py +++ b/AppGUI/preferences/excellon/ExcellonGenPrefGroupUI.py @@ -3,7 +3,7 @@ import platform from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5.QtCore import QSettings -from AppGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry +from AppGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry, FCSliderWithSpinner from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI import gettext import AppTranslation as fcTranslate @@ -304,25 +304,14 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): grid2.addLayout(self.form_box_child_1, 14, 1) # Plot Fill Transparency Level - self.alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) - self.alpha_label.setToolTip( + self.excellon_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) + self.excellon_alpha_label.setToolTip( _("Set the fill transparency for plotted objects.") ) - self.color_alpha_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) - self.color_alpha_slider.setMinimum(0) - self.color_alpha_slider.setMaximum(255) - self.color_alpha_slider.setSingleStep(1) + self.excellon_alpha_entry = FCSliderWithSpinner(0, 255, 1) - self.color_alpha_spinner = FCSpinner() - self.color_alpha_spinner.setMinimumWidth(70) - self.color_alpha_spinner.set_range(0, 255) - - self.form_box_child_3 = QtWidgets.QHBoxLayout() - self.form_box_child_3.addWidget(self.color_alpha_slider) - self.form_box_child_3.addWidget(self.color_alpha_spinner) - - grid2.addWidget(self.alpha_label, 15, 0) - grid2.addLayout(self.form_box_child_3, 15, 1) + grid2.addWidget(self.excellon_alpha_label, 15, 0) + grid2.addWidget(self.excellon_alpha_entry, 15, 1) self.layout.addStretch() @@ -345,8 +334,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): self.line_color_button.clicked.connect(self.on_line_color_button) self.fill_color_entry.editingFinished.connect(self.on_fill_color_entry) self.fill_color_button.clicked.connect(self.on_fill_color_button) - self.color_alpha_spinner.valueChanged.connect(self.on_color_spinner) - self.color_alpha_slider.valueChanged.connect(self.on_color_slider) + + self.excellon_alpha_entry.valueChanged.connect(self.on_excellon_alpha_changed) # alpha # Load the defaults values into the Excellon Format and Excellon Zeros fields self.excellon_defaults_button.clicked.connect(self.on_excellon_defaults_button) @@ -386,9 +375,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): self.fill_color_entry.set_value(new_val) self.app.defaults['excellon_plot_fill'] = new_val - def on_color_spinner(self): - spinner_value = self.color_alpha_spinner.value() - self.color_alpha_slider.setValue(spinner_value) + def on_excellon_alpha_changed(self, spinner_value): self.app.defaults['excellon_plot_fill'] = \ self.app.defaults['excellon_plot_fill'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') @@ -396,10 +383,6 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): self.app.defaults['excellon_plot_line'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') - def on_color_slider(self): - slider_value = self.color_alpha_slider.value() - self.color_alpha_spinner.setValue(slider_value) - def on_line_color_entry(self): self.app.defaults['excellon_plot_line'] = self.line_color_entry.get_value()[:7] + \ self.app.defaults['excellon_plot_line'][7:9] diff --git a/AppGUI/preferences/general/GeneralGUIPrefGroupUI.py b/AppGUI/preferences/general/GeneralGUIPrefGroupUI.py index bac46cd7..9215e09a 100644 --- a/AppGUI/preferences/general/GeneralGUIPrefGroupUI.py +++ b/AppGUI/preferences/general/GeneralGUIPrefGroupUI.py @@ -1,7 +1,7 @@ from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5.QtCore import QSettings, Qt -from AppGUI.GUIElements import RadioSet, FCCheckBox, FCButton, FCComboBox, FCEntry, FCSpinner +from AppGUI.GUIElements import RadioSet, FCCheckBox, FCComboBox, FCEntry, FCSpinner, FCSliderWithSpinner from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI import gettext @@ -187,25 +187,14 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI): grid0.addLayout(self.form_box_child_5, 17, 1) # Plot Selection (left - right) Fill Transparency Level - self.sf_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) - self.sf_alpha_label.setToolTip( + self.left_right_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) + self.left_right_alpha_label.setToolTip( _("Set the fill transparency for the 'left to right' selection box.") ) - self.sf_color_alpha_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) - self.sf_color_alpha_slider.setMinimum(0) - self.sf_color_alpha_slider.setMaximum(255) - self.sf_color_alpha_slider.setSingleStep(1) + self.left_right_alpha_entry = FCSliderWithSpinner(0, 255, 1) - self.sf_color_alpha_spinner = FCSpinner() - self.sf_color_alpha_spinner.setMinimumWidth(70) - self.sf_color_alpha_spinner.set_range(0, 255) - - self.form_box_child_6 = QtWidgets.QHBoxLayout() - self.form_box_child_6.addWidget(self.sf_color_alpha_slider) - self.form_box_child_6.addWidget(self.sf_color_alpha_spinner) - - grid0.addWidget(self.sf_alpha_label, 18, 0) - grid0.addLayout(self.form_box_child_6, 18, 1) + grid0.addWidget(self.left_right_alpha_label, 18, 0) + grid0.addWidget(self.left_right_alpha_entry, 18, 1) separator_line = QtWidgets.QFrame() separator_line.setFrameShape(QtWidgets.QFrame.HLine) @@ -254,25 +243,14 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI): grid0.addLayout(self.form_box_child_8, 22, 1) # Plot Selection (right - left) Fill Transparency Level - self.alt_sf_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) - self.alt_sf_alpha_label.setToolTip( + self.right_left_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) + self.right_left_alpha_label.setToolTip( _("Set the fill transparency for selection 'right to left' box.") ) - self.alt_sf_color_alpha_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) - self.alt_sf_color_alpha_slider.setMinimum(0) - self.alt_sf_color_alpha_slider.setMaximum(255) - self.alt_sf_color_alpha_slider.setSingleStep(1) + self.right_left_alpha_entry = FCSliderWithSpinner(0 , 255, 1) - self.alt_sf_color_alpha_spinner = FCSpinner() - self.alt_sf_color_alpha_spinner.setMinimumWidth(70) - self.alt_sf_color_alpha_spinner.set_range(0, 255) - - self.form_box_child_9 = QtWidgets.QHBoxLayout() - self.form_box_child_9.addWidget(self.alt_sf_color_alpha_slider) - self.form_box_child_9.addWidget(self.alt_sf_color_alpha_spinner) - - grid0.addWidget(self.alt_sf_alpha_label, 23, 0) - grid0.addLayout(self.form_box_child_9, 23, 1) + grid0.addWidget(self.right_left_alpha_label, 23, 0) + grid0.addWidget(self.right_left_alpha_entry, 23, 1) separator_line = QtWidgets.QFrame() separator_line.setFrameShape(QtWidgets.QFrame.HLine) @@ -388,19 +366,19 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI): # Setting selection (left - right) colors signals self.sf_color_entry.editingFinished.connect(self.on_sf_color_entry) self.sf_color_button.clicked.connect(self.on_sf_color_button) - self.sf_color_alpha_spinner.valueChanged.connect(self.on_sf_color_spinner) - self.sf_color_alpha_slider.valueChanged.connect(self.on_sf_color_slider) self.sl_color_entry.editingFinished.connect(self.on_sl_color_entry) self.sl_color_button.clicked.connect(self.on_sl_color_button) + self.left_right_alpha_entry.valueChanged.connect(self.on_left_right_alpha_changed) # alpha + # Setting selection (right - left) colors signals self.alt_sf_color_entry.editingFinished.connect(self.on_alt_sf_color_entry) self.alt_sf_color_button.clicked.connect(self.on_alt_sf_color_button) - self.alt_sf_color_alpha_spinner.valueChanged.connect(self.on_alt_sf_color_spinner) - self.alt_sf_color_alpha_slider.valueChanged.connect(self.on_alt_sf_color_slider) self.alt_sl_color_entry.editingFinished.connect(self.on_alt_sl_color_entry) self.alt_sl_color_button.clicked.connect(self.on_alt_sl_color_button) + self.right_left_alpha_entry.valueChanged.connect(self.on_right_left_alpha_changed) # alpha + # Setting Editor Draw colors signals self.draw_color_entry.editingFinished.connect(self.on_draw_color_entry) self.draw_color_button.clicked.connect(self.on_draw_color_button) @@ -454,18 +432,22 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI): self.sf_color_entry.set_value(new_val) self.app.defaults['global_sel_fill'] = new_val - def on_sf_color_spinner(self): - spinner_value = self.sf_color_alpha_spinner.value() - self.sf_color_alpha_slider.setValue(spinner_value) + def on_left_right_alpha_changed(self, spinner_value): + """ + Change the alpha level for the color of the selection box when selection is done left to right. + Called on valueChanged of a FCSliderWithSpinner. + + :param spinner_value: passed value within [0, 255] + :type spinner_value: int + :return: None + :rtype: + """ + self.app.defaults['global_sel_fill'] = self.app.defaults['global_sel_fill'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') self.app.defaults['global_sel_line'] = self.app.defaults['global_sel_line'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') - def on_sf_color_slider(self): - slider_value = self.sf_color_alpha_slider.value() - self.sf_color_alpha_spinner.setValue(slider_value) - def on_sl_color_entry(self): self.app.defaults['global_sel_line'] = self.sl_color_entry.get_value()[:7] + \ self.app.defaults['global_sel_line'][7:9] @@ -509,9 +491,17 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI): self.alt_sf_color_entry.set_value(new_val) self.app.defaults['global_alt_sel_fill'] = new_val - def on_alt_sf_color_spinner(self): - spinner_value = self.alt_sf_color_alpha_spinner.value() - self.alt_sf_color_alpha_slider.setValue(spinner_value) + def on_right_left_alpha_changed(self, spinner_value): + """ + Change the alpha level for the color of the selection box when selection is done right to left. + Called on valueChanged of a FCSliderWithSpinner. + + :param spinner_value: passed value within [0, 255] + :type spinner_value: int + :return: None + :rtype: + """ + self.app.defaults['global_alt_sel_fill'] = self.app.defaults['global_alt_sel_fill'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') self.app.defaults['global_alt_sel_line'] = self.app.defaults['global_alt_sel_line'][:7] + \ diff --git a/AppGUI/preferences/gerber/GerberGenPrefGroupUI.py b/AppGUI/preferences/gerber/GerberGenPrefGroupUI.py index 68cfed57..dbc93b53 100644 --- a/AppGUI/preferences/gerber/GerberGenPrefGroupUI.py +++ b/AppGUI/preferences/gerber/GerberGenPrefGroupUI.py @@ -1,7 +1,7 @@ from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5.QtCore import QSettings -from AppGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry +from AppGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry, FCSliderWithSpinner from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI import gettext @@ -186,25 +186,14 @@ class GerberGenPrefGroupUI(OptionsGroupUI): grid0.addLayout(self.form_box_child_1, 12, 1, 1, 2) # Plot Fill Transparency Level - self.pf_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) - self.pf_alpha_label.setToolTip( + self.gerber_alpha_label = QtWidgets.QLabel('%s:' % _('Alpha')) + self.gerber_alpha_label.setToolTip( _("Set the fill transparency for plotted objects.") ) - self.pf_color_alpha_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) - self.pf_color_alpha_slider.setMinimum(0) - self.pf_color_alpha_slider.setMaximum(255) - self.pf_color_alpha_slider.setSingleStep(1) + self.gerber_alpha_entry = FCSliderWithSpinner(0, 255, 1) - self.pf_color_alpha_spinner = FCSpinner() - self.pf_color_alpha_spinner.setMinimumWidth(70) - self.pf_color_alpha_spinner.set_range(0, 255) - - self.form_box_child_3 = QtWidgets.QHBoxLayout() - self.form_box_child_3.addWidget(self.pf_color_alpha_slider) - self.form_box_child_3.addWidget(self.pf_color_alpha_spinner) - - grid0.addWidget(self.pf_alpha_label, 13, 0) - grid0.addLayout(self.form_box_child_3, 13, 1, 1, 2) + grid0.addWidget(self.gerber_alpha_label, 13, 0) + grid0.addWidget(self.gerber_alpha_entry, 13, 1, 1, 2) self.layout.addStretch() @@ -213,8 +202,8 @@ class GerberGenPrefGroupUI(OptionsGroupUI): self.pl_color_button.clicked.connect(self.on_pl_color_button) self.pf_color_entry.editingFinished.connect(self.on_pf_color_entry) self.pf_color_button.clicked.connect(self.on_pf_color_button) - self.pf_color_alpha_spinner.valueChanged.connect(self.on_pf_color_spinner) - self.pf_color_alpha_slider.valueChanged.connect(self.on_pf_color_slider) + + self.gerber_alpha_entry.valueChanged.connect(self.on_gerber_alpha_changed) # alpha # Setting plot colors handlers def on_pf_color_entry(self): @@ -237,9 +226,7 @@ class GerberGenPrefGroupUI(OptionsGroupUI): self.pf_color_entry.set_value(new_val) self.app.defaults['gerber_plot_fill'] = new_val - def on_pf_color_spinner(self): - spinner_value = self.pf_color_alpha_spinner.value() - self.pf_color_alpha_slider.setValue(spinner_value) + def on_gerber_alpha_changed(self, spinner_value): self.app.defaults['gerber_plot_fill'] = \ self.app.defaults['gerber_plot_fill'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') @@ -247,10 +234,6 @@ class GerberGenPrefGroupUI(OptionsGroupUI): self.app.defaults['gerber_plot_line'][:7] + \ (hex(spinner_value)[2:] if int(hex(spinner_value)[2:], 16) > 0 else '00') - def on_pf_color_slider(self): - slider_value = self.pf_color_alpha_slider.value() - self.pf_color_alpha_spinner.setValue(slider_value) - def on_pl_color_entry(self): self.app.defaults['gerber_plot_line'] = self.pl_color_entry.get_value()[:7] + \ self.app.defaults['gerber_plot_line'][7:9] diff --git a/CHANGELOG.md b/CHANGELOG.md index 81ccc3d7..aa087187 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ CHANGELOG for FlatCAM beta - added a button for Transformations Tool in the lower side (common) of the Object UI - some other UI changes - after using Isolation Tool it will switch automatically to the Geometry UI +- in Preferences replaced some widgets with a new one that combine a Slider with a Spinner (courtesy of David Robertson) + 31.05.2020