X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fportrait.py;h=c66b3381f0a316593f2e8bd02eab33590e555e93;hb=8d5c43f488685800c7344459fce2efc73e9229d9;hp=ea58c4b88db60e45f68a77a6e3a60bfdd0e80459;hpb=6ffc68fd975169aa7dda7387a28118cbfd49701a;p=drlaunch diff --git a/src/portrait.py b/src/portrait.py index ea58c4b..c66b338 100644 --- a/src/portrait.py +++ b/src/portrait.py @@ -19,6 +19,7 @@ import dbus import dbus.glib +from dbus.mainloop.glib import DBusGMainLoop import hildon import osso @@ -80,7 +81,23 @@ class FremantleRotation(object): self._osso_context = osso.Context(app_id, version, False) program = hildon.Program.get_instance() program.connect('notify::is-topmost', self._on_topmost_changed) - system_bus = dbus.Bus.get_system() + + # Hack for dbus. See: + # https://garage.maemo.org/pipermail/pymaemo-developers/2010-April/001445.html + # https://garage.maemo.org/pipermail/pymaemo-developers/2010-April/001454.html + # https://garage.maemo.org/pipermail/pymaemo-developers/2010-April/thread.html + # https://bugs.maemo.org/show_bug.cgi?id=8611 + # + # If we use dbus.Bus.get_system() or dbus.SystemBus() then the + # program fails whenever bluezwitch is installed. This could + # also happen whenever another widget is using System Bus (sure?). + # + #V13 system_bus = dbus.Bus.get_system() + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + busaddress='unix:path=/var/run/dbus/system_bus_socket' + system_bus=dbus.bus.BusConnection(busaddress) + self.system_bus=system_bus + system_bus.add_signal_receiver(self._on_orientation_signal, \ signal_name='sig_device_orientation_ind', \ dbus_interface='com.nokia.mce.signal', \ @@ -127,6 +144,12 @@ class FremantleRotation(object): self._mode = new_mode + def reset_mode(self): + if self._mode==self.AUTOMATIC: + self._send_mce_request(self._ENABLE_ACCEL) + else: + self._send_mce_request(self._DISABLE_ACCEL) + def _send_mce_request(self, request): rpc = osso.Rpc(self._osso_context) rpc.rpc_run(self._MCE_SERVICE, \