[orca/orca-gnome3: 10/87] Trying to enable/disable chat plugin features
- From: Alejandro Leiva <aleiva src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca/orca-gnome3: 10/87] Trying to enable/disable chat plugin features
- Date: Fri, 1 Apr 2011 11:13:39 +0000 (UTC)
commit 106e08fc31271baf5a795d2e02783e36e075987a
Author: José Ignacio �lvarez Ruiz <jialvarez emergya es>
Date: Sun Feb 20 22:49:13 2011 +0100
Trying to enable/disable chat plugin features
src/orca/baseplugins/Makefile.am | 3 ++-
src/orca/script_manager.py | 20 ++++++++++++++++++++
src/orca/settings_manager.py | 7 +++++++
3 files changed, 29 insertions(+), 1 deletions(-)
---
diff --git a/src/orca/baseplugins/Makefile.am b/src/orca/baseplugins/Makefile.am
index 6a633f4..53a77a9 100644
--- a/src/orca/baseplugins/Makefile.am
+++ b/src/orca/baseplugins/Makefile.am
@@ -1,7 +1,8 @@
orca_pathdir=$(pyexecdir)
orca_python_PYTHON = \
- test.py
+ test.py \
+ chat.py
orca_pythondir=$(pyexecdir)/orca/baseplugins
diff --git a/src/orca/script_manager.py b/src/orca/script_manager.py
index 933a865..7ec8061 100644
--- a/src/orca/script_manager.py
+++ b/src/orca/script_manager.py
@@ -27,6 +27,7 @@ __license__ = "LGPL"
import debug
import orca
import orca_state
+from chat import Chat
from scripts import apps, toolkits
@@ -126,6 +127,8 @@ class ScriptManager:
if not (app and name):
return None
+ appScript = self.scripts.get(app, self.getDefaultScript())
+
script = None
for package in self._scriptPackages:
moduleName = '.'.join((package, name))
@@ -150,6 +153,20 @@ class ScriptManager:
debug.println(
debug.LEVEL_SEVERE, "Could not load %s.py" % moduleName)
+ try:
+ isChat = script.getChat()
+ except:
+ debug.println(
+ debug.LEVEL_FINE, "This not a chat plugin")
+ else:
+ print "isChat: " + str(isChat)
+ print "plugin state: " + str(_settingsManager.getPluginState('chat'))
+ if isChat and not _settingsManager.getPluginState('chat'):
+ script = None
+ return None
+
+ print script
+
return script
def _createScript(self, app, obj=None):
@@ -157,11 +174,13 @@ class ScriptManager:
objToolkit = self._toolkitForObject(obj)
script = self._newNamedScript(app, objToolkit)
+
if script:
return script
moduleName = self.getModuleName(app)
script = self._newNamedScript(app, moduleName)
+
if script:
return script
@@ -211,6 +230,7 @@ class ScriptManager:
# Only defer to the toolkit script for this object if the
# app script is based on a different toolkit.
appScript = self.scripts.get(app, self.getDefaultScript())
+
if issubclass(appScript.__class__, script.__class__):
script = appScript
return script
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index 7c2e8a2..0a5539d 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -317,6 +317,13 @@ class SettingsManager(object):
except:
return False
+ def getPluginState(self, plugin_name):
+ try:
+ return gconfClient.get_bool(
+ "/apps/orca/plugins/"+str(plugin_name)+"/enable")
+ except:
+ return False
+
def setStartingProfile(self, profile=None):
if profile is None:
profile = settings.profile
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]