Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/artiq
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7ce9fc714aef
Choose a base ref
...
head repository: m-labs/artiq
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: aa1f32a5df4d
Choose a head ref
  • 5 commits
  • 2 files changed
  • 1 contributor

Commits on Jul 9, 2016

  1. Copy the full SHA
    6d0ae68 View commit details
  2. Copy the full SHA
    5cfdaee View commit details
  3. browser: port ea13d00

    jordens committed Jul 9, 2016
    Copy the full SHA
    42093ac View commit details
  4. browser: port b769403

    jordens committed Jul 9, 2016
    Copy the full SHA
    ee5b269 View commit details
  5. browser: port ae914d2

    jordens committed Jul 9, 2016
    Copy the full SHA
    aa1f32a View commit details
Showing with 28 additions and 21 deletions.
  1. +28 −10 artiq/browser/experiments.py
  2. +0 −11 artiq/browser/files.py
38 changes: 28 additions & 10 deletions artiq/browser/experiments.py
Original file line number Diff line number Diff line change
@@ -42,6 +42,9 @@ def __init__(self, dock):
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()
@@ -50,6 +53,10 @@ def __init__(self, dock):

if not self._dock.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 self._dock.arguments.items():
try:
@@ -59,11 +66,20 @@ def __init__(self, dock):
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")
@@ -85,16 +101,14 @@ def __init__(self, dock):
recompute_arguments.clicked.connect(self._recompute_arguments_clicked)

load = QtWidgets.QPushButton("Set arguments from HDF5")
load.setToolTip("Set arguments from currently selected HDF5 "
"file (Ctrl+Space)")
load.setToolTip("Set arguments from currently selected HDF5 file")
load.setIcon(QtWidgets.QApplication.style().standardIcon(
QtWidgets.QStyle.SP_DialogApplyButton))
load.setShortcut("CTRL+SPACE")
load.clicked.connect(self._load_clicked)

buttons = LayoutWidget()
buttons.addWidget(recompute_arguments, 1, 1)
buttons.addWidget(load, 2, 1)
buttons.addWidget(load, 1, 2)
for i, s in enumerate((1, 0, 0, 1)):
buttons.layout.setColumnStretch(i, s)
self.setItemWidget(widget_item, 1, buttons)
@@ -103,12 +117,12 @@ def _get_group(self, name):
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
@@ -166,6 +180,8 @@ class _ExperimentDock(QtWidgets.QMdiSubWindow):

def __init__(self, area, expurl, arguments):
QtWidgets.QMdiSubWindow.__init__(self)
qfm = QtGui.QFontMetrics(self.font())
self.resize(100*qfm.averageCharWidth(), 30*qfm.lineSpacing())
self.setWindowTitle(expurl)
self.setWindowIcon(QtWidgets.QApplication.style().standardIcon(
QtWidgets.QStyle.SP_FileDialogContentsView))
@@ -258,8 +274,10 @@ async def _recompute_arguments(self, overrides={}):
arginfo[k][0]["default"] = v
self.arguments = self._area.initialize_submission_arguments(arginfo)

state = self.argeditor.save_state()
self.argeditor.deleteLater()
self.argeditor = _ArgumentEditor(self)
self.argeditor.restore_state(state)
self.layout.addWidget(self.argeditor, 0, 0, 1, 5)

async def load_hdf5_task(self, filename=None):
11 changes: 0 additions & 11 deletions artiq/browser/files.py
Original file line number Diff line number Diff line change
@@ -161,19 +161,8 @@ def __init__(self, datasets, browse_root="", restore_selection=True):
self.rl.activated.connect(self.list_activated)
self.splitter.addWidget(self.rl)

self.rl.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
rev_copy = QtWidgets.QAction("Copy repo_rev (SHIFT-CTRL-C)",
self.rl)
rev_copy.triggered.connect(self._copy_repo_rev)
rev_copy.setShortcut("SHIFT-CTRL-C")
rev_copy.setShortcutContext(QtCore.Qt.WidgetShortcut)
self.rl.addAction(rev_copy)

self.restore_selection = restore_selection

def _copy_repo_rev(self):
pass

def tree_current_changed(self, current, previous):
idx = self.rt.model().mapToSource(current)
self.rl.setRootIndex(idx)