Commit d0e768b2121db6e6fb80e8b1f02a93ece91e4df6

Authored by Paulo Henrique Junqueira Amorim
1 parent 79e73e8e

ENH: Display save dialog in the close project not saved, fixed cancel button

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