From 74458520dbfde761df9168dce38a7fd004342e14 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Sat, 21 May 2016 10:20:06 -1000 Subject: [PATCH] _CommandPlugins emits added and removed signals --- src/mcedit2/plugins/__init__.py | 2 ++ src/mcedit2/plugins/command.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/mcedit2/plugins/__init__.py b/src/mcedit2/plugins/__init__.py index 3581658..f229a52 100644 --- a/src/mcedit2/plugins/__init__.py +++ b/src/mcedit2/plugins/__init__.py @@ -257,6 +257,7 @@ _currentPluginPathname = None def _registerClass(cls): _pluginClassesByPathname[_currentPluginPathname].append(cls) + log.info("Registered class %s of plugin %s", cls, _currentPluginPathname) def _unregisterClass(cls): @@ -265,6 +266,7 @@ def _unregisterClass(cls): generate.unregisterGeneratePlugin(cls) inspector.unregisterBlockInspectorWidget(cls) entities.unregisterTileEntityRefClass(cls) + command.unregisterPluginCommand(cls) # --- Registration functions --- diff --git a/src/mcedit2/plugins/command.py b/src/mcedit2/plugins/command.py index acb0676..fa7cb50 100644 --- a/src/mcedit2/plugins/command.py +++ b/src/mcedit2/plugins/command.py @@ -66,9 +66,16 @@ def registerPluginCommand(cls): _registeredCommands.append(cls) else: raise ValueError("Class %s must inherit from PluginCommand" % cls) + + _CommandPlugins.instance.pluginAdded.emit(cls) return cls +def unregisterPluginCommand(cls): + if issubclass(cls, PluginCommand): + _CommandPlugins.instance.pluginRemoved.emit(cls) + + class PluginsMenu(QtGui.QMenu): def __init__(self, editorSession): super(PluginsMenu, self).__init__()