Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPootle daemon <pootle@pootle.sugarlabs.org>2012-10-24 04:33:54 (GMT)
committer Pootle daemon <pootle@pootle.sugarlabs.org>2012-10-24 04:33:54 (GMT)
commit34fd44f31197e56fdfed109fdabdae5c4b8d0cf9 (patch)
treef774b7d1df6e127c745eeef0b7e82d4932c813e0
parent1e979d11eed462286035046c82ca4114b62159ca (diff)
parentff734de4e8829c9873fb84f0a9cc0166860cdd96 (diff)
Merge branch 'master' of git.sugarlabs.org:sugar/mainline
-rw-r--r--extensions/deviceicon/battery.py6
-rw-r--r--extensions/deviceicon/network.py28
-rw-r--r--extensions/deviceicon/speaker.py11
-rw-r--r--extensions/deviceicon/speech.py8
-rw-r--r--extensions/deviceicon/volume.py7
-rw-r--r--src/jarabe/controlpanel/gui.py19
-rw-r--r--src/jarabe/desktop/networkviews.py7
-rw-r--r--src/jarabe/frame/clipboardicon.py8
-rw-r--r--src/jarabe/frame/friendstray.py6
9 files changed, 34 insertions, 66 deletions
diff --git a/extensions/deviceicon/battery.py b/extensions/deviceicon/battery.py
index fa1a40d..7fcca8d 100644
--- a/extensions/deviceicon/battery.py
+++ b/extensions/deviceicon/battery.py
@@ -69,15 +69,11 @@ class DeviceView(TrayIcon):
self._model = DeviceModel(battery)
self.palette = BatteryPalette(glib.markup_escape_text(_('My Battery')))
self.palette.set_group_id('frame')
- self.connect('button-release-event', self.__button_release_event_cb)
+ self.palette_invoker.props.toggle_palette = True
self._model.connect('updated',
self.__battery_status_changed_cb)
self._update_info()
- def __button_release_event_cb(self, widget, event):
- self.palette_invoker.notify_right_click()
- return True
-
def _update_info(self):
name = _ICON_NAME
current_level = self._model.props.level
diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py
index f014418..3351281 100644
--- a/extensions/deviceicon/network.py
+++ b/extensions/deviceicon/network.py
@@ -399,12 +399,14 @@ class WirelessDeviceView(ToolButton):
self._icon.show()
self.set_palette_invoker(FrameWidgetInvoker(self))
+ self.props.hide_tooltip_on_click = False
+ self.palette_invoker.props.toggle_palette = True
+
self._palette = WirelessPalette(self._display_name)
self._palette.connect('deactivate-connection',
self.__deactivate_connection_cb)
self.set_palette(self._palette)
self._palette.set_group_id('frame')
- self.connect('clicked', self.__toolbutton_clicked_cb)
self._device_props = dbus.Interface(self._device,
dbus.PROPERTIES_IFACE)
@@ -575,10 +577,6 @@ class WirelessDeviceView(ToolButton):
def __activate_error_cb(self, err):
logging.debug('Failed to create network: %s', err)
- def __toolbutton_clicked_cb(self, button):
- self.palette_invoker.notify_right_click()
- return True
-
class OlpcMeshDeviceView(ToolButton):
_ICON_NAME = 'network-mesh'
@@ -604,13 +602,15 @@ class OlpcMeshDeviceView(ToolButton):
self._icon.show()
self.set_palette_invoker(FrameWidgetInvoker(self))
+ self.props.hide_tooltip_on_click = False
+ self.palette_invoker.props.toggle_palette = True
+
title = _('Mesh Network')
self._palette = WirelessPalette(glib.markup_escape_text(title))
self._palette.connect('deactivate-connection',
self.__deactivate_connection)
self.set_palette(self._palette)
self._palette.set_group_id('frame')
- self.connect('clicked', self.__toolbutton_clicked_cb)
self.update_state(state)
@@ -695,10 +695,6 @@ class OlpcMeshDeviceView(ToolButton):
except dbus.exceptions.DBusException:
pass
- def __toolbutton_clicked_cb(self, button):
- self.palette_invoker.notify_right_click()
- return True
-
class WiredDeviceView(TrayIcon):
@@ -716,11 +712,7 @@ class WiredDeviceView(TrayIcon):
self.set_palette(self._palette)
self._palette.set_group_id('frame')
self._palette.set_connected(speed, address)
- self.connect('button-release-event', self.__button_release_event_cb)
-
- def __button_release_event_cb(self, widget, event):
- self.palette_invoker.notify_right_click()
- return True
+ self.palette_invoker.props.toggle_palette = True
class GsmDeviceView(TrayIcon):
@@ -742,7 +734,7 @@ class GsmDeviceView(TrayIcon):
self._device = device
self._palette = None
self.set_palette_invoker(FrameWidgetInvoker(self))
- self.connect('button-release-event', self.__button_release_event_cb)
+ self.palette_invoker.props.toggle_palette = True
self._bus.add_signal_receiver(self.__state_changed_cb,
signal_name='StateChanged',
@@ -769,10 +761,6 @@ class GsmDeviceView(TrayIcon):
return palette
- def __button_release_event_cb(self, widget, event):
- self.palette_invoker.notify_right_click()
- return True
-
def __gsm_connect_cb(self, palette, data=None):
connection = network.find_gsm_connection()
if connection is not None:
diff --git a/extensions/deviceicon/speaker.py b/extensions/deviceicon/speaker.py
index 5dab329..8260d49 100644
--- a/extensions/deviceicon/speaker.py
+++ b/extensions/deviceicon/speaker.py
@@ -46,6 +46,7 @@ class DeviceView(TrayIcon):
TrayIcon.__init__(self, icon_name=_ICON_NAME, xo_color=self._color)
self.set_palette_invoker(FrameWidgetInvoker(self))
+ self.palette_invoker.props.toggle_palette = True
self._model = DeviceModel()
self._model.connect('notify::level', self.__speaker_status_changed_cb)
@@ -53,9 +54,6 @@ class DeviceView(TrayIcon):
self.connect('draw', self.__draw_cb)
- self._icon_widget.connect('button-release-event',
- self.__button_release_event_cb)
-
self._update_info()
def create_palette(self):
@@ -78,13 +76,6 @@ class DeviceView(TrayIcon):
step=-1)
self.icon.props.xo_color = xo_color
- def __button_release_event_cb(self, widget, event):
- if event.button != 1:
- return False
-
- self.palette_invoker.notify_right_click()
- return True
-
def __draw_cb(self, *args):
self._update_info()
diff --git a/extensions/deviceicon/speech.py b/extensions/deviceicon/speech.py
index c3115f7..1f7bf02 100644
--- a/extensions/deviceicon/speech.py
+++ b/extensions/deviceicon/speech.py
@@ -45,9 +45,9 @@ class SpeechDeviceView(TrayIcon):
self._color = XoColor(client.get_string('/desktop/sugar/user/color'))
TrayIcon.__init__(self, icon_name=_ICON_NAME, xo_color=self._color)
self.set_palette_invoker(FrameWidgetInvoker(self))
+ self.palette_invoker.props.toggle_palette = True
+
self._manager = speech.get_speech_manager()
- self._icon_widget.connect('button-release-event',
- self.__button_release_event_cb)
def create_palette(self):
label = glib.markup_escape_text(_('Speech'))
@@ -55,10 +55,6 @@ class SpeechDeviceView(TrayIcon):
palette.set_group_id('frame')
return palette
- def __button_release_event_cb(self, widget, event):
- self.palette_invoker.notify_right_click()
- return True
-
class SpeechPalette(Palette):
diff --git a/extensions/deviceicon/volume.py b/extensions/deviceicon/volume.py
index f1f223c..6930811 100644
--- a/extensions/deviceicon/volume.py
+++ b/extensions/deviceicon/volume.py
@@ -64,8 +64,7 @@ class DeviceView(TrayIcon):
TrayIcon.__init__(self, icon_name=icon_name, xo_color=color)
self.set_palette_invoker(FrameWidgetInvoker(self))
-
- self.connect('button-release-event', self.__button_release_event_cb)
+ self.palette_invoker.props.toggle_palette = True
def create_palette(self):
palette = VolumePalette(self._mount)
@@ -86,10 +85,6 @@ class DeviceView(TrayIcon):
return palette
- def __button_release_event_cb(self, widget, event):
- self.palette_invoker.notify_right_click()
- return True
-
def __show_contents_cb(self, menu_item):
journal = journalactivity.get_journal()
journal.set_active_volume(self._mount)
diff --git a/src/jarabe/controlpanel/gui.py b/src/jarabe/controlpanel/gui.py
index f8afca3..f28b248 100644
--- a/src/jarabe/controlpanel/gui.py
+++ b/src/jarabe/controlpanel/gui.py
@@ -55,6 +55,9 @@ class ControlPanel(Gtk.Window):
self.set_resizable(False)
self.set_modal(True)
+ self.set_can_focus(True)
+ self.connect('key-press-event', self.__key_press_event_cb)
+
self._toolbar = None
self._canvas = None
self._table = None
@@ -90,6 +93,10 @@ class ControlPanel(Gtk.Window):
self.set_type_hint(Gdk.WindowTypeHint.DIALOG)
self.get_window().set_accept_focus(True)
+ def grab_focus(self):
+ # overwrite grab focus in order to grab focus on the view
+ self._main_view.get_child().grab_focus()
+
def _set_canvas(self, canvas):
if self._canvas:
self._main_view.remove(self._canvas)
@@ -186,8 +193,18 @@ class ControlPanel(Gtk.Window):
self._table.show()
self._scrolledwindow.show()
entry = self._main_toolbar.get_entry()
- entry.grab_focus()
entry.set_text('')
+ entry.connect('icon-press', self.__clear_icon_pressed_cb)
+ self.grab_focus()
+
+ def __key_press_event_cb(self, window, event):
+ entry = self._main_toolbar.get_entry()
+ if not entry.has_focus():
+ entry.grab_focus()
+ return False
+
+ def __clear_icon_pressed_cb(self, entry, icon_pos, event):
+ self.grab_focus()
def _update(self, query):
for option in self._options:
diff --git a/src/jarabe/desktop/networkviews.py b/src/jarabe/desktop/networkviews.py
index 64b4be3..c7d21c6 100644
--- a/src/jarabe/desktop/networkviews.py
+++ b/src/jarabe/desktop/networkviews.py
@@ -86,12 +86,11 @@ class WirelessNetworkView(EventPulsingIcon):
(xocolor.colors[index][0],
xocolor.colors[index][1]))
- self.connect('button-release-event', self.__button_release_event_cb)
-
pulse_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
style.COLOR_TRANSPARENT.get_svg()))
self.props.pulse_color = pulse_color
+ self.props.palette_invoker.props.toggle_palette = True
self._palette = self._create_palette()
self.set_palette(self._palette)
self._palette_icon.props.xo_color = self._color
@@ -332,10 +331,6 @@ class WirelessNetworkView(EventPulsingIcon):
def __connect_activate_cb(self, icon):
self._connect()
- def __button_release_event_cb(self, icon, event):
- self._palette.popup(immediate=True,
- state=palette.Palette.SECONDARY)
-
def _connect(self):
# Activate existing connection, if there is one
connection = network.find_connection_by_ssid(self._ssid)
diff --git a/src/jarabe/frame/clipboardicon.py b/src/jarabe/frame/clipboardicon.py
index 1cee867..81b3131 100644
--- a/src/jarabe/frame/clipboardicon.py
+++ b/src/jarabe/frame/clipboardicon.py
@@ -40,6 +40,7 @@ class ClipboardIcon(RadioToolButton):
RadioToolButton.__init__(self, group=group)
self.props.palette_invoker = FrameWidgetInvoker(self)
+ self.palette_invoker.props.toggle_palette = True
self._cb_object = cb_object
self.owns_clipboard = False
@@ -62,7 +63,6 @@ class ClipboardIcon(RadioToolButton):
child = self.get_child()
child.connect('drag_data_get', self._drag_data_get_cb)
- child.connect('button-release-event', self.__button_release_event_cb)
self.connect('notify::active', self._notify_active_cb)
def create_palette(self):
@@ -70,12 +70,6 @@ class ClipboardIcon(RadioToolButton):
palette.set_group_id('frame')
return palette
- def __button_release_event_cb(self, widget, event):
- if event.button != 1:
- return False
- self.props.palette_invoker.notify_right_click()
- return False
-
def get_object_id(self):
return self._cb_object.get_id()
diff --git a/src/jarabe/frame/friendstray.py b/src/jarabe/frame/friendstray.py
index 00d951f..099a3b6 100644
--- a/src/jarabe/frame/friendstray.py
+++ b/src/jarabe/frame/friendstray.py
@@ -33,7 +33,7 @@ class FriendIcon(TrayIcon):
self._buddy = buddy
self.set_palette_invoker(FrameWidgetInvoker(self))
self.palette_invoker.cache_palette = False
- self.connect('button-release-event', self.__button_release_event_cb)
+ self.palette_invoker.props.toggle_palette = True
def create_palette(self):
palette = BuddyMenu(self._buddy)
@@ -41,10 +41,6 @@ class FriendIcon(TrayIcon):
palette.set_group_id('frame')
return palette
- def __button_release_event_cb(self, widget, event):
- self.palette_invoker.notify_right_click()
- return True
-
class FriendsTray(VTray):
def __init__(self):