From c85a4049a240da56e6416fe8acf15a128f541567 Mon Sep 17 00:00:00 2001 From: chrin Date: Thu, 6 Oct 2022 08:29:48 +0200 Subject: [PATCH] v1.4.0 --- common/config/acc.qss | 2099 +- common/config/style.json | 53 +- facility/sf/config/base.json | 9 +- facility/sf/images | 2 +- .../__pycache__/qrc_resources.cpython-37.pyc | Bin 279134 -> 272238 bytes facility/sf/pyrcc5/qrc_resources.py | 20547 ++++++++-------- facility/sf/qrc_resources.py | 20547 ++++++++-------- 7 files changed, 20568 insertions(+), 22689 deletions(-) mode change 100644 => 120000 common/config/acc.qss mode change 100644 => 120000 common/config/style.json diff --git a/common/config/acc.qss b/common/config/acc.qss deleted file mode 100644 index f272d88..0000000 --- a/common/config/acc.qss +++ /dev/null @@ -1,2098 +0,0 @@ -/*################################################*/ -/*# Qt Style Sheet Settings for pyqtacc #*/ -/*################################################*/ - -*#EXPERT -{ - background-color: #646464; - color: white; - font-size: 10pt; - font-style: normal; - font-weight: 700; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 0px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} -*#OPERATION -{ - background-color: #dadada; - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 700; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 0px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} -*#SIMULATION -{ - background-color: #8b1a96; - color: white; - font-size: 10pt; - font-style: normal; - font-weight: 700; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 0px; - qproperty-alignment: "AlignCenter | AlignVCenter"; -} - -QGroupBox#OUTERLEFT -{ - background-color: #e1e1e1; - color: gray; - font-size: 10.5pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 1px solid gray; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#OUTERLEFT { - subcontrol-origin: margin; - subcontrol-position: top left; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 2px 0px 0px; - border: 1px solid gray; - border-radius: 3px; - background-color: #e1e1e1; -} - -QGroupBox#OUTER -{ - background-color: #e1e1e1; - color: gray; - font-size: 10.5pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 1px solid gray; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#OUTER { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 2px 0px 0px; - border: 1px solid gray; - border-radius: 3px; - background-color: #e1e1e1; -} - - -QGroupBox#INNER -{ - background-color: #e1e1e1; - color: gray; - font-size: 9pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 1px solid gray; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 2px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#INNER { - subcontrol-origin: margin; - subcontrol-position: top left; - padding: 1px 0px 1px 0px; /*top right bottom left */ - margin: 0px 2px 0x 2px; - border: 0px solid gray; - border-radius: 3px; - background-color: #e1e1e1; -} - - -QGroupBox#INNERCENTER -{ - background-color: #eeeeee; - color: gray; - font-size: 9pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 0px solid gray; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 2px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#INNERCENTER { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 1px 0px 1px 0px; /*top right bottom left */ - margin: 0px 2px 0x 2px; - border: 0px solid gray; - border-radius: 3px; - background-color: #eeeeee; -} - - -QGroupBox#TARGET -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #98c998, stop: 1 #ffffff); - color: #555555; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid #98c998; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#TARGET { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; - margin: 0px 0px 0px 0px; - border: 2px solid #98c998; - border-radius: 3px; - background-color: white; -} - - -QGroupBox#MACHINE2 -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #98c998, stop: 1 #ffffff); - color: gray; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid #98c998; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - - -QGroupBox::title#MACHINE2 { - subcontrol-origin: margin; - subcontrol-position: top left; - padding: 2px 2px 2px 2px; - margin: 0px 0px 0px 0px; - border: 2px solid #98c998; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff, stop: 1#98c998); -} - -QGroupBox#Machine::disabled -{ - color: gray; -} -QGroupBox#Aramis::disabled -{ - color: gray; -} -QGroupBox#Athos::disabled -{ - color: gray; -} -QGroupBox#Porthos::disabled -{ - color: gray; -} - -QGroupBox#Machine -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 gray, stop: 1 #FFFFFF); - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 0px solid gray; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#Machine { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; - margin: 0px 0px 0px 0px; - border: 0px solid gray; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff , stop: 1 gray); -} - - - - -QGroupBox#MACHINE -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 gray, stop: 1 #FFFFFF); - color: gray; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - margin-bottom: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#MACHINE { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; - margin: 0px 0px 0px 0px; - border: 2px solid gray; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff , stop: 1 gray); -} - -QGroupBox#Aramis -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #00b7eb, stop: 1 #FFFFFF); - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 0px solid #00b7eb; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#Aramis { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; /* 0 0 0 1 for inwards */ - border: 0px solid #00b7eb; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff, stop: 1 #00b7eb); -} - - -QGroupBox#ARAMIS, QGroupBox#PCT -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #00b7eb, stop: 1 #FFFFFF); - color: #00b7eb; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid #00b7eb; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#ARAMIS, QGroupBox::title#PCT { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; /* 0 0 0 1 for inwards */ - border: 2px solid #00b7eb; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff , stop: 1 #00b7eb); -} - - -QGroupBox#Athos -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #2e5894, stop: 1 #FFFFFF); - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 0px solid #2e5894; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - - -QGroupBox::title#Athos { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; - border: 0px solid #2e5894; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #FFFFFF, stop: 1 #2e5894); -} - -QGroupBox#ATHOS, QGroupBox#ORBIT -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #2e5894, stop: 1 #FFFFFF); - color: #2e5894; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid #2e5894; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - - -QGroupBox::title#ORBIT -{ - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; - border: 2px solid #2e5894; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #FFFFFF, stop: 1 #2e5894); -} - -QGroupBox::title#ATHOS -{ - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; - border: 2px solid #2e5894; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #FFFFFF, stop: 1 #2e5894); -} - - -QGroupBox#Porthos -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #9c6da5, stop: 1 #FFFFFF); - color: black; /* #734f96; #c8a2c8; #9b111e; */ - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 0px solid #9c6da5; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#Porthos { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; /* 0 0 0 1 for inwards */ - border: 0px solid #9c6da5 ; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff, stop: 1 #9c6da5); -} -QGroupBox#PORTHOS -{ - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #9c6da5, stop: 1 #FFFFFF); - color: #9c6da5; /* #734f96; #c8a2c8; #9b111e; */ - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid #9c6da5; - border-radius: 5px; - margin-top: 1.5ex; - margin-left: 0.0ex; - padding-top: 2px; - padding-bottom: 4px; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox::title#PORTHOS { - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 2px 2px 2px 2px; /*top right bottom left */ - margin: 0px 0px 0px 0px; /* 0 0 0 1 for inwards */ - border: 2px solid #9c6da5 ; - border-radius: 3px; - background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 #ffffff, stop: 1 #9c6da5); -} - -QGroupBox#EXPERT -{ - background-color: #646464; - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - margin-top: 1.0em; - margin-left: 0.0em; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox#OPERATION -{ - background-color: #dadada; - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - margin-top: 1.0em; - margin-left: 0.0em; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - -QGroupBox#SIMULATION -{ - background-color: #8b1a96; - color: black; - font-size: 10pt; - font-style: normal; - font-weight: 600; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - margin-top: 1.0em; - margin-left: 0.0em; - qproperty-alignment: 'AlignCenter | AlignVCenter'; -} - - -QGroupBox::title#EXPERT, -QGroupBox::title#OPERATION, -QGroupBox::title#SIMULATION { - subcontrol-origin: margin; - subcontrol-position: top left; - padding: 0px 3px 0px 3px; - background-color: rgba(236, 236, 236, 255); - /*border: 2px solid #2e5894; */ - border-radius: 3px; - margin-top: 0.0ex; - margin-left: 0.0ex; - padding-top: 0px; - padding-bottom: 0px; -} - -*#pvinfo -{ - background-color: #add8e6; - color: black; - font-size: 16px; - font-style: normal; - font-weight: 400; - font-family: "Sans Serif"; - border: 3px solid LightSteelBlue; - border-radius: 1px; - padding: 1px; -} - -*#contextMenu -{ - background-color: #e1e1e1; - color: black; - selection-background-color: steelblue; - font-size: 16px; - font-style: normal; - font-weight: 400; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; -} - -*#Controller[disconnected="true"], -*#Readback[disconnected="true"] -{ - background-color: white; - color: lightgray; - /*qproperty-readOnly: true;*/ -} - -*#Controller[actOnBeam="true"] { - /*background-color:qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 white, stop: 0.4 rgba(212, 219, 257, 251), - stop:1 rgb(212, 219, 157, 255)); */ - background-color: rgba(212, 219, 157, 255); - color:black; -} - - -*#Controller[notActOnBeam="true"] { - background-color: rgba(160, 160, 160, 255); - color:black; -} - -*#Controller{ - background-color: rgba(160, 160, 160, 255); - color:black; -} - - - -*::hover#Controller[actOnBeam="true"] -{ - background: rgba(242, 249, 187, 255); -} - -*::hover#Controller[notActOnBeam="true"] -{ - background: rgba(200, 200, 200, 255); -} - -*::hover#Controller[readOnly="true"] -{ - background : transparent; - image: url(:/forbidden.png); -} - - -QTableWidget{ - background-color: #e1e1e1; - color:black; -} - - -*#CARead[paused="true"] { - background-color : "#acb2cc"; - image: url(:/pause.png); - color: lightgray; - border: 2px solid black; - border-radius: 5px; -} - -*#BSRead[paused="true"] { - background-color : "#acb2cc"; /*"#6082b6" */ - image: url(:/pause.png); - color: lightgray; - border: 2px solid navy blue; - border-radius: 5px; -} - -*#CARead[stopped="true"] { - background-color : "#8c92ac"; - image: url(:/pause.png); - color: lightgray; - border: 2px solid black; - border-radius: 5px; -} - -*#BSRead[stopped="true"] { - background-color :"#8c92ac"; - image: url(:/pause.png); - color: lightgray; - border: 2px solid navy blue; - border-radius: 5px; -} - -*#CARead[disconnected="true"] { - background-color: white; - /*image: url(:/forbidden.png);*/ - color: lightgray; - border: 2px solid black; - border-radius: 5px; -} - -*#BSRead[disconnected="true"] { - background-color: white; - /*image: url(:/forbidden.png);*/ - color: lightgray; - border: 2px solid navy blue; - border-radius: 5px; -} - -*#BSRead[static="true"] { - background-color: #ffffe0; - color: black; - border: 2px solid navy blue; - border-radius: 5px; -} - -*#CARead[static="true"] { - background-color: #ffffe0; - color: black; - border: 2px solid black; - border-radius: 5px; -} - -*#BSRead[alarm="true"] { - background-color: rgba(200, 200, 200, 255); - color:black; - border: 2px solid navy blue; - border-radius: 5px; -} -*#CARead[alarm="true"] { - background-color: rgba(200, 200, 200, 255); - color:black; - border: 2px solid black; - border-radius: 5px; -} - - - -*#BSRead[alarmSevMinor="true"] { - background-color: #fbfb04; - color: black; - border: 2px navy blue; - border-radius: 5px; -} - -*#BSRead[alarmSevMajor="true"] { - color: black; - background-color: #ff2a1a; - border: 2px navy blue; - border-radius: 5px; -} - -*#BSRead[alarmSevInvalid="true"] { - background-color: white; - color: lightgray; - border: 2px navy blue; - border-radius: 5px; -} - - -*#CARead[alarmSevMinor="true"] { - color: black; - background-color: #fbfb04; - border: 2px solid black; - border-radius: 5px; -} - -*#CARead[alarmSevMajor="true"] { - color: black; - background-color: #ff2a1a; - border: 2px solid black; - border-radius: 5px; -} - -*#CARead[alarmSevInvalid="true"] { - background-color: white; - color: lightgray; - border: 2px solid black; - border-radius: 5px; -} - - -*#Readback[static="true"] { - background-color: #ffffe0; - color:black; - -} - -*#Readback[alarm="true"] { - /*background-color: rgba(200, 200, 200, 255);*/ - background-color: rgba(0, 205, 0, 255); - color:black; -} - -*#Readback[alarmSevMinor="true"] { - background-color: #fbfb04; - color:black; -} - - -*#Readback[alarmSevMajor="true"] { - background-color: #ff2a1a; - color: black; - /*qproperty-readOnly: true;*/ -} - - -*#Readback[alarmSevInvalid="true"] { - background-color: white; - color: lightgray; -} - - - -QComboBox#Controller { - selection-color: black; - selection-background-color: white; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; -} - -QComboBox#Controller QAbstractItemView { - selection-color: white; - selection-background-color: #4d94ff; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px solid darkgray; - border-radius: 5px; - padding: 0px; - margin: 5px; -} - - -QComboBox::drop-down#Controller { - subcontrol-origin: padding; - subcontrol-position: right; - width: 18px; - height: 18px; - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; -} - - -QComboBox::down-arrow#Controller { - /*image: url(/afs/psi.ch/intranet/SF/Beamdynamics/common/qrc_resources/images/down_arrow.png);*/ - image: url(:/down_arrow.png); -} - -QLabel#Elog { - background-color: lightblue; - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; - qproperty-alignment: AlignLeft; -} - - -QLineEdit#Elog { - background-color: lightblue; - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - - -QComboBox#Elog { - background-color: lightblue; - selection-color: black; - selection-background-color: steelblue; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - - -QMenuBar#load { - background-color: rgb(214, 202, 221, 220); - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - -QMenuBar#hdf { - background-color: rgb(0, 171, 102, 20); - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - - -QLineEdit#blank { - background-color: rgb(230, 230, 230, 220); - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - -QLineEdit#load { - background-color: rgb(214, 202, 221, 220); - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - -QLineEdit#hdf { - background-color: rgb(0, 171, 102, 20); - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; -} - -QLabel#hdf { - background-color: rgb(0, 171, 102, 20); - color: black; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin: 5px; - qproperty-alignment: AlignCenter; -} - - -QComboBox#hdf { - background-color: rgb(0, 171, 102, 20); - selection-color: black; - selection-background-color: steelblue; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 5px; - margin: 5px; -} - - -QTextEdit#hdf { - background-color: rgb(0, 171, 102, 20); - selection-color: black; - selection-background-color: steelblue; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 5px; - margin: 5px; -} - - -QPushButton#hdf -{ - background-color: rgb(0, 171, 102, 20);; - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 6px; - border-radius: 5px; - padding-left: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - -QPushButton#hdflight -{ - background-color: rgb(0, 171, 102, 20);; - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 2px; - border-radius: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - -QComboBox::drop-down#Elog { - subcontrol-origin: padding; - subcontrol-position: right; - border-left-width: 1px; - border-left-color: darkgray; - border-left-style: solid; -} - -QComboBox::down-arrow#Elog { - image: url(/afs/psi.ch/intranet/SF/Beamdynamics/common/qrc_resources/images/down_arrow.png); -} - -QLabel#BSRead, -QLabel#CARead, -QLabel#Readback { - background-color: #ffffe0; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: AlignCenter; -} - -QLineEdit#BSRead, -QLineEdit#CARead, -QLineEdit#Readback { - background-color: #ffffe0; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: AlignRight; - qproperty-readOnly: true; -} - - -QComboBox#Write::disabled -{ - color:#aaaaaa; -} - -QLineEdit#Write::disabled -{ - color:#aaaaaa; -} - -QLineEdit#WriteLeft::disabled -{ - color:#aaaaaa; -} - - -QLineEdit#WriteCenter::disabled -{ - color:#aaaaaa; -} - - -QLineEdit#WriteRight::disabled -{ - color:#aaaaaa; -} - - -QRadioButton#Write::disabled -{ - color:#aaaaaa; -} - - -QComboBox#Write -{ - background-color: #ffffff; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding-left: 4px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; -} - -QCheckBox::checked#Simulation -{ - background-color: purple; - color:#dddddd; -} - -QCheckBox::checked:disabled#Simulation -{ - background-color: purple; - color:#dddddd; -} - -QCheckBox::unchecked{ - background-color: #e1e1e1; - color:black; -} - -QCheckBox::disabled -{ - color:#aaaaaa; - background-color:#eeeeee; -} - - - -QCheckBox { - spacing: 5px; - background-color: #ffffff; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding-left: 4px; - padding-right: 4px; - padding-top: 1px; - padding-bottom: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; -} - -QCheckBox::indicator { - width: 15px; - height: 15px; -} - -QCheckBox#Reconnect { - background-color: #e1e1e1; - color:black; - font-size: 10pt; - border: 0px solid lightgray; - border-radius: 0px; - padding-left: 0px; - padding-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - margin-left: 3px; - margin-right: 0px; - margin-top: 1px; - margin-bottom: 1px; -} - -QCheckBox::indicator#Reconnect { - width: 14px; - height: 14px; -} - - -AppQLineEdit, -QLineEdit#Write { - background-color: #ffffff; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: "AlignRight | AlignVCenter"; - qproperty-readOnly: false; - -} - -QLineEdit#WriteCenter { - background-color: #ffffff; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: "AlignHCenter | AlignVCenter"; - qproperty-readOnly: false; - -} - -QLineEdit#WriteLeft { - background-color: #ffffff; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: "AlignLeft | AlignVCenter"; - qproperty-readOnly: false; - -} - -QLineEdit#Read { - background-color: #dfdfdf; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: AlignCenter; - qproperty-readOnly: true; -} - -QLineEdit#Read14 { - background-color: #dfdfdf; - color:black; - font-size: 14px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: AlignCenter; - qproperty-readOnly: true; -} - - - -QLineEdit#Controller, -QSpinBox#Controller, -QDoubleSpinBox#Controller -{ - background-color: rgba(160, 160, 160, 255); - color:black; - selection-color: white; - selection-background-color: #4d94ff; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid gray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: AlignCenter; - qproperty-readOnly: false; -} - - -CAQMessageButton::pressed#Controller, -QPushButton::pressed#Controller[actOnBeam="true"] -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(117, 119, 57, 40), - stop:1 rgb(217, 219, 157, 200)); -border-style: inset; -} - -CAQMessageButton::pressed#Controller, -QPushButton::pressed#Controller[notActOnBeam="true"] -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(117, 119, 57, 40), - stop:1 rgb(160, 160, 160, 200)); -border-style: inset; - -} -CAQMessageButton::!enabled#Controller, -QPushButton::!enabled#Controller -{ - color:#777777; -} - -CAQMessageButton#Controller, -QPushButton#Controller -{ - background-color: rgba(160, 160, 160, 255); - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 6px; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - -QPushButton::hover#WriteData -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(137, 139, 87, 40), - stop:1 rgb(20, 181, 122, 20)); -border-style: inset; -} - - -QPushButton::pressed#WriteData -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(117, 119, 57, 40), - stop:1 rgb(0, 171, 102, 20)); -border-style: inset; -} - - -QPushButton::disabled#WriteData -{ - color:#aaaaaa; -} - - -QPushButton#WriteData -{ - background-color: rgba(225, 225, 225, 255); - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 4px; - border-radius: 5px; - padding-left: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - -QPushButton::hover#Cancel -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(196, 174, 173, 255), - stop:1 rgb(255, 255, 255, 200)); -border-style: inset; -} - - -QPushButton::pressed#Cancel -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(196, 174, 173, 255), - stop:1 rgb(255, 255, 255, 200)); -border-style: inset; -} - - -QPushButton::disabled#Cancel -{ - color:#aaaaaa; -} - - -QPushButton#Cancel -{ - background-color: rgba(225, 225, 225, 255); - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 4px; - border-radius: 5px; - padding-left: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - - - -QPushButton::hover#hdf, -QPushButton::hover#Update, -QPushButton::hover#Action -{ - background: rgba(196, 174, 173, 255); -} - -QPushButton::pressed#hdf, -QPushButton::pressed#Update, -QPushButton::pressed#Action -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(117, 119, 57, 40), - stop:1 rgb(225, 225, 225, 200)); -border-style: inset; -} - -QPushButton::disabled#Update, -QPushButton::disabled#Action -{ - color:#aaaaaa; -} - - -QPushButton#Action -{ - background-color: rgba(225, 225, 225, 255); - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 6px; - border-radius: 5px; - padding-left: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - -QPushButton::disabled#Archiver -{ - color:#aaaaaa; -} - - -QPushButton::pressed#Archiver -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(117, 119, 57, 40), - stop:1 rgb(173, 216, 230, 200)); -border-style: inset; -} - - -QPushButton#Update -{ - background-color: rgba(225, 225, 225, 255); - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 2px; - border-radius: 1px; - padding-left: 1px; - padding-right: 1px; - margin-left: 0px; - margin-right: 0px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - -QPushButton#Archiver -{ - background-color: rgba(173, 216, 230, 255); - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 6px; - border-radius: 5px; - padding-left: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - -QPushButton::pressed#RelatedDisplay -{ -background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, - stop:0 lightgray, stop: 0.2 rgba(117, 119, 57, 40), - stop:1 rgb(183, 157, 92, 200)); -border-style: inset; -} - -QPushButton#RelatedDisplay -{ - background-color: rgba(183, 157, 92, 255); - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 6px; - border-radius: 5px; - padding: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - -QPushButton::disabled#Abort -{ - background-color: pink; - color:#777777; -} - -QPushButton#Abort -{ - background-color: #DB7093; /*rgba(212, 21, 15, 255);*/ - color:black; - font-size: 16px; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border-style: outset; - border-color: gray; - border-width: 6px; - border-radius: 5px; - padding: 5px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - text-align: AlignCenter; -} - - -QSpinBox#Write, -QDoubleSpinBox#Write -{ - background-color: #ffffff; - color:black; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans serif"; - border: 2px solid lightgray; - border-radius: 5px; - padding: 1px; - margin-left: 2px; - margin-right: 2px; - margin-top: 2px; - margin-bottom: 2px; - qproperty-alignment: AlignRight; -} - -QSpinBox::disabled#Write, -QDoubleSpinBox::disabled#Write -{ - color: #aaaaaa; -} - -QSpinBox::up-button#Write, -QDoubleSpinBox::up-button#Write -{ - subcontrol-origin: border; - subcontrol-position: top right; /* position at the top right corner */ - width: 14px; /* 16 + 2*1px border-width = 15px padding + 3px parent border */ - border-image: url(:/spinup.png) 1; - border-left-width: 1px; - margin-top: 2px; - margin-right: 2px; -} - -QSpinBox::up-arrow#Write, -QDoubleSpinBox::up-arrow#Write -{ - image: url(:/up_arrow.png); - width: 6px; - height: 6px; -} - - -QSpinBox::down-button#Write, -QDoubleSpinBox::down-button#Write -{ - subcontrol-origin: border; - subcontrol-position: bottom right; /* position at bottom right corner */ - width: 14px; - border-image: url(:/spindown.png) 1; - border-left-width: 1px; - margin-bottom: 2px; - margin-right: 2px; -} - -QSpinBox::down-arrow#Write, -QDoubleSpinBox::down-arrow#Write -{ - image: url(:/down_arrow.png); - width: 6px; - height: 6px; -} - - -QSpinBox::up-button#Controller, -QDoubleSpinBox::up-button#Controller -{ - subcontrol-origin: border; - subcontrol-position: top right; /* position at the top right corner */ - width: 16px; /* 16 + 2*1px border-width = 15px padding + 3px parent border */ - border-image: url(:/spinup.png) 1; - border-left-width: 1px; - margin-top: 2px; - margin-right: 2px; -} - -QSpinBox::up-button:hover#Write, -QDoubleSpinBox::up-button:hover#Write, -QSpinBox::up-button:hover#Controller, -QDoubleSpinBox::up-button:hover#Controller -{ - border-image: url(:/spinup_hover.png) 1; - background-color: #aaaaaa; -} - -QSpinBox::up-button:pressed#Write, -QDoubleSpinBox::up-button:pressed#Write, -QSpinBox::up-button:pressed#Controller, -QDoubleSpinBox::up-button:pressed#Controller -{ - subcontrol-origin: border; - border-image: url(:/spinup_pressed.png) 1; - background-color: #4d94ff; - border-left-width: 1px; -} - -QSpinBox::up-arrow#Controller, -QDoubleSpinBox::up-arrow#Controller -{ - image: url(:/up_arrow.png); - width: 6px; - height: 6px; -} - - -QSpinBox::up-arrow:disabled#Controller, -QSpinBox::up-arrow:off#Controller, -QDoubleSpinBox::up-arrow:disabled#Controller, -QDoubleSpinBox::up-arrow:off#Controller -{ /* off state when value is max */ - image: url(:/up_arrow_disabled.png); - background-color: black; -} - - -QSpinBox::down-button#Controller, -QDoubleSpinBox::down-button#Controller -{ - subcontrol-origin: border; - subcontrol-position: bottom right; /* position at bottom right corner */ - width: 16px; - border-image: url(:/spindown.png) 1; - border-left-width: 1px; - margin-bottom: 2px; - margin-right: 2px; -} - -QSpinBox::down-button:hover#Write, -QDoubleSpinBox::down-button:hover#Write, -QSpinBox::down-button:hover#Controller, -QDoubleSpinBox::down-button:hover#Controller -{ - border-image: url(:/spindown_hover.png) 1; - background-color: #aaaaaa; - border-left-width: 1px; -} - -QSpinBox::down-button:pressed#Write, -QDoubleSpinBox::down-button:pressed#Write, -QSpinBox::down-button:pressed#Controller, -QDoubleSpinBox::down-button:pressed#Controller -{ - border-image: url(:/spindown_pressed.png) 1; - background-color: #4d94ff; - border-left-width: 1px; -} - -QSpinBox::down-arrow#Controller, -QDoubleSpinBox::down-arrow#Controller -{ - image: url(:/down_arrow.png); - width: 6px; - height: 6px; -} - - -QSpinBox::down-arrow:disabled#Controller, -QSpinBox::down-arrow:off#Controller, -QDoubleSpinBox::down-arrow:disabled#Controller, -QDoubleSpinBox::down-arrow:off#Controller -{ /* off state when value in min */ - image: url(:/down_arrow_disabled.png); - background-color: black; -} - - - -QMainWindow#MainWindow, QWidget#Form, QDialog#Dialog{ - background: rgba(236, 236, 236, 255); -} - - -QWidget.QMessageButton{true - background: rgba(160, 160, 160, 255); - color: #000000; -} - -QWidget.QMessageButton[actOnBeam="true"]{ - color: #000000; - padding: 1px; - margin:2px; - border-width: 2px; - border-radius: 1px; - border-style: outset; - border-color: rgba(120, 120, 120 , 255); - background: rgba(212, 219, 157, 255); -} - - - -QDockWidget#LogDockWidget{ - background-color: #87cefa; - color: #000000; - font: normal 14pt; - font-family: Sans Serif; - border: 2px solid gray; - border-radius: 2px; - padding: 1px; - margin: 0px; -} - -QDockWidget#LogDockWidget::title{ - background-color: #87cefa; -} - - -QDockWidget#LogDockWidget QAbstractItemView{ - selection-color: #ffffff; - selection-background-color: #4d94ff; - font-size: 13px; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px solid darkgray; - border-radius: 2px; - padding: 0px; - margin: 5px; -} - - -QMessageWidget{ - background-color: rgba(245, 245, 245, 255); - selection-background-color: #4d94ff; -} - - -QMessageWidget#Log{ - background-color: #87cefa; - selection-background-color: #4d94ff; -} - -QMessageBox{ - background: #add8e6; /*#87CEFA; lightblue/ light sky blue*/ -} - - -QProgressBar{ - border: 2px solid grey; - border-radius: 2px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #CD96CD; - width: 10px; - margin: 0.5px; -} - - -QProgressBar#simulation{ - border: 2px solid grey; - border-radius: 2px; - background-color: rgb(235,222,240,185); - text-align: center; -} - -QProgressBar::chunk#simulation { - background-color: #CD96CD; - width: 10px; - margin: 0.5px; -} - - -QProgressBar#blue{ - border: 2px solid grey; - border-radius: 2px; - background-color: rgb(173,216,230, 85); - text-align: center; -} - -QProgressBar::chunk#blue { - background-color: rgb(70, 130, 180, 185); - width: 10px; - margin: 0.5px; -} - -QProgressBar#green{ - border: 2px solid grey; - border-radius: 2px; - background-color: rgb(144,238,144, 25); - text-align: center; -} - -QProgressBar::chunk#green { - background-color: rgb(143,188,143); /*rgba(60, 179, 113, 25);*/ - width: 10px; - margin: 0.5px; -} - - -QProgressBar#abort{ - border: 2px solid grey; - border-radius: 2px; - text-align: center; - background-color: #DB7093; /*rgb(212, 21, 15);*/ -} - -QProgressBar::chunk#abort { - background-color: pink; - width: 10px; - margin: 0.5px; -} - - -CAQNumeric{ - background-color: rgba(160, 160, 160, 255); - color:black; - font-size: 12pt; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; - border: 1px groove black; - border-radius: 1px; - padding: 1px; -} - - -/*FYI: Plain QToolButton controls main Toolbar!! */ -/* Controls QWheelComponents */ -QLabel[wheelArrow="true"], QToolButton[wheelArrow="true"] { - background-color: rgba(212, 219, 157, 255); - border: 0px groove black; - color: black; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; - width: 12px; - height: 10px; -} -QLabel[wheelSign="true"], QToolButton[wheelSign="true"]{ - background-color: rgba(212, 219, 157, 255); - border: 0px groove black; - color: black; - font-style: normal; - font-weight: bold; - font-family: "Monospace"; - width: 6px; - height: 10px; -} - -caQSpinBox{ - background-color: rgba(160, 160, 160, 255); - border-image: url(:/images/frame.png) 4; - border-width: 3; - color:black; - selection-color: black; - selection-background-color: #add8e6; - font-size: 12pt; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; - border: 1px groove black; - border-radius: 1px; - padding: 1px; - padding-right: 15px; - margin: 1px; -} - - -QLabel#units{ - /*background: #87cefa;*/ - color: #000000; - font-size: 12pt; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; - padding: 1px; - margin: 0px; -} - - -QLabel#Tagged{ - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - padding: 1px; - margin: 0px; - qproperty-alignment: "AlignLeft | AlignVCenter"; -} - -QLabel[statusTip="log"]{ - background: #ADD8E6; - padding: 1px; - margin: 0px; -} - -QLabel[statusTip="static"]{ - background-color: #ffffe0; - color: black; - font-size: 12pt; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; - qproperty-alignment: "AlignRight | AlignVCenter"; - padding: 1px; - margin: 0px; -} - - -QLabel[statusTip="alarm"]{ - background-color: rgba(200,200,200); - color: black; - font-size: 12pt; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; - qproperty-alignment: "AlignRight | AlignVCenter"; - padding: 1px; - margin: 0px; -} - - -QComboBox > QToolTip { - color: #000000; - background-color: #97cefa; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px groove black; - border-radius: 3px; - - margin: 0px; - qproperty-alignment: "AlignCenter | AlignVCenter"; -} - - -QToolTip { - color: #000000; - background-color: #97cefa; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Sans Serif"; - border: 2px groove black; - border-radius: 3px; - margin: 0px; - qproperty-alignment: "AlignCenter | AlignVCenter"; -} - - - -QToolBox[actOnBeam="true"]{ - background-color: rgba(212, 219, 157, 255); -} - - -QLabel[actOnBeam="true"]{ - background-color: rgba(212, 219, 157, 255); - color: #000000; - font-size: 10pt; - font-style: normal; - font-weight: 500; - font-family: "Monospace"; -} - - - - -/*-----------------------------------------------*/ -/* Containers */ -/*-----------------------------------------------*/ -QTabWidget{ - background-color: rgba(225, 225, 225, 255); -} - -QGroupBox{ - background-color: rgba(225, 225, 225, 255); -} - -QToolBox{ - background: rgba(225, 225, 225, 255); - qproperty-frameShape: StyledPanel; - qproperty-frameShadow: Plain; -} - diff --git a/common/config/acc.qss b/common/config/acc.qss new file mode 120000 index 0000000..80525f1 --- /dev/null +++ b/common/config/acc.qss @@ -0,0 +1 @@ +../../../../../common/config/acc.qss \ No newline at end of file diff --git a/common/config/style.json b/common/config/style.json deleted file mode 100644 index d990ff7..0000000 --- a/common/config/style.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "menuFlags":{ - "hasFile": 1, - "loadInitFile": 1, - "hasDaq": 1, - "hasH5" : 1, - "hasEpics" : 1 - }, - "MsgSeverity": { - "fatal": "#ee0011", - "error": "#990033", - "warn": "#cc6600", - "info": "#0040ff", - "debug": "#11aaee" - }, - "stdlog": { - "destination": "/afs/psi.ch/intranet/Controls/tmp/bdbase/stdlog/" - }, - "screenshot": { - "destination": "/afs/psi.ch/intranet/Controls/tmp/bdbase/screenshot/" - }, - "StyleGuide":{ - "widgetHeight": 25, - "extraGroupHeight": 30, - "fgAlarmInvalid": "#ffffff", - "fgAlarmMajor": "#ff0000", - "fgAlarmMinor": "#fbfb04", - "fgAlarmNoAlarm": "#00cd00", - "fgNormalText": "#000000", - "fgCurveHor": "#2a63e4", - "fgCurveVer": "#8b1a96", - "fgCurveLong": "#cd6100", - "bgTitleOperation": "#dadada", - "bgTitleExpert": "#646464", - "bgTitleSimulation":"#8b1a96", - "bgMain": "#ececec", - "bgReadbackAlarm": "#c8c8c8", - "bgReadback" : "#ffffe0", - "bgPVSetBeam": "#d4db9d", - "bgPVSet": "#a0a0a0", - "bgButtonWindow": "#b79d5c", - "bgGroupContainers":"#e1e1e1", - "bgErrorLogFile" : "#f0f0f8", - "machine_color": "#2e5894", - "machine_qlingrad": "qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 gray , stop: 1 #ffffff)" - - }, - "Machine" : { - "color" : "gray", - "qlingrad": "qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 gray , stop: 1 #ffffff)" - } -} diff --git a/common/config/style.json b/common/config/style.json new file mode 120000 index 0000000..9151436 --- /dev/null +++ b/common/config/style.json @@ -0,0 +1 @@ +../../../../../common/config/style.json \ No newline at end of file diff --git a/facility/sf/config/base.json b/facility/sf/config/base.json index 8422a93..9868d50 100644 --- a/facility/sf/config/base.json +++ b/facility/sf/config/base.json @@ -77,7 +77,7 @@ "offset": 0, "timeoutMS":1000 }, - + "Target" : ["Aramis", "Athos", "Porthos"], "Aramis":{ "undulators":["SARUN03-UIND030:K_SET", "SARUN04-UIND030:K_SET", "SARUN05-UIND030:K_SET", "SARUN06-UIND030:K_SET", "SARUN07-UIND030:K_SET", "SARUN08-UIND030:K_SET", @@ -93,7 +93,7 @@ "beamStatus": "SOP-BEAMSTATUS-AR", "energy" : "SARBD02-DBPM040:ENERGY-OP", "charge": "SINEG01-DICT215:B1_CHARGE-OP", - "freq": "SIN-TIMAST-TMA:Bunch-1-Appl-Freq-RB", + "freq": "SIN-TIMAST-TMA:Bunch-1-Exp-Freq-RB", "laser": "SWISSFEL-STATUS:Bunch-1-Las-Appl-RB", "photonEnergy": "SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG", "color": "#00b7eb", @@ -117,7 +117,7 @@ "beamStatus": "SOP-BEAMSTATUS-AT", "energy" : "SATBD02-DBPM040:ENERGY-OP", "charge": "SINEG01-DICT215:B2_CHARGE-OP", - "freq": "SIN-TIMAST-TMA:Bunch-2-Appl-Freq-RB", + "freq": "SIN-TIMAST-TMA:Bunch-2-Exp-Freq-RB", "laser": "SWISSFEL-STATUS:Bunch-2-Las-Appl-RB", "photonEnergy": "SATFE10-PEPG046:PHOTON-ENERGY-PER-PULSE-AVG", "color": "#2e5894", @@ -126,7 +126,7 @@ "Porthos":{ "laser": "SWISSFEL-STATUS:Bunch-2-Las-Appl-RB", "pvFreqRB": "SIN-TIMAST-TMA:Bunch-2-Appl-Freq-RB", - "freq": "SIN-TIMAST-TMA:Bunch-2-Appl-Freq-RB", + "freq": "SIN-TIMAST-TMA:Bunch-2-Exp-Freq-RB", "beamStatus": "SOP-BEAMSTATUS-AT", "energy" : "SATBD02-DBPM040:ENERGY-OP", "charge": "SINEG01-DICT215:B2_CHARGE-OP", @@ -134,6 +134,7 @@ "color": "#9c6da5", "qlingrad": "qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #9b111e, stop: 1 #FFFFFF)" }, + "showPorthos": 0, "Update":{ "freq": [0.5, 1, 2, 5, 10], "defaultIdx": 1 diff --git a/facility/sf/images b/facility/sf/images index ccc7a5b..093a8d3 120000 --- a/facility/sf/images +++ b/facility/sf/images @@ -1 +1 @@ -../../common/images/ \ No newline at end of file +../../../../../common/images \ No newline at end of file diff --git a/facility/sf/pyrcc5/__pycache__/qrc_resources.cpython-37.pyc b/facility/sf/pyrcc5/__pycache__/qrc_resources.cpython-37.pyc index 085e4bedd82afd3158913a7506efac69c5bd518c..81d1314ff27716eba3cb0dc89927aba48212f59b 100644 GIT binary patch delta 12762 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 delta 19530 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