Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 096e962

Browse files
committedJun 14, 2024
removes duplication
1 parent 07f1618 commit 096e962

File tree

3 files changed

+27
-62
lines changed

3 files changed

+27
-62
lines changed
 

‎src/artisanlib/devices.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2049,7 +2049,7 @@ def delextradevice(self, x:int) -> None:
20492049
self.aw.qmc.extraname2.pop(x)
20502050
self.aw.qmc.extramathexpression1.pop(x)
20512051
self.aw.qmc.extramathexpression2.pop(x)
2052-
self.aw.updateExtraLCDvisibility()
2052+
self.aw.updateLCDproperties()
20532053
#pop serial port settings
20542054
if len(self.aw.extracomport) > x:
20552055
self.aw.extracomport.pop(x)

‎src/artisanlib/main.py

Lines changed: 24 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -5778,7 +5778,7 @@ def setLCDsBW(self) -> None:
57785778
self.lcd6.setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
57795779
# label always black?
57805780
self.lcd7.setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
5781-
self.updateExtraLCDvisibility()
5781+
self.updateLCDproperties()
57825782

57835783
# switches slider layout to its alternative layout if 'alternativeLayout' is True,
57845784
# other wise to standard layout
@@ -10792,24 +10792,29 @@ def updateLCDproperties(self) -> None:
1079210792
# set LCDframe visibilities and labels
1079310793
ndev = len(self.qmc.extradevices)
1079410794
for i in range(ndev):
10795-
self.extraLCDframe1[i].setVisible(bool(self.extraLCDvisibility1[i]))
10796-
if i < len(self.qmc.extraname1):
10797-
l1 = '<b>' + self.qmc.extraname1[i] + '</b>'
10798-
try:
10799-
self.extraLCDlabel1[i].setText(l1.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3]))
10800-
except Exception: # pylint: disable=broad-except
10795+
if i < self.nLCDS:
10796+
self.extraLCDframe1[i].setVisible(bool(self.extraLCDvisibility1[i]))
10797+
if i < len(self.qmc.extraname1):
10798+
l1 = '<b>' + self.qmc.extraname1[i] + '</b>'
10799+
try:
10800+
l1 = l1.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
10801+
except Exception: # pylint: disable=broad-except
10802+
# substitution might fail if the label contains brackets like in "t{FCS}"
10803+
pass
1080110804
self.extraLCDlabel1[i].setText(l1)
10802-
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
10803-
self.extraLCD1[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
10804-
self.extraLCDframe2[i].setVisible(bool(self.extraLCDvisibility2[i]))
10805-
if i < len(self.qmc.extraname2):
10806-
l2 = '<b>' + self.qmc.extraname2[i] + '</b>'
10807-
try:
10808-
self.extraLCDlabel2[i].setText(l2.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3]))
10809-
except Exception: # pylint: disable=broad-except
10805+
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
10806+
self.extraLCD1[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
10807+
self.extraLCDframe2[i].setVisible(bool(self.extraLCDvisibility2[i]))
10808+
if i < len(self.qmc.extraname2):
10809+
l2 = '<b>' + self.qmc.extraname2[i] + '</b>'
10810+
try:
10811+
l2 = l2.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
10812+
except Exception: # pylint: disable=broad-except
10813+
# substitution might fail if the label contains brackets like in "t{FCS}"
10814+
pass
1081010815
self.extraLCDlabel2[i].setText(l2)
10811-
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])
10812-
self.extraLCD2[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
10816+
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])
10817+
self.extraLCD2[i].setStyleSheet(f"QLCDNumber {{ border-radius:4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
1081310818
#hide the rest (just in case)
1081410819
for i in range(ndev,self.nLCDS):
1081510820
self.extraLCDframe1[i].setVisible(False)
@@ -13159,7 +13164,7 @@ def addDevice(self) -> None:
1315913164
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])
1316013165
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])
1316113166

13162-
self.updateExtraLCDvisibility()
13167+
self.updateLCDproperties()
1316313168
except Exception as e: # pylint: disable=broad-except
1316413169
_log.exception(e)
1316513170

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

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

14610-
self.updateExtraLCDvisibility()
14611+
self.updateLCDproperties()
1461114612

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

19220-
def updateExtraLCDvisibility(self) -> None:
19221-
n = len(self.qmc.extradevices)
19222-
for i in range(n):
19223-
if i < self.nLCDS:
19224-
if self.extraLCDvisibility1[i]:
19225-
if i < len(self.qmc.extraname1):
19226-
l1 = '<b>' + self.qmc.extraname1[i] + '</b>'
19227-
try:
19228-
l1 = l1.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
19229-
except Exception: # pylint: disable=broad-except
19230-
# substitution might fail if the label contains brackets like in "t{FCS}"
19231-
pass
19232-
self.extraLCDlabel1[i].setText(l1)
19233-
self.setLabelColor(self.extraLCDlabel1[i],self.qmc.extradevicecolor1[i])
19234-
self.extraLCDframe1[i].setVisible(True)
19235-
self.extraLCD1[i].setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
19236-
else:
19237-
self.extraLCDframe1[i].setVisible(False)
19238-
if self.extraLCDvisibility2[i]:
19239-
if i < len(self.qmc.extraname2):
19240-
l2 = '<b>' + self.qmc.extraname2[i] + '</b>'
19241-
try:
19242-
l2 = l2.format(self.qmc.etypes[0],self.qmc.etypes[1],self.qmc.etypes[2],self.qmc.etypes[3])
19243-
except Exception: # pylint: disable=broad-except
19244-
# substitution might fail if the label contains brackets like in "t{FCS}"
19245-
pass
19246-
self.extraLCDlabel2[i].setText(l2)
19247-
self.setLabelColor(self.extraLCDlabel2[i],self.qmc.extradevicecolor2[i])
19248-
self.extraLCDframe2[i].setVisible(True)
19249-
self.extraLCD2[i].setStyleSheet(f"QLCDNumber {{ border-radius: 4; color: {rgba_colorname2argb_colorname(self.lcdpaletteF['sv'])}; background-color: {rgba_colorname2argb_colorname(self.lcdpaletteB['sv'])};}}")
19250-
else:
19251-
self.extraLCDframe2[i].setVisible(False)
19252-
#hide the rest (just in case)
19253-
for i in range(n,self.nLCDS):
19254-
self.extraLCDframe1[i].setVisible(False)
19255-
self.extraLCDframe2[i].setVisible(False)
1925619221

1925719222
def stopActivities(self) -> None:
1925819223
if self.full_screen_mode_active:

‎src/artisanlib/util.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,13 +432,13 @@ def getDirectory(filename: str, ext: Optional[str] = None, share: bool = False)
432432

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

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

0 commit comments

Comments
 (0)
Please sign in to comment.