X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fmainwindow.py;h=436756afa5ce537835dd19d9f5573e871daf4448;hp=153336fdd88c50e8f158e50d972e32d1d347ff96;hb=cc8ab984a1f9d51d61368b3602b5059bffbfa2a6;hpb=fd26e02e08369351315c100eba0b97ab7030ef00 diff --git a/sface/mainwindow.py b/sface/mainwindow.py index 153336f..436756a 100644 --- a/sface/mainwindow.py +++ b/sface/mainwindow.py @@ -230,3 +230,17 @@ class MainWindow(QWidget): 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) +