|
@@ -18,7 +18,7 @@ This program is free software under the GNU General Public License
|
|
|
import os
|
|
|
|
|
|
from core.menutree import MenuTreeModelBuilder
|
|
|
-from core.toolboxes import getMenudataFile
|
|
|
+from core.toolboxes import getMenudataFile, getMessages, clearMessages
|
|
|
from core.globalvar import WXGUIDIR
|
|
|
from core.gcmd import GError
|
|
|
from core.utils import _
|
|
@@ -26,7 +26,7 @@ from core.utils import _
|
|
|
|
|
|
class LayerManagerMenuData(MenuTreeModelBuilder):
|
|
|
|
|
|
- def __init__(self, filename=None):
|
|
|
+ def __init__(self, filename=None, message_handler=GError):
|
|
|
if filename:
|
|
|
expandAddons = False
|
|
|
else:
|
|
@@ -39,17 +39,19 @@ class LayerManagerMenuData(MenuTreeModelBuilder):
|
|
|
fallback=fallback)
|
|
|
try:
|
|
|
MenuTreeModelBuilder.__init__(
|
|
|
- self, filename, expandAddons=expandAddons)
|
|
|
+ self, filename, expandAddons=expandAddons,
|
|
|
+ message_handler=message_handler)
|
|
|
except (ValueError, AttributeError, TypeError):
|
|
|
- GError(_("Unable to parse user toolboxes XML files. "
|
|
|
- "Default main menu will be loaded."))
|
|
|
+ message_handler(_("Unable to parse user toolboxes XML files. "
|
|
|
+ "Default main menu will be loaded."))
|
|
|
fallback = os.path.join(WXGUIDIR, 'xml', 'menudata.xml')
|
|
|
- MenuTreeModelBuilder.__init__(self, fallback)
|
|
|
+ MenuTreeModelBuilder.__init__(
|
|
|
+ self, fallback, message_handler=message_handler)
|
|
|
|
|
|
|
|
|
class LayerManagerModuleTree(MenuTreeModelBuilder):
|
|
|
|
|
|
- def __init__(self, filename=None):
|
|
|
+ def __init__(self, filename=None, message_handler=GError):
|
|
|
if filename:
|
|
|
expandAddons = False
|
|
|
else:
|
|
@@ -63,8 +65,10 @@ class LayerManagerModuleTree(MenuTreeModelBuilder):
|
|
|
# TODO: try-except useless?
|
|
|
try:
|
|
|
MenuTreeModelBuilder.__init__(
|
|
|
- self, filename, expandAddons=expandAddons)
|
|
|
+ self, filename, expandAddons=expandAddons,
|
|
|
+ message_handler=message_handler)
|
|
|
except (ValueError, AttributeError, TypeError):
|
|
|
- GError(_("Unable to parse user toolboxes XML files. "
|
|
|
- "Default module tree will be loaded."))
|
|
|
- MenuTreeModelBuilder.__init__(self, fallback)
|
|
|
+ error_handler(_("Unable to parse user toolboxes XML files. "
|
|
|
+ "Default module tree will be loaded."))
|
|
|
+ MenuTreeModelBuilder.__init__(
|
|
|
+ self, fallback, message_handler=message_handler)
|