[orca] GDBus migration for the settings manager
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] GDBus migration for the settings manager
- Date: Sat, 5 May 2012 02:42:29 +0000 (UTC)
commit 8fa31fb7ff4fd3311bf3fdc3a1de2d9cdc706acd
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Fri May 4 22:42:57 2012 -0400
GDBus migration for the settings manager
src/orca/settings_manager.py | 32 +++++++++++++++++---------------
1 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index 5e2c6e4..39c41e6 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -28,10 +28,9 @@ __date__ = "$Date$"
__copyright__ = "Copyright (c) 2010 Consorcio Fernando de los Rios."
__license__ = "LGPL"
-import dbus
import os
import imp
-from dbus.mainloop.glib import DBusGMainLoop
+from gi.repository import Gio, GLib
from json import load
from xdg.BaseDirectory import xdg_data_home
@@ -41,13 +40,16 @@ import settings
import pronunciation_dict
try:
- _dbusLoop = DBusGMainLoop()
- _bus = dbus.SessionBus(mainloop=_dbusLoop)
- _proxy = _bus.get_object("org.a11y.Bus", "/org/a11y/bus")
- _desktopProps = \
- dbus.Interface(_proxy, dbus_interface='org.freedesktop.DBus.Properties')
+ _proxy = Gio.DBusProxy.new_for_bus_sync(
+ Gio.BusType.SESSION,
+ Gio.DBusCallFlags.NONE,
+ None,
+ 'org.a11y.Bus',
+ '/org/a11y/bus',
+ 'org.freedesktop.DBus.Properties',
+ None)
except:
- _desktopProps = None
+ _proxy = None
class SettingsManager(object):
"""Settings backend manager. This class manages orca user's settings
@@ -315,27 +317,27 @@ class SettingsManager(object):
return not alreadyEnabled
def isAccessibilityEnabled(self):
- if not _desktopProps:
+ if not _proxy:
return False
- return bool(_desktopProps.Get('org.a11y.Status', 'IsEnabled'))
+ return _proxy.Get('(ss)', 'org.a11y.Status', 'IsEnabled')
def setAccessibility(self, enable):
- if not _desktopProps:
+ if not _proxy:
return False
- _desktopProps.Set('org.a11y.Status', 'IsEnabled', enable)
- return True
+ vEnable = GLib.Variant('b', enable)
+ _proxy.Set('(ssv)', 'org.a11y.Status', 'IsEnabled', vEnable)
def isScreenReaderServiceEnabled(self):
"""Returns True if the screen reader service is enabled. Note that
this does not necessarily mean that Orca (or any other screen reader)
is running at the moment."""
- if not _desktopProps:
+ if not _proxy:
return False
- return bool(_desktopProps.Get('org.a11y.Status', 'ScreenReaderEnabled'))
+ return _proxy.Get('(ss)', 'org.a11y.Status', 'ScreenReaderEnabled')
def setStartingProfile(self, profile=None):
if profile is None:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]