# we want the stock screens to show up in a specific order. plugins can
# show up in any order afterward.
- sort_order = ["mainscreen", "configscreen", "helpscreen"]
+ sort_order = ["mainscreen", "userscreen", "configscreen", "helpscreen"]
sort_order.reverse()
for modname in sort_order:
if modname in modnames:
creation_time = os.stat(rspec_file).st_ctime
last_update = time.ctime(creation_time)
- self.set("Slice data last updated on %s" % last_update, timeout=None)
+ self.set("Slice data last refreshed on %s" % last_update, timeout=None)
def reset(self):
self.setText("")
def __init__(self, parent=None):
QWidget.__init__(self, parent)
- self.logWindow = LogWindow(self)
- self.rspecWindow = RSpecWindow(self)
+ # These are top-level windows and should be initialized with parent set
+ # to our parent. Otherwise, getting a segfault on exit in Ubuntu.
+ self.logWindow = LogWindow(parent)
+ self.rspecWindow = RSpecWindow(parent)
self.pix = QLabel(self)
def nodeSelectionChanged(self, hostname):
if self.rspecWindow.isVisible():
self.rspecWindow.showNode(hostname)
+
+ def closeEvent(self, event):
+ # give the screens an opportunity to veto the close
+ for screen in self.screenWidgets:
+ if not screen.canClose():
+ event.ignore()
+ return
+
+ # give the screens an opportunity to close gracefully
+ for screen in self.screenWidgets:
+ screen.mainWindowClose()
+
+ QWidget.closeEvent(self, event)
+