1
from gi.repository import Gtk
1
from __future__ import print_function
2
from __future__ import division
3
from __future__ import absolute_import
4
from __future__ import unicode_literals
6
from gi.repository import Gtk, Gio
2
7
import blueman.bluez as Bluez
3
8
from blueman.Functions import *
4
9
from blueman.gui.manager.ManagerDeviceMenu import ManagerDeviceMenu
32
37
self.item_help.set_submenu(help_menu)
35
item = create_menuitem(_("_Report a Problem"), get_icon("gtk-dialog-warning", 16))
36
item.connect("activate", lambda x: spawn(["xdg-open", WEBSITE + '/issues'], True))
40
item = create_menuitem(_("_Report a Problem"), get_icon("dialog-warning", 16))
41
item.connect("activate", lambda x: launch("xdg-open %s/issues" % WEBSITE, None, True))
37
42
help_menu.append(item)
41
46
help_menu.append(item)
44
item = Gtk.ImageMenuItem.new_from_stock("gtk-about", None)
49
item = create_menuitem("_Help", get_icon("help-about"))
45
50
item.connect("activate", lambda x: show_about_dialog('Blueman ' + _('Device Manager')))
46
51
help_menu.append(item)
50
55
self.item_view.set_submenu(view_menu)
53
item = Gtk.CheckMenuItem.new_with_mnemonic(_("Show Toolbar"))
54
if self.blueman.Config.props.show_toolbar == None:
55
item.props.active = True
57
if not self.blueman.Config.props.show_toolbar:
58
item.props.active = False
60
item.props.active = True
61
item.connect("activate", lambda x: setattr(self.blueman.Config.props, "show_toolbar", x.props.active))
58
item = Gtk.CheckMenuItem.new_with_mnemonic(_("Show _Toolbar"))
59
self.blueman.Config.bind_to_widget("show-toolbar", item, "active")
62
60
view_menu.append(item)
65
item = Gtk.CheckMenuItem.new_with_mnemonic(_("Show Statusbar"))
66
if self.blueman.Config.props.show_statusbar == None:
67
item.props.active = True
69
if not self.blueman.Config.props.show_statusbar:
70
item.props.active = False
72
item.props.active = True
73
item.connect("activate", lambda x: setattr(self.blueman.Config.props, "show_statusbar", x.props.active))
63
item = Gtk.CheckMenuItem.new_with_mnemonic(_("Show _Statusbar"))
64
self.blueman.Config.bind_to_widget("show-statusbar", item, "active")
74
65
view_menu.append(item)
83
itemf = Gtk.RadioMenuItem.new_with_label(group, _("Latest Device First"))
74
itemf = Gtk.RadioMenuItem.new_with_mnemonic(group, _("Latest Device _First"))
84
75
group = itemf.get_group()
85
76
view_menu.append(itemf)
88
iteml = Gtk.RadioMenuItem.new_with_label(group, _("Latest Device Last"))
79
iteml = Gtk.RadioMenuItem.new_with_mnemonic(group, _("Latest Device _Last"))
89
80
group = iteml.get_group()
90
81
view_menu.append(iteml)
93
if self.blueman.Config.props.latest_last:
94
iteml.props.active = True
96
itemf.props.active = True
97
itemf.connect("activate", lambda x: setattr(self.blueman.Config.props, "latest_last", not x.props.active))
98
iteml.connect("activate", lambda x: setattr(self.blueman.Config.props, "latest_last", x.props.active))
84
itemf.connect("activate", lambda x: self.blueman.Config.set_boolean("latest-last", not x.props.active))
85
iteml.connect("activate", lambda x: self.blueman.Config.set_boolean("latest-last", x.props.active))
87
item = Gtk.SeparatorMenuItem()
88
view_menu.append(item)
91
item = create_menuitem(_("Plugins"), get_icon('blueman-plugin', 16))
92
item.connect('activate', lambda *args: self.blueman.Applet.open_plugin_dialog())
93
view_menu.append(item)
96
item = create_menuitem(_("_Local Services") + "...", get_icon("preferences-desktop", 16))
97
item.connect('activate',
98
lambda *args: launch("blueman-services", None, False, "blueman", _("Service Preferences")))
99
view_menu.append(item)
100
102
self.item_adapter.show()
101
103
self.item_view.show()
132
134
def on_adapter_property_changed(self, list, adapter, kv):
133
135
(key, value) = kv
136
if key == "Name" or key == "Alias":
135
137
self.generate_adapter_menu()
136
138
elif key == "Discovering":
150
settings = Gtk.ImageMenuItem.new_from_stock("gtk-preferences", None)
152
settings = create_menuitem("_Preferences", get_icon("preferences-system", 16))
151
153
settings.connect("activate", lambda x: self.blueman.adapter_properties())
153
155
menu.append(settings)
156
158
for adapter in self.adapters:
157
props = adapter.get_properties()
158
item = Gtk.RadioMenuItem.new_with_label(group, props["Name"])
159
item = Gtk.RadioMenuItem.new_with_label(group, adapter.get_name())
159
160
group = item.get_group()
161
162
item.connect("activate", self.on_adapter_selected, adapter.get_object_path())
170
171
menu.prepend(sep)
172
item = create_menuitem(_("_Search"), get_icon("gtk-find", 16))
173
item = create_menuitem(_("_Search"), get_icon("edit-find", 16))
173
174
item.connect("activate", lambda x: self.blueman.inquiry())
175
176
menu.prepend(item)
187
item = Gtk.ImageMenuItem.new_from_stock("gtk-quit", None)
188
item = create_menuitem("_Exit", get_icon("application-exit", 16))
188
189
item.connect("activate", lambda x: Gtk.main_quit())
190
191
menu.append(item)
193
194
if menuitem.props.active:
194
195
if adapter_path != self.blueman.List.Adapter.get_object_path():
195
196
dprint("selected", adapter_path)
196
self.blueman.Config.props.last_adapter = adapter_path_to_name(adapter_path)
197
self.blueman.Config["last-adapter"] = adapter_path_to_name(adapter_path)
197
198
self.blueman.List.SetAdapter(adapter_path)