report-xfstests: Preserve the current property page when switching runs
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
e5a8e46cd9
commit
2ef3eea690
|
@ -39,9 +39,9 @@ class TestViewer(Gtk.Box):
|
|||
SizeGroup.add_widget(self.switcher)
|
||||
|
||||
def set_test_result(self, file):
|
||||
self.stack.clear()
|
||||
current = self.stack.clear()
|
||||
self.viewer.clear()
|
||||
if file and file.get_is_test_result():
|
||||
results = testresults.TestResults(file.path)
|
||||
self.stack.show_properties(results)
|
||||
self.stack.show_properties(results, current)
|
||||
self.viewer.show_results(results)
|
||||
|
|
|
@ -122,20 +122,26 @@ class NotRunView(Gtk.ListView):
|
|||
|
||||
class Stack(Gtk.Stack):
|
||||
def __init__(self):
|
||||
Gtk.Stack.__init__(self, transition_type=Gtk.StackTransitionType.OVER_LEFT_RIGHT)
|
||||
Gtk.Stack.__init__(self)
|
||||
common.SizeGroup.add_widget(self)
|
||||
|
||||
def clear(self):
|
||||
current = self.get_visible_child_name()
|
||||
pages = self.get_pages()
|
||||
children = [ pages.get_item(i).get_child() for i in range(pages.get_n_items()) ]
|
||||
for child in children:
|
||||
self.remove(child)
|
||||
return current
|
||||
|
||||
def show_properties(self, results):
|
||||
def show_properties(self, results, current):
|
||||
self.set_transition_type(Gtk.StackTransitionType.NONE)
|
||||
for version in results.versions:
|
||||
self.add_page(View(results.properties[version]), version, Gtk.PolicyType.NEVER)
|
||||
self.add_page(NotRunView(results.skipped), "[not run]", Gtk.PolicyType.AUTOMATIC)
|
||||
self.add_page(View(results.properties[version]), version, Gtk.PolicyType.NEVER, current)
|
||||
self.add_page(NotRunView(results.skipped), "[not run]", Gtk.PolicyType.AUTOMATIC, current)
|
||||
self.set_transition_type(Gtk.StackTransitionType.OVER_LEFT_RIGHT)
|
||||
|
||||
def add_page(self, child, name, policy):
|
||||
def add_page(self, child, name, policy, current):
|
||||
window = Gtk.ScrolledWindow(vscrollbar_policy=policy, child=child)
|
||||
self.add_titled(window, name, name)
|
||||
if current == name:
|
||||
self.set_visible_child(window)
|
||||
|
|
Loading…
Reference in New Issue