Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@laptop.org>2012-09-03 14:03:12 (GMT)
committer Simon Schampijer <simon@laptop.org>2012-09-07 09:14:25 (GMT)
commitefe4099f6eac1b115013204d24a51783dff9d514 (patch)
treec9369df32d5851261c7a3e46db5f388cbcc8a0ed
parent4e58c1a1b069f088599934f0109589e17bf8d77f (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.py2
-rw-r--r--src/jarabe/desktop/favoritesview.py2
-rw-r--r--src/jarabe/desktop/friendview.py2
-rw-r--r--src/jarabe/desktop/meshbox.py2
-rw-r--r--src/jarabe/journal/expandedentry.py2
-rw-r--r--src/jarabe/journal/listview.py2
-rw-r--r--src/jarabe/view/Makefile.am1
-rw-r--r--src/jarabe/view/buddyicon.py2
-rw-r--r--src/jarabe/view/eventicon.py274
-rw-r--r--src/jarabe/view/pulsingicon.py3
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