forked from M-Labs/artiq
dashboard: remember experiment editor scroll positions
This commit is contained in:
parent
55363e2ff9
commit
f010a74479
|
@ -199,7 +199,10 @@ class _ArgumentEditor(QtWidgets.QTreeWidget):
|
||||||
for k, v in self._groups.items():
|
for k, v in self._groups.items():
|
||||||
if v.isExpanded():
|
if v.isExpanded():
|
||||||
expanded.append(k)
|
expanded.append(k)
|
||||||
return {"expanded": expanded}
|
return {
|
||||||
|
"expanded": expanded,
|
||||||
|
"scroll": self.verticalScrollBar().value()
|
||||||
|
}
|
||||||
|
|
||||||
def restore_state(self, state):
|
def restore_state(self, state):
|
||||||
for e in state["expanded"]:
|
for e in state["expanded"]:
|
||||||
|
@ -207,6 +210,7 @@ class _ArgumentEditor(QtWidgets.QTreeWidget):
|
||||||
self._groups[e].setExpanded(True)
|
self._groups[e].setExpanded(True)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
|
self.verticalScrollBar().setValue(state["scroll"])
|
||||||
|
|
||||||
|
|
||||||
log_levels = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
|
log_levels = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
|
||||||
|
@ -650,15 +654,16 @@ class ExperimentManager:
|
||||||
"scheduling": self.submission_scheduling,
|
"scheduling": self.submission_scheduling,
|
||||||
"options": self.submission_options,
|
"options": self.submission_options,
|
||||||
"arguments": self.submission_arguments,
|
"arguments": self.submission_arguments,
|
||||||
"docks": self.dock_states
|
"docks": self.dock_states,
|
||||||
|
"open_docks": set(self.open_experiments.keys())
|
||||||
}
|
}
|
||||||
|
|
||||||
def restore_state(self, state):
|
def restore_state(self, state):
|
||||||
if self.open_experiments:
|
if self.open_experiments:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
self.dock_states = state["docks"]
|
||||||
self.submission_scheduling = state["scheduling"]
|
self.submission_scheduling = state["scheduling"]
|
||||||
self.submission_options = state["options"]
|
self.submission_options = state["options"]
|
||||||
self.submission_arguments = state["arguments"]
|
self.submission_arguments = state["arguments"]
|
||||||
for expurl, dock_state in state["docks"].items():
|
for expurl in state["open_docks"]:
|
||||||
dock = self.open_experiment(expurl)
|
self.open_experiment(expurl)
|
||||||
dock.restore_state(dock_state)
|
|
||||||
|
|
Loading…
Reference in New Issue