Skip to content

Commit

Permalink
removes duplication
Browse files Browse the repository at this point in the history
  • Loading branch information
MAKOMO committed Jun 14, 2024
1 parent 07f1618 commit 096e962
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 62 deletions.
2 changes: 1 addition & 1 deletion src/artisanlib/devices.py
Original file line number Diff line number Diff line change
Expand Up @@ -2049,7 +2049,7 @@ def delextradevice(self, x:int) -> None:
self.aw.qmc.extraname2.pop(x)
self.aw.qmc.extramathexpression1.pop(x)
self.aw.qmc.extramathexpression2.pop(x)
self.aw.updateExtraLCDvisibility()
self.aw.updateLCDproperties()
#pop serial port settings
if len(self.aw.extracomport) > x:
self.aw.extracomport.pop(x)
Expand Down
83 changes: 24 additions & 59 deletions src/artisanlib/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -5778,7 +5778,7 @@ def setLCDsBW(self) -> None:
self.lcd6.setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
# label always black?
self.lcd7.setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
self.updateExtraLCDvisibility()
self.updateLCDproperties()

# switches slider layout to its alternative layout if 'alternativeLayout' is True,
# other wise to standard layout
Expand Down Expand Up @@ -10792,24 +10792,29 @@ def updateLCDproperties(self) -> None:
# set LCDframe visibilities and labels
ndev = len(self.qmc.extradevices)
for i in range(ndev):
self.extraLCDframe1[i].setVisible(bool(self.extraLCDvisibility1[i]))
if i < len(self.qmc.extraname1):
l1 = '<b>' + self.qmc.extraname1[i] + '</b>'
try:
self.extraLCDlabel1[i].setText(l1.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3]))
except Exception: # pylint: disable=broad-except
if i < self.nLCDS:
self.extraLCDframe1[i].setVisible(bool(self.extraLCDvisibility1[i]))
if i < len(self.qmc.extraname1):
l1 = '<b>' + self.qmc.extraname1[i] + '</b>'
try:
l1 = l1.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
except Exception: # pylint: disable=broad-except
# substitution might fail if the label contains brackets like in "t{FCS}"
pass
self.extraLCDlabel1[i].setText(l1)
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
self.extraLCD1[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
self.extraLCDframe2[i].setVisible(bool(self.extraLCDvisibility2[i]))
if i < len(self.qmc.extraname2):
l2 = '<b>' + self.qmc.extraname2[i] + '</b>'
try:
self.extraLCDlabel2[i].setText(l2.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3]))
except Exception: # pylint: disable=broad-except
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
self.extraLCD1[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
self.extraLCDframe2[i].setVisible(bool(self.extraLCDvisibility2[i]))
if i < len(self.qmc.extraname2):
l2 = '<b>' + self.qmc.extraname2[i] + '</b>'
try:
l2 = l2.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
except Exception: # pylint: disable=broad-except
# substitution might fail if the label contains brackets like in "t{FCS}"
pass
self.extraLCDlabel2[i].setText(l2)
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])
self.extraLCD2[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])
self.extraLCD2[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
#hide the rest (just in case)
for i in range(ndev,self.nLCDS):
self.extraLCDframe1[i].setVisible(False)
Expand Down Expand Up @@ -13159,7 +13164,7 @@ def addDevice(self) -> None:
self.qmc.extratemp1lines.append(self.qmc.ax.plot(self.qmc.extratimex[l], self.qmc.extratemp1[l],color=self.qmc.extradevicecolor1[l],markersize=self.qmc.extramarkersizes1[l],marker=self.qmc.extramarkers1[l],linewidth=self.qmc.extralinewidths1[l],linestyle=self.qmc.extralinestyles1[l],drawstyle=self.qmc.extradrawstyles1[l],label=self.qmc.extraname1[l])[0])
self.qmc.extratemp2lines.append(self.qmc.ax.plot(self.qmc.extratimex[l], self.qmc.extratemp2[l],color=self.qmc.extradevicecolor2[l],markersize=self.qmc.extramarkersizes2[l],marker=self.qmc.extramarkers2[l],linewidth=self.qmc.extralinewidths2[l],linestyle=self.qmc.extralinestyles2[l],drawstyle=self.qmc.extradrawstyles2[l],label=self.qmc.extraname2[l])[0])

self.updateExtraLCDvisibility()
self.updateLCDproperties()
except Exception as e: # pylint: disable=broad-except
_log.exception(e)

Expand Down Expand Up @@ -14156,10 +14161,6 @@ def updateExtradeviceSettings(self) -> None:
self.qmc.extractemp2.append([])
#extra LCDs and other LCDs visibility
self.updateLCDproperties()
# set extraLCD colors
for i in range(len(self.qmc.extradevices)):
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])

def initializedMonitoringExtraDeviceStructures(self) -> None:
self.qmc.on_timex = []
Expand Down Expand Up @@ -14607,7 +14608,7 @@ def setProfile(self, filename:Optional[str], profile:'ProfileData', quiet:bool =
# ensure that extra list length are of the size of the extradevices:
self.ensureCorrectExtraDeviceListLength()

self.updateExtraLCDvisibility()
self.updateLCDproperties()

self.recording_version = profile.get('recording_version', 'unknown')
if 'recording_revision' in profile:
Expand Down Expand Up @@ -19217,42 +19218,6 @@ def closeEventSettings_theme(self, filename:Optional[str] = None) -> None:
_, _, exc_tb = sys.exc_info()
QMessageBox.information(self, QApplication.translate('Error Message', 'Error',None),QApplication.translate('Error Message', 'Exception:') + ' closeEventSettings_theme() @line ' + str(getattr(exc_tb, 'tb_lineno', '?')))

def updateExtraLCDvisibility(self) -> None:
n = len(self.qmc.extradevices)
for i in range(n):
if i < self.nLCDS:
if self.extraLCDvisibility1[i]:
if i < len(self.qmc.extraname1):
l1 = '<b>' + self.qmc.extraname1[i] + '</b>'
try:
l1 = l1.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
except Exception: # pylint: disable=broad-except
# substitution might fail if the label contains brackets like in "t{FCS}"
pass
self.extraLCDlabel1[i].setText(l1)
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
self.extraLCDframe1[i].setVisible(True)
self.extraLCD1[i].setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
else:
self.extraLCDframe1[i].setVisible(False)
if self.extraLCDvisibility2[i]:
if i < len(self.qmc.extraname2):
l2 = '<b>' + self.qmc.extraname2[i] + '</b>'
try:
l2 = l2.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
except Exception: # pylint: disable=broad-except
# substitution might fail if the label contains brackets like in "t{FCS}"
pass
self.extraLCDlabel2[i].setText(l2)
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])
self.extraLCDframe2[i].setVisible(True)
self.extraLCD2[i].setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
else:
self.extraLCDframe2[i].setVisible(False)
#hide the rest (just in case)
for i in range(n,self.nLCDS):
self.extraLCDframe1[i].setVisible(False)
self.extraLCDframe2[i].setVisible(False)

def stopActivities(self) -> None:
if self.full_screen_mode_active:
Expand Down
4 changes: 2 additions & 2 deletions src/artisanlib/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -432,13 +432,13 @@ def getDirectory(filename: str, ext: Optional[str] = None, share: bool = False)

# converts QColor ARGB names to a standard/MPL hex color strings with alpha values at the end
def argb_colorname2rgba_colorname(c:str) -> str:
if len(c) == 9:
if len(c) == 9 and c[0] == '#' and c[1:].isdigit():
return f'#{c[3:9]}{c[1:3]}'
return c

# converts standard/MPL hex color strings to QColor ARGB names with alpha at the begin
def rgba_colorname2argb_colorname(c:str) -> str:
if len(c) == 9:
if len(c) == 9 and c[0] == '#' and c[1:].isdigit():
return f'#{c[7:9]}{c[1:7]}'
return c

Expand Down

0 comments on commit 096e962

Please sign in to comment.