report-xfstests: Preserve the current property page when switching runs

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
Anna Schumaker 2022-02-09 11:58:06 -05:00
parent e5a8e46cd9
commit 2ef3eea690
2 changed files with 13 additions and 7 deletions

View File

@ -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)

View File

@ -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)