Преглед на файлове

wxGUI/datacatalog: enable rename, delete, remove in the current mapset

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@66950 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa преди 9 години
родител
ревизия
6e35f1742c
променени са 1 файла, в които са добавени 11 реда и са изтрити 4 реда
  1. 11 4
      gui/wxpython/datacatalog/tree.py

+ 11 - 4
gui/wxpython/datacatalog/tree.py

@@ -243,7 +243,7 @@ class LocationMapTree(TreeView):
         """Display popup menu."""
         self.DefineItems(node)
         if self.selected_layer:
-            self._popupMenuLayer()
+            self._popupMenuLayer(self.selected_mapset.label == self.gmapset)
         elif self.selected_mapset and not self.selected_type:
             self._popupMenuMapset()
 
@@ -360,7 +360,8 @@ class DataCatalogTree(LocationMapTree):
         if self.selected_location == self.copy_location and self.selected_mapset:
             if self.selected_type:
                 if self.copy_type.label != self.selected_type.label:  # copy raster to vector or vice versa
-                    GError(_("Failed to copy layer: invalid type."), parent=self)
+                    GError(_("Failed to copy map: invalid map type "
+                             "({} vs. {}).".format(self.copy_type.label, self.selected_type.label)), parent=self)
                     return
             self.new_name = self._getUserEntry(_('New name'), _('Copy map'),
                                                self.copy_layer.label + '_copy')
@@ -504,7 +505,7 @@ class DataCatalogTree(LocationMapTree):
         dlg.Destroy()
         return res
 
-    def _popupMenuLayer(self):
+    def _popupMenuLayer(self, current_mapset):
         """Create popup menu for layers"""
         menu = wx.Menu()
 
@@ -515,14 +516,20 @@ class DataCatalogTree(LocationMapTree):
         item = wx.MenuItem(menu, wx.NewId(), _("&Paste"))
         menu.AppendItem(item)
         self.Bind(wx.EVT_MENU, self.OnPaste, item)
-
+        if not current_mapset:
+            item.Enable(False)
+            
         item = wx.MenuItem(menu, wx.NewId(), _("&Delete"))
         menu.AppendItem(item)
         self.Bind(wx.EVT_MENU, self.OnDelete, item)
+        if not current_mapset:
+            item.Enable(False)
 
         item = wx.MenuItem(menu, wx.NewId(), _("&Rename"))
         menu.AppendItem(item)
         self.Bind(wx.EVT_MENU, self.OnRename, item)
+        if not current_mapset:
+            item.Enable(False)
 
         if not isinstance(self._giface, StandaloneGrassInterface):
             item = wx.MenuItem(menu, wx.NewId(), _("&Display layer"))