Commit d0e768b2121db6e6fb80e8b1f02a93ece91e4df6
1 parent
79e73e8e
Exists in
master
and in
68 other branches
ENH: Display save dialog in the close project not saved, fixed cancel button
Showing
3 changed files
with
6 additions
and
12 deletions
Show diff stats
invesalius/control.py
@@ -163,12 +163,12 @@ class Controller(): | @@ -163,12 +163,12 @@ class Controller(): | ||
163 | if (filename): | 163 | if (filename): |
164 | if (st == const.PROJ_NEW) or (st == const.PROJ_CHANGE): | 164 | if (st == const.PROJ_NEW) or (st == const.PROJ_CHANGE): |
165 | answer = dialog.SaveChangesDialog(filename, self.frame) | 165 | answer = dialog.SaveChangesDialog(filename, self.frame) |
166 | - | ||
167 | if not answer: | 166 | if not answer: |
168 | debug("Close without changes") | 167 | debug("Close without changes") |
169 | self.CloseProject() | 168 | self.CloseProject() |
170 | ps.Publisher().sendMessage("Enable state project", False) | 169 | ps.Publisher().sendMessage("Enable state project", False) |
171 | ps.Publisher().sendMessage('Set project name') | 170 | ps.Publisher().sendMessage('Set project name') |
171 | + ps.Publisher().sendMessage("Stop Config Recording") | ||
172 | ps.Publisher().sendMessage('Close Window') | 172 | ps.Publisher().sendMessage('Close Window') |
173 | elif answer == 1: | 173 | elif answer == 1: |
174 | self.ShowDialogSaveProject() | 174 | self.ShowDialogSaveProject() |
@@ -176,13 +176,16 @@ class Controller(): | @@ -176,13 +176,16 @@ class Controller(): | ||
176 | self.CloseProject() | 176 | self.CloseProject() |
177 | ps.Publisher().sendMessage("Enable state project", False) | 177 | ps.Publisher().sendMessage("Enable state project", False) |
178 | ps.Publisher().sendMessage('Set project name') | 178 | ps.Publisher().sendMessage('Set project name') |
179 | + ps.Publisher().sendMessage("Stop Config Recording") | ||
179 | ps.Publisher().sendMessage('Close Window') | 180 | ps.Publisher().sendMessage('Close Window') |
181 | + | ||
180 | elif answer == -1: | 182 | elif answer == -1: |
181 | debug("Cancel") | 183 | debug("Cancel") |
182 | else: | 184 | else: |
183 | self.CloseProject() | 185 | self.CloseProject() |
184 | ps.Publisher().sendMessage("Enable state project", False) | 186 | ps.Publisher().sendMessage("Enable state project", False) |
185 | ps.Publisher().sendMessage('Set project name') | 187 | ps.Publisher().sendMessage('Set project name') |
188 | + ps.Publisher().sendMessage("Stop Config Recording") | ||
186 | ps.Publisher().sendMessage('Close Window') | 189 | ps.Publisher().sendMessage('Close Window') |
187 | 190 | ||
188 | else: | 191 | else: |
invesalius/gui/dialogs.py
@@ -376,14 +376,11 @@ def SaveChangesDialog(filename, parent): | @@ -376,14 +376,11 @@ def SaveChangesDialog(filename, parent): | ||
376 | dlg = wx.MessageDialog(None, msg, "InVesalius 3", | 376 | dlg = wx.MessageDialog(None, msg, "InVesalius 3", |
377 | wx.ICON_QUESTION | wx.YES_NO | wx.CANCEL) | 377 | wx.ICON_QUESTION | wx.YES_NO | wx.CANCEL) |
378 | 378 | ||
379 | - dlg.Bind(wx.EVT_LEFT_UP, teste) | ||
380 | - | ||
381 | try: | 379 | try: |
382 | answer = dlg.ShowModal() | 380 | answer = dlg.ShowModal() |
383 | except(wx._core.PyAssertionError): #TODO: FIX win64 | 381 | except(wx._core.PyAssertionError): #TODO: FIX win64 |
384 | answer = wx.ID_YES | 382 | answer = wx.ID_YES |
385 | 383 | ||
386 | - | ||
387 | dlg.Destroy() | 384 | dlg.Destroy() |
388 | os.chdir(current_dir) | 385 | os.chdir(current_dir) |
389 | 386 | ||
@@ -394,10 +391,6 @@ def SaveChangesDialog(filename, parent): | @@ -394,10 +391,6 @@ def SaveChangesDialog(filename, parent): | ||
394 | else: | 391 | else: |
395 | return -1 | 392 | return -1 |
396 | 393 | ||
397 | -def teste(evt): | ||
398 | - print evt | ||
399 | - print "ENTROUUUUUUUUUUUUUUUUUUUUUUUUUUU" | ||
400 | - | ||
401 | def SaveChangesDialog2(filename): | 394 | def SaveChangesDialog2(filename): |
402 | current_dir = os.path.abspath(".") | 395 | current_dir = os.path.abspath(".") |
403 | msg = _("The project %s has been modified.\nSave changes?")%filename | 396 | msg = _("The project %s has been modified.\nSave changes?")%filename |
invesalius/gui/frame.py
@@ -120,13 +120,11 @@ class Frame(wx.Frame): | @@ -120,13 +120,11 @@ class Frame(wx.Frame): | ||
120 | def __bind_events_wx(self): | 120 | def __bind_events_wx(self): |
121 | self.Bind(wx.EVT_SIZE, self.OnSize) | 121 | self.Bind(wx.EVT_SIZE, self.OnSize) |
122 | self.Bind(wx.EVT_MENU, self.OnMenuClick) | 122 | self.Bind(wx.EVT_MENU, self.OnMenuClick) |
123 | - self.Bind(wx.EVT_CLOSE, self.CloseWindow) | 123 | + self.Bind(wx.EVT_CLOSE, self.OnClose) |
124 | #self.Bind(wx.EVT_CLOSE, self.OnExit) | 124 | #self.Bind(wx.EVT_CLOSE, self.OnExit) |
125 | 125 | ||
126 | - def CloseWindow(self, evt): | 126 | + def OnClose(self, evt): |
127 | ps.Publisher().sendMessage('Close Project') | 127 | ps.Publisher().sendMessage('Close Project') |
128 | - ps.Publisher().sendMessage("Stop Config Recording") | ||
129 | - self.Destroy() | ||
130 | 128 | ||
131 | def __init_aui(self): | 129 | def __init_aui(self): |
132 | 130 |