浏览代码

wxGUI/toolboxes: do not expand addons tag during compilation

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@57206 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 11 年之前
父节点
当前提交
926c239a1d
共有 2 个文件被更改,包括 17 次插入5 次删除
  1. 5 3
      gui/wxpython/core/menutree.py
  2. 12 2
      gui/wxpython/lmgr/menudata.py

+ 5 - 3
gui/wxpython/core/menutree.py

@@ -50,7 +50,7 @@ if __name__ == '__main__':
 
 from core.treemodel import TreeModel, ModuleNode
 from core.settings import UserSettings
-from core.toolboxes import expandAddons
+from core.toolboxes import expandAddons as expAddons
 
 if not os.getenv("GISBASE"):
     sys.exit("GRASS is not running. Exiting...")
@@ -59,14 +59,16 @@ if not os.getenv("GISBASE"):
 # TODO: change the system to remove strange derived classes
 class MenuTreeModelBuilder:
     """!Abstract menu data class"""
-    def __init__(self, filename):
+    def __init__(self, filename, expandAddons=True):
 
         self.menustyle = UserSettings.Get(group = 'appearance',
                                           key = 'menustyle',
                                           subkey = 'selection')
 
         xmlTree = etree.parse(filename)
-        expandAddons(xmlTree)
+        if expandAddons:
+            expAddons(xmlTree)
+
         self.model = TreeModel(ModuleNode)
         self._createModel(xmlTree)
 

+ 12 - 2
gui/wxpython/lmgr/menudata.py

@@ -25,13 +25,18 @@ from core.gcmd import GError
 
 class LayerManagerMenuData(MenuTreeModelBuilder):
     def __init__(self, filename=None):
+        if filename:
+            expandAddons = False
+        else:
+            expandAddons = True
+
         fallback = os.path.join(ETCWXDIR, 'xml', 'menudata.xml')
         if not filename:
             filename = getMenudataFile(userRootFile='main_menu.xml',
                                        newFile='menudata.xml',
                                        fallback=fallback)
         try:
-            MenuTreeModelBuilder.__init__(self, filename)
+            MenuTreeModelBuilder.__init__(self, filename, expandAddons=expandAddons)
         except (ValueError, AttributeError, TypeError):
             GError(_("Unable to parse user toolboxes XML files. "
                      "Default main menu will be loaded."))
@@ -41,6 +46,11 @@ class LayerManagerMenuData(MenuTreeModelBuilder):
 
 class LayerManagerModuleTree(MenuTreeModelBuilder):
     def __init__(self, filename=None):
+        if filename:
+            expandAddons = False
+        else:
+            expandAddons = True
+
         fallback = os.path.join(ETCWXDIR, 'xml', 'module_tree_menudata.xml')
         if not filename:
             filename = getMenudataFile(userRootFile='module_tree.xml',
@@ -48,7 +58,7 @@ class LayerManagerModuleTree(MenuTreeModelBuilder):
                                        fallback=fallback)
         # TODO: try-except useless?
         try:
-            MenuTreeModelBuilder.__init__(self, filename)
+            MenuTreeModelBuilder.__init__(self, filename, expandAddons=expandAddons)
         except (ValueError, AttributeError, TypeError):
             GError(_("Unable to parse user toolboxes XML files. "
                      "Default module tree will be loaded."))