diff options
author | Pootle 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) |
commit | 34fd44f31197e56fdfed109fdabdae5c4b8d0cf9 (patch) | |
tree | f774b7d1df6e127c745eeef0b7e82d4932c813e0 | |
parent | 1e979d11eed462286035046c82ca4114b62159ca (diff) | |
parent | ff734de4e8829c9873fb84f0a9cc0166860cdd96 (diff) |
Merge branch 'master' of git.sugarlabs.org:sugar/mainline
-rw-r--r-- | extensions/deviceicon/battery.py | 6 | ||||
-rw-r--r-- | extensions/deviceicon/network.py | 28 | ||||
-rw-r--r-- | extensions/deviceicon/speaker.py | 11 | ||||
-rw-r--r-- | extensions/deviceicon/speech.py | 8 | ||||
-rw-r--r-- | extensions/deviceicon/volume.py | 7 | ||||
-rw-r--r-- | src/jarabe/controlpanel/gui.py | 19 | ||||
-rw-r--r-- | src/jarabe/desktop/networkviews.py | 7 | ||||
-rw-r--r-- | src/jarabe/frame/clipboardicon.py | 8 | ||||
-rw-r--r-- | src/jarabe/frame/friendstray.py | 6 |
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): |