Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py45
1 files changed, 42 insertions, 3 deletions
diff --git a/activity.py b/activity.py
index 79d5e8e..1ca1070 100644
--- a/activity.py
+++ b/activity.py
@@ -22,20 +22,46 @@ from gi.repository import Gtk
from sugar3.activity import activity
from sugar3.activity.widgets import ActivityToolbarButton
from sugar3.activity.widgets import StopButton
+from sugar3.graphics.toolbutton import ToolButton
from sugar3.graphics.toolbarbox import ToolbarBox
+from widgets import DeviceList
+from bt import Bluetooth
+
#from gettext import gettext as _
-class BluetoothActivity(activity.Activity):
+class ActivityBluetooth(activity.Activity):
def __init__(self, handle):
activity.Activity.__init__(self, handle)
self.max_participants = 1
+ self.bluetooth = Bluetooth()
+ self.bluetooth.connect('device-found', self._device_found)
+
# Canvas
- #
+ self._notebook = Gtk.Notebook()
+ #self._notebook.set_show_tabs(False)
+ self.set_canvas(self._notebook)
+
+ scroll = Gtk.ScrolledWindow()
+ scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
+ self._notebook.append_page(scroll, Gtk.Label())
+
+ self._pdevices = DeviceList()
+ self._pdevices.set_devices(self.bluetooth.get_paired_devices())
+ scroll.add(self._pdevices)
+ scroll.show_all()
+
+ scroll = Gtk.ScrolledWindow()
+ scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
+ self._notebook.append_page(scroll, Gtk.Label())
+
+ self._nbdevices = DeviceList()
+ scroll.add(self._nbdevices)
+ scroll.show_all()
# Toolbars
toolbarbox = ToolbarBox()
@@ -43,7 +69,13 @@ class BluetoothActivity(activity.Activity):
activity_button = ActivityToolbarButton(self)
toolbarbox.toolbar.insert(activity_button, 0)
- separator = gtk.SeparatorToolItem()
+ toolbarbox.toolbar.insert(Gtk.SeparatorToolItem(), -1)
+
+ search_btn = ToolButton(icon_name='system-search')
+ search_btn.connect('clicked', self._find_devices)
+ toolbarbox.toolbar.insert(search_btn, -1)
+
+ separator = Gtk.SeparatorToolItem()
separator.set_draw(False)
separator.set_expand(True)
toolbarbox.toolbar.insert(separator, -1)
@@ -54,3 +86,10 @@ class BluetoothActivity(activity.Activity):
self.set_toolbar_box(toolbarbox)
self.show_all()
+ def _find_devices(self, widget):
+ self._notebook.set_current_page(1)
+ self.bluetooth.find_devices()
+ self.nbdevices.model.clear()
+
+ def _device_found(self, bluetooth, deviceprops):
+ self.nbdevices.add_device(deviceprops) \ No newline at end of file