Skip to content

Commit

Permalink
Removed red-green colorscheme and introduced a highlight colorscheme …
Browse files Browse the repository at this point in the history
…based on the current Qt palette of the switch main window.
  • Loading branch information
Neverhorst committed Nov 24, 2020
1 parent f2bc6ed commit 710b979
Showing 1 changed file with 22 additions and 19 deletions.
41 changes: 22 additions & 19 deletions gui/switch/switch_gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ class SwitchStyle(IntEnum):
RADIO_BUTTON = 1


class ColorScheme(IntEnum):
class StateColorScheme(IntEnum):
DEFAULT = 0
RED_GREEN = 1
HIGHLIGHT = 1


class SwitchMainWindow(QtWidgets.QMainWindow):
Expand Down Expand Up @@ -77,9 +77,9 @@ def __init__(self, *args, **kwargs):
action.setCheckable(True)
self.switch_view_action_group.addAction(action)
menu.addAction(action)
self.action_view_red_green = QtWidgets.QAction('red/green color scheme')
self.action_view_red_green.setCheckable(True)
menu.addAction(self.action_view_red_green)
self.action_view_highlight_state = QtWidgets.QAction('highlight state labels')
self.action_view_highlight_state.setCheckable(True)
menu.addAction(self.action_view_highlight_state)
self.action_view_alt_toggle_style = QtWidgets.QAction('alternative toggle switch')
self.action_view_alt_toggle_style.setCheckable(True)
menu.addAction(self.action_view_alt_toggle_style)
Expand All @@ -101,10 +101,10 @@ class SwitchGui(GUIBase):
default=SwitchStyle.TOGGLE_SWITCH,
representer=lambda _, x: int(x),
constructor=lambda _, x: SwitchStyle(x))
_colorscheme = StatusVar(name='colorscheme',
default=ColorScheme.DEFAULT,
representer=lambda _, x: int(x),
constructor=lambda _, x: ColorScheme(x))
_state_colorscheme = StatusVar(name='state_colorscheme',
default=StateColorScheme.DEFAULT,
representer=lambda _, x: int(x),
constructor=lambda _, x: StateColorScheme(x))
_alt_toggle_switch_style = StatusVar(name='alt_toggle_switch_style', default=False)

# declare signals
Expand All @@ -125,7 +125,9 @@ def on_activate(self):
except IndexError:
self._mw.switch_view_actions[0].setChecked(True)
self._switch_style = SwitchStyle(0)
self._mw.action_view_red_green.setChecked(self._colorscheme == ColorScheme.RED_GREEN)
self._mw.action_view_highlight_state.setChecked(
self._state_colorscheme == StateColorScheme.HIGHLIGHT
)
self._mw.action_view_alt_toggle_style.setChecked(self._alt_toggle_switch_style)
self._mw.setWindowTitle(f'qudi: {self.switchlogic().device_name.title()}')

Expand All @@ -136,7 +138,7 @@ def on_activate(self):
self.switchlogic().toggle_watchdog, QtCore.Qt.QueuedConnection
)
self._mw.switch_view_action_group.triggered.connect(self._update_switch_appearance)
self._mw.action_view_red_green.triggered.connect(self._update_colorscheme)
self._mw.action_view_highlight_state.triggered.connect(self._update_state_colorscheme)
self._mw.action_view_alt_toggle_style.triggered.connect(self._update_toggle_switch_style)
self.switchlogic().sigWatchdogToggled.connect(
self._watchdog_updated, QtCore.Qt.QueuedConnection
Expand All @@ -147,15 +149,15 @@ def on_activate(self):

self._watchdog_updated(self.switchlogic().watchdog_active)
self._switches_updated(self.switchlogic().states)
self._update_colorscheme()
self._update_state_colorscheme()
self.show()

def on_deactivate(self):
""" Hide window empty the GUI and disconnect signals
"""
self.switchlogic().sigSwitchesChanged.disconnect(self._switches_updated)
self.switchlogic().sigWatchdogToggled.disconnect(self._watchdog_updated)
self._mw.action_view_red_green.triggered.disconnect()
self._mw.action_view_highlight_state.triggered.disconnect()
self._mw.action_view_alt_toggle_style.triggered.disconnect()
self._mw.switch_view_action_group.triggered.disconnect()
self._mw.action_periodic_state_check.toggled.disconnect()
Expand Down Expand Up @@ -256,13 +258,14 @@ def _update_switch_appearance(self, action):
self._mw.centralWidget().setFixedSize(1, 1)
self._populate_switches()
self._switches_updated(self.switchlogic().states)
self._update_colorscheme()
self._update_state_colorscheme()
self._mw.show()

def _update_colorscheme(self):
if self._mw.action_view_red_green.isChecked():
checked_color = QtGui.QColor(QtCore.Qt.red)
unchecked_color = QtGui.QColor(QtCore.Qt.green)
def _update_state_colorscheme(self):
self._state_colorscheme = StateColorScheme(self._mw.action_view_highlight_state.isChecked())
if self._state_colorscheme is StateColorScheme.HIGHLIGHT:
checked_color = self._mw.palette().highlight().color()
unchecked_color = None
else:
checked_color = None
unchecked_color = None
Expand All @@ -280,7 +283,7 @@ def _update_toggle_switch_style(self, checked):
self._mw.centralWidget().setFixedSize(1, 1)
self._populate_switches()
self._switches_updated(self.switchlogic().states)
self._update_colorscheme()
self._update_state_colorscheme()
self._mw.show()

def __get_state_update_func(self, switch):
Expand Down

0 comments on commit 710b979

Please sign in to comment.