瀏覽代碼

wxGUI: save changes to workspace notification fixed, author Adam Laza, see https://trac.osgeo.org/grass/ticket/2369

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@68668 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 8 年之前
父節點
當前提交
bb2e671310
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 2 1
      gui/wxpython/lmgr/frame.py
  2. 3 1
      gui/wxpython/lmgr/layertree.py

+ 2 - 1
gui/wxpython/lmgr/frame.py

@@ -650,8 +650,9 @@ class GMFrame(wx.Frame):
         """Page of notebook closed
         Also close associated map display
         """
+
         if UserSettings.Get(group='manager', key='askOnQuit',
-                            subkey='enabled'):
+                            subkey='enabled') and self.workspaceChanged:
             maptree = self.GetLayerTree()
 
             if self.workspaceFile:

+ 3 - 1
gui/wxpython/lmgr/layertree.py

@@ -1598,7 +1598,6 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
 
     def OnLayerChecked(self, event):
         """Enable/disable data layer"""
-        self.lmgr.WorkspaceChanged()
 
         item = event.GetItem()
         checked = item.IsChecked()
@@ -1618,6 +1617,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                             mapLayer):
                         # ignore when map layer is edited
                         self.Map.ChangeLayerActive(mapLayer, checked)
+                        self.lmgr.WorkspaceChanged()
                     child = self.GetNextSibling(child)
             else:
                 mapLayer = self.GetLayerInfo(item, key='maplayer')
@@ -1625,6 +1625,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                         digitToolbar and digitToolbar.GetLayer() != mapLayer)):
                     # ignore when map layer is edited
                     self.Map.ChangeLayerActive(mapLayer, checked)
+                    self.lmgr.WorkspaceChanged()
 
         # nviz
         if self.mapdisplay.IsPaneShown('3d') and \
@@ -1636,6 +1637,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
 
             self.mapdisplay.SetStatusText(
                 _("Please wait, updating data..."), 0)
+            self.lmgr.WorkspaceChanged()
 
             if checked:  # enable
                 if mapLayer.type == 'raster':