소스 검색

wxGUI: fix trac https://trac.osgeo.org/grass/ticket/450

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@35501 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 16 년 전
부모
커밋
4897126dcf
1개의 변경된 파일19개의 추가작업 그리고 9개의 파일을 삭제
  1. 19 9
      gui/wxpython/wxgui.py

+ 19 - 9
gui/wxpython/wxgui.py

@@ -581,27 +581,37 @@ class GMFrame(wx.Frame):
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay()
             self.NewDisplay()
-
+        
         maptree = self.curr_page.maptree
         maptree = self.curr_page.maptree
-
+        
         # ask user to save current settings
         # ask user to save current settings
         if maptree.GetCount() > 0:
         if maptree.GetCount() > 0:
-             dlg = wx.MessageDialog(self, message=_("Workspace is not empty. "
+             dlg = wx.MessageDialog(self, message=_("Current workspace is not empty. "
                                                     "Do you want to store current settings "
                                                     "Do you want to store current settings "
                                                     "to workspace file?"),
                                                     "to workspace file?"),
-                                    caption=_("Save current settings?"),
-                                    style=wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
-             if dlg.ShowModal() == wx.ID_YES:
+                                    caption=_("Create new workspace?"),
+                                    style=wx.YES_NO | wx.YES_DEFAULT | \
+                                        wx.CANCEL | wx.ICON_QUESTION)
+             ret = dlg.ShowModal()
+             if ret == wx.ID_YES:
                  self.OnWorkspaceSaveAs()
                  self.OnWorkspaceSaveAs()
+             elif ret == wx.ID_CANCEL:
+                 dlg.Destroy()
+                 return
+             
              dlg.Destroy()
              dlg.Destroy()
-
+        
         # delete all items
         # delete all items
         maptree.DeleteAllItems()
         maptree.DeleteAllItems()
-
+        
         # add new root element
         # add new root element
         maptree.root = maptree.AddRoot("Map Layers")
         maptree.root = maptree.AddRoot("Map Layers")
         self.curr_page.maptree.SetPyData(maptree.root, (None,None))
         self.curr_page.maptree.SetPyData(maptree.root, (None,None))
-
+        
+        # no workspace file loaded
+        self.workspaceFile = None
+        self.SetTitle(self.baseTitle)
+        
     def OnWorkspaceOpen(self, event=None):
     def OnWorkspaceOpen(self, event=None):
         """Open file with workspace definition"""
         """Open file with workspace definition"""
         dlg = wx.FileDialog(parent=self, message=_("Choose workspace file"),
         dlg = wx.FileDialog(parent=self, message=_("Choose workspace file"),