~ubuntu-branches/ubuntu/vivid/blueman/vivid-proposed

« back to all changes in this revision

Viewing changes to blueman/plugins/applet/DiscvManager.py

  • Committer: Package Import Robot
  • Author(s): Artur Rona
  • Date: 2014-12-24 18:33:36 UTC
  • mfrom: (2.3.8 sid)
  • Revision ID: package-import@ubuntu.com-20141224183336-cyb82ot0y8tz8flq
Tags: 1.99~alpha1-1ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - debian/patches/01_dont_autostart_lxde.patch:
    + Don't autostart the applet in LXDE.
  - debian/patches/03_filemanager_fix.patch:
    + Add support for more filemanagers.
* debian/patches/02_dont_crash_on_non-bluetooth_card.patch:
  - Dropped, no longer applicable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
from blueman.plugins.AppletPlugin import AppletPlugin
5
5
from blueman.main.SignalTracker import SignalTracker
6
6
 
7
 
import gobject
8
 
import gtk
 
7
from gi.repository import GObject
 
8
from gi.repository import Gtk
9
9
 
10
10
 
11
11
class DiscvManager(AppletPlugin):
45
45
        del self.item
46
46
 
47
47
        if self.timeout:
48
 
            gobject.source_remove(self.timeout)
 
48
            GObject.source_remove(self.timeout)
49
49
 
50
50
        self.Signals.DisconnectAll()
51
51
 
53
53
        if state:
54
54
            self.init_adapter()
55
55
            self.update_menuitems()
56
 
            self.Signals.Handle(self.Applet.Manager, self.on_default_adapter_changed, "DefaultAdapterChanged", sigid=0)
57
56
        else:
58
57
            self.Signals.Disconnect(0)
59
58
 
69
68
 
70
69
    def on_set_discoverable(self, item):
71
70
        if self.adapter:
72
 
            self.adapter.SetProperty("Discoverable", True)
73
 
            self.adapter.SetProperty("DiscoverableTimeout", self.get_option("time"))
 
71
            self.adapter.set("Discoverable", True)
 
72
            self.adapter.set("DiscoverableTimeout", self.get_option("time"))
74
73
 
75
74
    def init_adapter(self):
76
75
        try:
77
 
            self.adapter = self.Applet.Manager.GetAdapter()
 
76
            self.adapter = self.Applet.Manager.get_adapter()
78
77
        except:
79
78
            self.adapter = None
80
79
 
81
 
    def on_default_adapter_changed(self, path):
 
80
    def on_adapter_removed(self, path):
82
81
        dprint(path)
83
 
        if path != "":
 
82
        if path == self.adapter.get_object_path():
84
83
            self.init_adapter()
85
84
            self.update_menuitems()
86
85
 
87
86
    def on_adapter_property_changed(self, path, key, value):
88
 
        if self.adapter and path == self.adapter.GetObjectPath():
 
87
        if self.adapter and path == self.adapter.get_object_path():
89
88
            dprint("prop", key, value)
90
89
            if key == "DiscoverableTimeout":
91
90
                if value == 0: #always visible
92
91
                    if self.timeout != None:
93
 
                        gobject.source_remove(self.timeout)
 
92
                        GObject.source_remove(self.timeout)
94
93
                    self.time_left = -1
95
94
                    self.timeout = None
96
95
                else:
97
96
                    if self.time_left > -1:
98
97
                        if self.timeout != None:
99
 
                            gobject.source_remove(self.timeout)
 
98
                            GObject.source_remove(self.timeout)
100
99
                    self.time_left = value
101
100
 
102
 
                    self.timeout = gobject.timeout_add(1000, self.on_update)
 
101
                    self.timeout = GObject.timeout_add(1000, self.on_update)
103
102
                    return
104
103
 
105
104
            elif (key == "Discoverable" and not value) or (key == "Powered" and not value):
106
105
                dprint("Stop")
107
106
                if self.timeout != None:
108
 
                    gobject.source_remove(self.timeout)
 
107
                    GObject.source_remove(self.timeout)
109
108
                self.time_left = -1
110
109
                self.timeout = None
111
110
 
113
112
 
114
113
    def update_menuitems(self):
115
114
        try:
116
 
            props = self.adapter.GetProperties()
 
115
            props = self.adapter.get_properties()
117
116
        except Exception as e:
118
117
            dprint("warning: Adapter is None")
119
118
            self.item.props.visible = False