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. Verified

    This commit was signed with the committer’s verified signature.
    makenowjust Hiroya Fujinami
    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)