diff --git a/artiq/dashboard/experiments.py b/artiq/dashboard/experiments.py index 460cbd357..e8ad88ebc 100644 --- a/artiq/dashboard/experiments.py +++ b/artiq/dashboard/experiments.py @@ -50,6 +50,9 @@ class _ArgumentEditor(QtWidgets.QTreeWidget): self.setHorizontalScrollMode(self.ScrollPerPixel) self.setVerticalScrollMode(self.ScrollPerPixel) + self.setStyleSheet("QTreeWidget {background: " + + self.palette().midlight().color().name() + " ;}") + self.viewport().installEventFilter(_WheelFilter(self.viewport())) self._groups = dict() @@ -60,16 +63,28 @@ class _ArgumentEditor(QtWidgets.QTreeWidget): if not arguments: self.addTopLevelItem(QtWidgets.QTreeWidgetItem(["No arguments"])) + gradient = QtGui.QLinearGradient( + 0, 0, 0, QtGui.QFontMetrics(self.font()).lineSpacing()*2.5) + gradient.setColorAt(0, self.palette().base().color()) + gradient.setColorAt(1, self.palette().midlight().color()) for name, argument in arguments.items(): entry = argty_to_entry[argument["desc"]["ty"]](argument) widget_item = QtWidgets.QTreeWidgetItem([name]) self._arg_to_entry_widgetitem[name] = entry, widget_item + for col in range(3): + widget_item.setBackground(col, gradient) + font = widget_item.font(0) + font.setBold(True) + widget_item.setFont(0, font) + if argument["group"] is None: self.addTopLevelItem(widget_item) else: self._get_group(argument["group"]).addChild(widget_item) - self.setItemWidget(widget_item, 1, entry) + fix_layout = LayoutWidget() + fix_layout.addWidget(entry) + self.setItemWidget(widget_item, 1, fix_layout) recompute_argument = QtWidgets.QToolButton() recompute_argument.setToolTip("Re-run the experiment's build " "method and take the default value") @@ -123,12 +138,12 @@ class _ArgumentEditor(QtWidgets.QTreeWidget): if name in self._groups: return self._groups[name] group = QtWidgets.QTreeWidgetItem([name]) - for c in 0, 1: - group.setBackground(c, QtGui.QBrush(QtGui.QColor(100, 100, 100))) - group.setForeground(c, QtGui.QBrush(QtGui.QColor(220, 220, 255))) - font = group.font(c) + for col in range(3): + group.setBackground(col, self.palette().mid()) + group.setForeground(col, self.palette().brightText()) + font = group.font(col) font.setBold(True) - group.setFont(c, font) + group.setFont(col, font) self.addTopLevelItem(group) self._groups[name] = group return group @@ -185,6 +200,7 @@ class _ExperimentDock(QtWidgets.QMdiSubWindow): def __init__(self, manager, expurl): QtWidgets.QMdiSubWindow.__init__(self) + self.resize(800, 600) self.setWindowTitle(expurl) self.setWindowIcon(QtWidgets.QApplication.style().standardIcon( QtWidgets.QStyle.SP_FileDialogContentsView))