[orca/orca-gnome3: 15/87] Trying moving date and time into a plugin



commit cd7354867afe283c452fc3e8c6876b34e4001347
Author: José Ignacio �lvarez Ruiz <jialvarez emergya es>
Date:   Wed Mar 2 18:21:53 2011 +0100

    Trying moving date and time into a plugin

 src/orca/app_gui_prefs.py      |   16 +++++++++++-
 src/orca/baseplugins/test.py   |   20 ++++++++++-----
 src/orca/braille_generator.py  |    9 ++++++-
 src/orca/chat.py               |    9 ++++++-
 src/orca/event_manager.py      |    8 +++++-
 src/orca/mag.py                |   10 +++++++-
 src/orca/mouse_review.py       |    6 ++++-
 src/orca/orca_console_prefs.py |    9 ++++++-
 src/orca/orca_gui_prefs.py     |   16 +++++++++++-
 src/orca/orca_gui_profile.py   |    9 ++++++-
 src/orca/pluglib/interfaces.py |   50 +++++++++++++++++++++++++++++++++++----
 src/orca/script.py             |   20 +++++++++++++--
 src/orca/script_manager.py     |   16 +++++++++++-
 src/orca/settings.py           |   10 +++++++-
 src/orca/settings_manager.py   |    6 ++++-
 src/orca/speech_generator.py   |    9 ++++++-
 16 files changed, 191 insertions(+), 32 deletions(-)
---
diff --git a/src/orca/app_gui_prefs.py b/src/orca/app_gui_prefs.py
index 9fbe66b..8c28dbe 100644
--- a/src/orca/app_gui_prefs.py
+++ b/src/orca/app_gui_prefs.py
@@ -45,8 +45,20 @@ import speech
 
 from orca_i18n import _  # for gettext support
 
-_scriptManager = getattr(orca, '_scriptManager')
-_settingsManager = getattr(orca, '_settingsManager')
+if hasattr(orca, '_scriptManager'):
+    _scriptManager = getattr(orca, '_scriptManager')
+else:
+    from script_manager import ScriptManager
+    _scriptManager = ScriptManager()
+
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
 
 applicationName = None
 appScript = None
diff --git a/src/orca/baseplugins/test.py b/src/orca/baseplugins/test.py
index 004f009..5508f19 100644
--- a/src/orca/baseplugins/test.py
+++ b/src/orca/baseplugins/test.py
@@ -18,23 +18,27 @@
 # You should have received a copy of the GNU General Public License
 # along with Pluglib.  If not, see <http://www.gnu.org/licenses/>.
 
+import time
 from pluglib.interfaces import *
 import input_event as input_event
 
 from settings_manager import SettingsManager
-_settingsManager = SettingsManager()
-if _settingsManager is None:
-    print "Could not load the settings manager. Exiting."
-    sys.exit(1)
 
 from orca_i18n import _         # for gettext support
 from orca_i18n import ngettext  # for ngettext support
 from orca_i18n import C_        # to provide qualified translatable strings
 
-#import notification_messages as notification_messages
+import notification_messages as notification_messages
+print notification_messages
 
 class callPresenter(IPresenter):
     inputEventHandlers = {}
+
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
+
     def __init__(self):
 
         print "Init call presenter..."
@@ -55,19 +59,21 @@ class callPresenter(IPresenter):
                 # a shortcut key.
                 #
                 _("Present current date."))
+        
+        self.inputEventHandlers.update(notification_messages.inputEventHandlers)
 
     def presentTime(self, inputEvent):
         """ Presents the current time. """
         timeFormat = self._settingsManager.getSetting('presentTimeFormat')
         message = time.strftime(timeFormat, time.localtime())
-        super.presentMessage(message)
+        super(callPresenter, self).presentMessage(message)
         return True
 
     def presentDate(self, inputEvent):
         """ Presents the current date. """
         dateFormat = self._settingsManager.getSetting('presentDateFormat')
         message = time.strftime(dateFormat, time.localtime())
-        super.presentMessage(message)
+        super(callPresenter, self).presentMessage(message)
         return True
 
 class testPlugin(IPlugin, IPresenter):
diff --git a/src/orca/braille_generator.py b/src/orca/braille_generator.py
index 213e582..7778ce7 100644
--- a/src/orca/braille_generator.py
+++ b/src/orca/braille_generator.py
@@ -36,7 +36,14 @@ import settings
 
 from orca_i18n import ngettext  # for ngettext support
 
-_settingsManager = getattr(orca, '_settingsManager')
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
 
 class Space:
     """A dummy class to indicate we want to insert a space into an
diff --git a/src/orca/chat.py b/src/orca/chat.py
index b41513b..2c0c723 100644
--- a/src/orca/chat.py
+++ b/src/orca/chat.py
@@ -36,7 +36,14 @@ import speech
 
 from orca_i18n import _
 
-_settingsManager = getattr(orca, '_settingsManager')
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
 
 #############################################################################
 #                                                                           #
diff --git a/src/orca/event_manager.py b/src/orca/event_manager.py
index 272a8de..db73fd7 100644
--- a/src/orca/event_manager.py
+++ b/src/orca/event_manager.py
@@ -59,7 +59,12 @@ class EventManager:
         """Called when this presentation manager is activated."""
 
         global _scriptManager
-        _scriptManager = getattr(orca, '_scriptManager')
+
+        if hasattr(orca, '_scriptManager'):
+            _scriptManager = getattr(orca, '_scriptManager')
+        else:
+            from script_manager import ScriptManager
+            _scriptManager = ScriptManager()
 
         # Tell BrlTTY which commands we care about.
         #
@@ -199,6 +204,7 @@ class EventManager:
                 toolkitName = None
             if toolkitName in settings.synchronousToolkits:
                 asyncMode = False
+
             script = _scriptManager.getScript(app, e.source)
             script.eventCache[e.type] = (e, time.time())
 
diff --git a/src/orca/mag.py b/src/orca/mag.py
index ca1991f..3ed4e5e 100644
--- a/src/orca/mag.py
+++ b/src/orca/mag.py
@@ -47,7 +47,15 @@ import orca_state
 from orca_i18n import _  # for gettext support
 
 _magnifierAvailable = False
-_settingsManager = getattr(orca, '_settingsManager')
+
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
 
 try:
     import bonobo
diff --git a/src/orca/mouse_review.py b/src/orca/mouse_review.py
index 62e52d7..b41d14c 100644
--- a/src/orca/mouse_review.py
+++ b/src/orca/mouse_review.py
@@ -44,7 +44,11 @@ import speech
 import braille
 import settings
 
-_scriptManager = getattr(orca, '_scriptManager')
+if hasattr(orca, '_scriptManager'):
+    _scriptManager = getattr(orca, '_scriptManager')
+else:
+    from script_manager import ScriptManager
+    _scriptManager = ScriptManager()
 
 class BoundingBox:
     """A bounding box, currently it is used to test if a given point is
diff --git a/src/orca/orca_console_prefs.py b/src/orca/orca_console_prefs.py
index 94325a7..f3c2bcd 100644
--- a/src/orca/orca_console_prefs.py
+++ b/src/orca/orca_console_prefs.py
@@ -50,7 +50,14 @@ workingFactories   = []
 speechServerChoice = None
 speechVoiceChoice  = None
 
-_settingsManager = getattr(orca, '_settingsManager')
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
 
 # Translators: this is a regular expression that is intended to match
 # a positive 'yes' response from a user at the command line.  The expression
diff --git a/src/orca/orca_gui_prefs.py b/src/orca/orca_gui_prefs.py
index a6d71f5..f5fe161 100644
--- a/src/orca/orca_gui_prefs.py
+++ b/src/orca/orca_gui_prefs.py
@@ -56,8 +56,20 @@ import pluglib
 
 import orca_gui_profile
 
-_settingsManager = getattr(orca, '_settingsManager')
-_scriptManager = getattr(orca, '_scriptManager')
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
+
+if hasattr(orca, '_scriptManager'):
+    _scriptManager = getattr(orca, '_scriptManager')
+else:
+    from script_manager import ScriptManager
+    _scriptManager = ScriptManager()
 
 try:
     import louis
diff --git a/src/orca/orca_gui_profile.py b/src/orca/orca_gui_profile.py
index 3c65806..3d62d18 100644
--- a/src/orca/orca_gui_profile.py
+++ b/src/orca/orca_gui_profile.py
@@ -157,7 +157,14 @@ class OrcaProfileGUI(orca_gtkbuilder.GtkBuilderWrapper):
 
         import orca
 
-        _settingsManager = getattr(orca, '_settingsManager')
+        if hasattr(orca, '_settingsManager'):
+            _settingsManager = getattr(orca, '_settingsManager')
+        else:
+            from settings_manager import SettingsManager
+            _settingsManager = SettingsManager()
+            if _settingsManager is None:
+                print "Could not load the settings manager. Exiting."
+                sys.exit(1)
 
         return _settingsManager.availableProfiles()
 
diff --git a/src/orca/pluglib/interfaces.py b/src/orca/pluglib/interfaces.py
index b383d8e..4607e82 100644
--- a/src/orca/pluglib/interfaces.py
+++ b/src/orca/pluglib/interfaces.py
@@ -181,12 +181,41 @@ class ICommand(object):
     def get_command(command_name):
         """Return a command in this environment"""
 
-class IPresenter(object):
-    """Allows to operate with presentation plugins"""
-
-    __metaclass__ = abc.ABCMeta
-
-    ############## METHODS #################
+import locale
+import time
+
+from settings_manager import SettingsManager
+_settingsManager = SettingsManager()
+if _settingsManager is None:
+    print "Could not load the settings manager. Exiting."
+    sys.exit(1)
+
+import pyatspi
+import braille as braille
+import debug as debug
+import eventsynthesizer as eventsynthesizer
+import find as find
+import flat_review as flat_review
+import input_event as input_event
+import keybindings as keybindings
+try:
+    import gsmag as mag
+except:
+    import mag as mag
+import outline as outline
+import orca_state as orca_state
+import phonnames as phonnames
+import script as script
+import settings as settings
+import speech as speech
+import speech_generator as speech_generator
+import speechserver as speechserver
+import mouse_review as mouse_review
+import text_attribute_names as text_attribute_names
+import notification_messages as notification_messages
+import orca_gui_prefs as orca_gui_prefs
+
+class Messaging(script.Script):
 
     def presentMessage(self, fullMessage, briefMessage=None, voice=None):
         """Convenience method to speak a message and 'flash' it in braille.
@@ -246,6 +275,15 @@ class IPresenter(object):
 
             braille.displayMessage(message, flashTime=duration)
 
+class IPresenter(object):
+    """Allows to operate with presentation plugins"""
+
+    ############## METHODS #################
+
+    def presentMessage(self, fullMessage, briefMessage=None, voice=None):
+        print "Calling Messaging with fullMessage: " + str(fullMessage) 
+        msg = Messaging(fullMessage, briefMessage, voice)
+
 class IDependenciesChecker(object):
     """Allows to check for dependencies before run"""
 
diff --git a/src/orca/script.py b/src/orca/script.py
index 25b86f2..3f77636 100644
--- a/src/orca/script.py
+++ b/src/orca/script.py
@@ -55,6 +55,7 @@ import where_am_I
 import bookmarks
 import tutorialgenerator
 
+
 class Script:
     """The specific focus tracking scripts for applications.
     """
@@ -330,10 +331,23 @@ class Script:
         """Returns the settings associated with this script, regardless of
         whether or not the script is active.
         """
-
+        
         import orca
-        _scriptManager = getattr(orca, '_scriptManager')
-        _settingsManager = getattr(orca, '_settingsManager')
+        if hasattr(orca, '_scriptManager'):
+            _scriptManager = getattr(orca, '_scriptManager')
+        else:
+            from script_manager import ScriptManager
+            _scriptManager = ScriptManager()
+
+        if hasattr(orca, '_settingsManager'):
+            _settingsManager = getattr(orca, '_settingsManager')
+        else:
+            from settings_manager import SettingsManager
+            _settingsManager = SettingsManager()
+            if _settingsManager is None:
+                print "Could not load the settings manager. Exiting."
+                sys.exit(1)
+
 
         scriptSettings = settings
         if orca_state.activeScript != self:
diff --git a/src/orca/script_manager.py b/src/orca/script_manager.py
index fc396b0..9c7f147 100644
--- a/src/orca/script_manager.py
+++ b/src/orca/script_manager.py
@@ -30,8 +30,20 @@ import orca_state
 
 from scripts import apps, toolkits
 
-_settingsManager = getattr(orca, '_settingsManager')
-_eventManager = getattr(orca, '_eventManager')
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
+
+if hasattr(orca, '_eventManager'):
+    _eventManager = getattr(orca, '_eventManager')
+else:
+    from event_manager import EventManager
+    _eventManager = EventManager()
 
 class ScriptManager:
 
diff --git a/src/orca/settings.py b/src/orca/settings.py
index aa3d8f1..9ce0348 100644
--- a/src/orca/settings.py
+++ b/src/orca/settings.py
@@ -1034,7 +1034,15 @@ def setGKSUGrabDisabled(disable):
 #
 def overrideKeyBindings(script, keyBindings):
     import orca
-    _settingsManager = getattr(orca, '_settingsManager')
+
+    if hasattr(orca, '_settingsManager'):                                       
+        _settingsManager = getattr(orca, '_settingsManager')                    
+    else:                                                                       
+        from settings_manager import SettingsManager                            
+        _settingsManager = SettingsManager()                                    
+        if _settingsManager is None:                                            
+            print "Could not load the settings manager. Exiting."               
+            sys.exit(1)                                                         
 
     return _settingsManager.overrideKeyBindings(script, keyBindings)
 
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index 1bfbcc3..5aa4aa6 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -487,7 +487,11 @@ class SettingsManager(object):
         """
 
         import orca
-        _scriptManager = getattr(orca, '_scriptManager')
+        if hasattr(orca, '_scriptManager'):
+            _scriptManager = getattr(orca, '_scriptManager')
+        else:
+            from script_manager import ScriptManager
+            _scriptManager = ScriptManager()
 
         app = script.app
         moduleName = _scriptManager.getModuleName(app)
diff --git a/src/orca/speech_generator.py b/src/orca/speech_generator.py
index 7bcd677..55b7a30 100644
--- a/src/orca/speech_generator.py
+++ b/src/orca/speech_generator.py
@@ -80,7 +80,14 @@ voiceType = {
     VALUE       : settings.SYSTEM_VOICE, # Users may prefer DEFAULT_VOICE here
 }
 
-_settingsManager = getattr(orca, '_settingsManager')
+if hasattr(orca, '_settingsManager'):
+    _settingsManager = getattr(orca, '_settingsManager')
+else:
+    from settings_manager import SettingsManager
+    _settingsManager = SettingsManager()
+    if _settingsManager is None:
+        print "Could not load the settings manager. Exiting."
+        sys.exit(1)
 
 class SpeechGenerator(generator.Generator):
     """Takes accessible objects and produces a string to speak for



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]