[orca] Rework getting settings for non-active scripts
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Rework getting settings for non-active scripts
- Date: Wed, 26 Aug 2015 16:56:06 +0000 (UTC)
commit a515df74bd61489148d4e15cfcb0d35dbe142a55
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Wed Aug 26 12:55:10 2015 -0400
Rework getting settings for non-active scripts
src/orca/chat.py | 2 +-
src/orca/script.py | 20 --------------------
src/orca/settings_manager.py | 15 +++++++++++++++
3 files changed, 16 insertions(+), 21 deletions(-)
---
diff --git a/src/orca/chat.py b/src/orca/chat.py
index e5ee478..95922be 100644
--- a/src/orca/chat.py
+++ b/src/orca/chat.py
@@ -583,7 +583,7 @@ class Chat:
# Only speak/braille the new message if it matches how the user
# wants chat messages spoken.
#
- verbosity = self._script.getSettings().chatMessageVerbosity
+ verbosity = _settingsManager.getAppSetting(self._script.app, 'chatMessageVerbosity')
if orca_state.activeScript.name != self._script.name \
and verbosity == settings.CHAT_SPEAK_ALL_IF_FOCUSED:
return
diff --git a/src/orca/script.py b/src/orca/script.py
index 05ba265..546655b 100644
--- a/src/orca/script.py
+++ b/src/orca/script.py
@@ -310,26 +310,6 @@ class Script:
_eventManager.deregisterScriptListeners(self)
- def getSettings(self):
- """Returns the settings associated with this script, regardless of
- whether or not the script is active.
- """
-
- scriptSettings = settings
- if orca_state.activeScript != self:
- name = _scriptManager.getModuleName(self.app)
- if name:
- for package in _settingsManager.settingsPackages:
- name = package + "." + name
- try:
- module = importlib.import_module(name)
- imp.reload(module)
- scriptSettings = module.orca.settings
- except:
- pass
-
- return scriptSettings
-
# [[[WDW - There is a circular reference going on somewhere (see
# bug 333168). In the presence of this reference, the existence
# of a __del__ method prevents the garbage collector from
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index b9ba804..f1e3762 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -518,6 +518,21 @@ class SettingsManager(object):
return self._backend.availableProfiles()
+ def getAppSetting(self, app, settingName, fallbackOnDefault=True):
+ if not app:
+ return None
+
+ appPrefs = self._backend.getAppSettings(app.name)
+ profiles = appPrefs.get('profiles', {})
+ profilePrefs = profiles.get(self.profile, {})
+ general = profilePrefs.get('general', {})
+ appSetting = general.get(settingName)
+ if appSetting is None and fallbackOnDefault:
+ general = self._backend.getGeneral(self.profile)
+ appSetting = general.get(settingName)
+
+ return appSetting
+
def loadAppSettings(self, script):
"""Load the users application specific settings for an app.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]