diff options
author | Simon Schampijer <simon@laptop.org> | 2012-09-03 14:03:12 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@laptop.org> | 2012-09-07 09:14:25 (GMT) |
commit | efe4099f6eac1b115013204d24a51783dff9d514 (patch) | |
tree | c9369df32d5851261c7a3e46db5f388cbcc8a0ed | |
parent | 4e58c1a1b069f088599934f0109589e17bf8d77f (diff) |
EventIcon: switch to implementation provided in sugar-toolkit-gtk3
This commit switches to the implementation provided in the
sugar-toolkit-gtk3 and removes the temporary implementation added
in b06ab21cc59200adf59ebb27e8e7e209ce494cba.
Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-by: Manuel QuiƱones <manuq@laptop.org>
-rw-r--r-- | extensions/cpsection/aboutme/view.py | 2 | ||||
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 2 | ||||
-rw-r--r-- | src/jarabe/desktop/friendview.py | 2 | ||||
-rw-r--r-- | src/jarabe/desktop/meshbox.py | 2 | ||||
-rw-r--r-- | src/jarabe/journal/expandedentry.py | 2 | ||||
-rw-r--r-- | src/jarabe/journal/listview.py | 2 | ||||
-rw-r--r-- | src/jarabe/view/Makefile.am | 1 | ||||
-rw-r--r-- | src/jarabe/view/buddyicon.py | 2 | ||||
-rw-r--r-- | src/jarabe/view/eventicon.py | 274 | ||||
-rw-r--r-- | src/jarabe/view/pulsingicon.py | 3 |
10 files changed, 8 insertions, 284 deletions
diff --git a/extensions/cpsection/aboutme/view.py b/extensions/cpsection/aboutme/view.py index 480c27a..a899a97 100644 --- a/extensions/cpsection/aboutme/view.py +++ b/extensions/cpsection/aboutme/view.py @@ -21,10 +21,10 @@ from gettext import gettext as _ from sugar3.graphics import style from sugar3.graphics.xocolor import XoColor, colors +from sugar3.graphics.icon import EventIcon from jarabe.controlpanel.sectionview import SectionView from jarabe.controlpanel.inlinealert import InlineAlert -from jarabe.view.eventicon import EventIcon _STROKE_COLOR = 0 _FILL_COLOR = 1 diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 428c24f..2e0cfb9 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -27,6 +27,7 @@ from gi.repository import Gdk from sugar3.graphics import style from sugar3.graphics.icon import Icon +from sugar3.graphics.icon import EventIcon from sugar3.graphics.menuitem import MenuItem from sugar3.graphics.alert import Alert from sugar3.graphics.xocolor import XoColor @@ -39,7 +40,6 @@ from jarabe.view.palettes import CurrentActivityPalette from jarabe.view.palettes import ActivityPalette from jarabe.view.buddyicon import BuddyIcon from jarabe.view.buddymenu import BuddyMenu -from jarabe.view.eventicon import EventIcon from jarabe.model.buddy import get_owner_instance from jarabe.model import shell from jarabe.model import bundleregistry diff --git a/src/jarabe/desktop/friendview.py b/src/jarabe/desktop/friendview.py index c61da63..d791ff5 100644 --- a/src/jarabe/desktop/friendview.py +++ b/src/jarabe/desktop/friendview.py @@ -18,9 +18,9 @@ from gi.repository import Gtk from sugar3.graphics import style +from sugar3.graphics.icon import EventIcon from jarabe.view.buddyicon import BuddyIcon -from jarabe.view.eventicon import EventIcon from jarabe.model import bundleregistry diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py index c0afe75..049263e 100644 --- a/src/jarabe/desktop/meshbox.py +++ b/src/jarabe/desktop/meshbox.py @@ -27,6 +27,7 @@ from gi.repository import Gtk from gi.repository import GConf from sugar3.graphics.icon import Icon +from sugar3.graphics.icon import EventIcon from sugar3.graphics import style from sugar3.graphics import palette from sugar3.graphics.menuitem import MenuItem @@ -35,7 +36,6 @@ from jarabe.desktop.snowflakelayout import SnowflakeLayout from jarabe.model import neighborhood from jarabe.model.buddy import get_owner_instance from jarabe.view.buddyicon import BuddyIcon -from jarabe.view.eventicon import EventIcon from jarabe.desktop.networkviews import WirelessNetworkView from jarabe.desktop.networkviews import OlpcMeshView from jarabe.desktop.networkviews import SugarAdhocView diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py index 3ee77f4..12d3989 100644 --- a/src/jarabe/journal/expandedentry.py +++ b/src/jarabe/journal/expandedentry.py @@ -29,13 +29,13 @@ import simplejson from sugar3.graphics import style from sugar3.graphics.xocolor import XoColor +from sugar3.graphics.icon import EventIcon from sugar3.util import format_size from jarabe.journal.keepicon import KeepIcon from jarabe.journal.palettes import ObjectPalette, BuddyPalette from jarabe.journal import misc from jarabe.journal import model -from jarabe.view.eventicon import EventIcon class Separator(Gtk.VBox): diff --git a/src/jarabe/journal/listview.py b/src/jarabe/journal/listview.py index c5514f9..8b1e4ef 100644 --- a/src/jarabe/journal/listview.py +++ b/src/jarabe/journal/listview.py @@ -27,6 +27,7 @@ from gi.repository import Pango from sugar3.graphics import style from sugar3.graphics.icon import Icon, CellRendererIcon +from sugar3.graphics.icon import EventIcon from sugar3.graphics.xocolor import XoColor from sugar3 import util @@ -34,7 +35,6 @@ from jarabe.journal.listmodel import ListModel from jarabe.journal.palettes import ObjectPalette, BuddyPalette from jarabe.journal import model from jarabe.journal import misc -from jarabe.view.eventicon import EventIcon UPDATE_INTERVAL = 300 diff --git a/src/jarabe/view/Makefile.am b/src/jarabe/view/Makefile.am index 31ccfa4..630f184 100644 --- a/src/jarabe/view/Makefile.am +++ b/src/jarabe/view/Makefile.am @@ -4,7 +4,6 @@ sugar_PYTHON = \ buddyicon.py \ buddymenu.py \ customizebundle.py \ - eventicon.py \ keyhandler.py \ launcher.py \ palettes.py \ diff --git a/src/jarabe/view/buddyicon.py b/src/jarabe/view/buddyicon.py index e024dcb..59c3690 100644 --- a/src/jarabe/view/buddyicon.py +++ b/src/jarabe/view/buddyicon.py @@ -16,9 +16,9 @@ from sugar3.graphics import style from sugar3.graphics.palette import Palette +from sugar3.graphics.icon import EventIcon from jarabe.view.buddymenu import BuddyMenu -from jarabe.view.eventicon import EventIcon _FILTERED_ALPHA = 0.33 diff --git a/src/jarabe/view/eventicon.py b/src/jarabe/view/eventicon.py deleted file mode 100644 index 867b707..0000000 --- a/src/jarabe/view/eventicon.py +++ /dev/null @@ -1,274 +0,0 @@ -# Copyright (C) 2012, One Laptop Per Child -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. -from gi.repository import GObject -from gi.repository import Gtk - -from sugar3.graphics import style -from sugar3.graphics.icon import _IconBuffer -from sugar3.graphics.palette import Palette -from sugar3.graphics.palettewindow import Invoker - - -class CursorInvoker(Invoker): - - def __init__(self, parent=None): - Invoker.__init__(self) - - self._position_hint = self.AT_CURSOR - self._enter_hid = None - self._leave_hid = None - self._release_hid = None - self._item = None - - if parent: - self.attach(parent) - - def attach(self, parent): - Invoker.attach(self, parent) - - self._item = parent - self._enter_hid = self._item.connect('enter-notify-event', - self.__enter_notify_event_cb) - self._leave_hid = self._item.connect('leave-notify-event', - self.__leave_notify_event_cb) - self._release_hid = self._item.connect('button-release-event', - self.__button_release_event_cb) - - def detach(self): - Invoker.detach(self) - self._item.disconnect(self._enter_hid) - self._item.disconnect(self._leave_hid) - self._item.disconnect(self._release_hid) - - def get_default_position(self): - return self.AT_CURSOR - - def get_rect(self): - window = self._item.get_window() - allocation = self._item.get_allocation() - rect = () - rect.x, rect.y = window.get_root_coords(allocation.x, allocation.y) - rect.width = allocation.width - rect.height = allocation.height - return rect - - def __enter_notify_event_cb(self, button, event): - self.notify_mouse_enter() - return False - - def __leave_notify_event_cb(self, button, event): - self.notify_mouse_leave() - return False - - def __button_release_event_cb(self, button, event): - if event.button == 3: - self.notify_right_click() - return True - else: - return False - - def get_toplevel(self): - return self._item.get_toplevel() - - -class EventIcon(Gtk.EventBox): - - __gtype_name__ = 'SugarEventIcon' - - def __init__(self, **kwargs): - self._buffer = _IconBuffer() - self._alpha = 1.0 - - GObject.GObject.__init__(self) - self.set_visible_window(False) - for key, value in kwargs.iteritems(): - self.set_property(key, value) - - self._palette_invoker = CursorInvoker() - self._palette_invoker.attach(self) - - self.connect('destroy', self.__destroy_cb) - - def do_expose_event(self, event): - surface = self._buffer.get_surface() - if surface: - allocation = self.get_allocation() - - x = allocation.x + (allocation.width - surface.get_width()) / 2 - y = allocation.y + (allocation.height - surface.get_height()) / 2 - - cr = self.window.cairo_create() - cr.set_source_surface(surface, x, y) - if self._alpha == 1.0: - cr.paint() - else: - cr.paint_with_alpha(self._alpha) - - def do_size_request(self, req): - surface = self._buffer.get_surface() - if surface: - req.width = surface.get_width() - req.height = surface.get_height() - elif self._buffer.width: - req.width = self._buffer.width - req.height = self._buffer.height - else: - req.width = 0 - req.height = 0 - - def __destroy_cb(self, icon): - if self._palette_invoker is not None: - self._palette_invoker.detach() - - def set_file_name(self, value): - if self._buffer.file_name != value: - self._buffer.file_name = value - self.queue_draw() - - def get_file_name(self): - return self._buffer.file_name - - file_name = GObject.property( - type=object, getter=get_file_name, setter=set_file_name) - - def set_icon_name(self, value): - if self._buffer.icon_name != value: - self._buffer.icon_name = value - self.queue_draw() - - def get_icon_name(self): - return self._buffer.icon_name - - icon_name = GObject.property( - type=object, getter=get_icon_name, setter=set_icon_name) - - def set_xo_color(self, value): - if self._buffer.xo_color != value: - self._buffer.xo_color = value - self.queue_draw() - - xo_color = GObject.property( - type=object, getter=None, setter=set_xo_color) - - def set_fill_color(self, value): - if self._buffer.fill_color != value: - self._buffer.fill_color = value - self.queue_draw() - - def get_fill_color(self): - return self._buffer.fill_color - - fill_color = GObject.property( - type=object, getter=get_fill_color, setter=set_fill_color) - - def set_stroke_color(self, value): - if self._buffer.stroke_color != value: - self._buffer.stroke_color = value - self.queue_draw() - - def get_stroke_color(self): - return self._buffer.stroke_color - - stroke_color = GObject.property( - type=object, getter=get_stroke_color, setter=set_stroke_color) - - def set_background_color(self, value): - if self._buffer.background_color != value: - self._buffer.background_color = value - self.queue_draw() - - def get_background_color(self): - return self._buffer.background_color - - background_color = GObject.property( - type=object, getter=get_background_color, setter=set_background_color) - - def set_size(self, value): - if self._buffer.width != value: - self._buffer.width = value - self._buffer.height = value - self.queue_resize() - - def get_size(self): - return self._buffer.width - - pixel_size = GObject.property( - type=object, getter=get_size, setter=set_size) - - def set_scale(self, value): - if self._buffer.scale != value: - self._buffer.scale = value - self.queue_resize() - - def get_scale(self): - return self._buffer.scale - - scale = GObject.property( - type=float, getter=get_scale, setter=set_scale) - - def set_alpha(self, alpha): - if self._alpha != alpha: - self._alpha = alpha - self.queue_draw() - - alpha = GObject.property( - type=float, setter=set_alpha) - - def set_cache(self, value): - self._buffer.cache = value - - def get_cache(self): - return self._buffer.cache - - cache = GObject.property( - type=bool, default=False, getter=get_cache, setter=set_cache) - - def set_badge_name(self, value): - if self._buffer.badge_name != value: - self._buffer.badge_name = value - self.queue_draw() - - def get_badge_name(self): - return self._buffer.badge_name - - badge_name = GObject.property( - type=object, getter=get_badge_name, setter=set_badge_name) - - def create_palette(self): - return None - - def get_palette(self): - return self._palette_invoker.palette - - def set_palette(self, palette): - self._palette_invoker.palette = palette - - palette = GObject.property( - type=object, setter=set_palette, getter=get_palette) - - def get_palette_invoker(self): - return self._palette_invoker - - def set_palette_invoker(self, palette_invoker): - self._palette_invoker.detach() - self._palette_invoker = palette_invoker - - palette_invoker = GObject.property( - type=object, setter=set_palette_invoker, getter=get_palette_invoker) - - def set_tooltip(self, text): - self.set_palette(Palette(text)) diff --git a/src/jarabe/view/pulsingicon.py b/src/jarabe/view/pulsingicon.py index ef77dee..33f2c80 100644 --- a/src/jarabe/view/pulsingicon.py +++ b/src/jarabe/view/pulsingicon.py @@ -20,8 +20,7 @@ from gi.repository import GObject from sugar3.graphics.icon import Icon from sugar3.graphics import style - -from jarabe.view.eventicon import EventIcon +from sugar3.graphics.icon import EventIcon _INTERVAL = 100 |