[sugar] [Code-review] [PATCH] Reset activity icons when clicked/launched (#7273, #7274)
Marco Pesenti Gritti
mpgritti
Sun Jun 22 06:06:47 EDT 2008
Please make sure to to mention the ticket number in the git log.
Something like: "Fix #1111". I'll try to post about this in a more
generic way later today.
Marco
On Sun, Jun 22, 2008 at 9:16 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
> r+ Thanks!
>
> On Sun, Jun 22, 2008 at 4:05 AM, Eben Eliason <eben.eliason at gmail.com> wrote:
>> Good points. This new patch addresses the points brought up, and also
>> cleans things up a bit by naming the hovering event appropriately, and
>> by homogenizing the classes in the two files a bit.
>>
>> ---
>> src/view/home/activitieslist.py | 31 +++++++++++++++++++++----------
>> src/view/home/favoritesview.py | 22 ++++++++++++++--------
>> 2 files changed, 35 insertions(+), 18 deletions(-)
>>
>> diff --git a/src/view/home/activitieslist.py b/src/view/home/activitieslist.py
>> index 5dab09d..e542859 100644
>> --- a/src/view/home/activitieslist.py
>> +++ b/src/view/home/activitieslist.py
>> @@ -105,22 +105,33 @@ class ActivitiesList(gtk.ScrolledWindow):
>> class ActivityIcon(CanvasIcon):
>> def __init__(self, activity_info):
>> CanvasIcon.__init__(self, size=style.STANDARD_ICON_SIZE, cache=True,
>> - file_name=activity_info.icon,
>> - stroke_color=style.COLOR_BUTTON_GREY.get_svg(),
>> - fill_color=style.COLOR_TRANSPARENT.get_svg())
>> + file_name=activity_info.icon)
>> self._activity_info = activity_info
>> + self._uncolor()
>> self.connect('hovering-changed', self.__hovering_changed_event_cb)
>> -
>> - def __hovering_changed_event_cb(self, icon, event):
>> - if event:
>> - self.props.xo_color = profile.get_color()
>> - else:
>> - self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>> - self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>> + self.connect('button-release-event', self.__button_release_event_cb)
>>
>> def create_palette(self):
>> return ActivityPalette(self._activity_info)
>>
>> + def _color(self):
>> + self.props.xo_color = profile.get_color()
>> +
>> + def _uncolor(self):
>> + self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>> + self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>> +
>> + def __hovering_changed_event_cb(self, icon, hovering):
>> + if hovering:
>> + self._color()
>> + else:
>> + self._uncolor()
>> +
>> + def __button_release_event_cb(self, icon, event):
>> + self.palette.popdown(immediate=True)
>> + self._uncolor()
>> +
>> +
>> class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem):
>> __gtype_name__ = 'SugarActivityEntry'
>>
>> diff --git a/src/view/home/favoritesview.py b/src/view/home/favoritesview.py
>> index a6e2268..1c948e8 100644
>> --- a/src/view/home/favoritesview.py
>> +++ b/src/view/home/favoritesview.py
>> @@ -268,23 +268,29 @@ class ActivityIcon(CanvasIcon):
>> def __init__(self, activity_info):
>> CanvasIcon.__init__(self, cache=True, file_name=activity_info.icon)
>> self._activity_info = activity_info
>> + self._uncolor()
>> self.connect('hovering-changed', self.__hovering_changed_event_cb)
>> self.connect('button-release-event', self.__button_release_event_cb)
>>
>> - self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>> - self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>> -
>> def create_palette(self):
>> return ActivityPalette(self._activity_info)
>>
>> - def __hovering_changed_event_cb(self, icon, event):
>> - if event:
>> - self.props.xo_color = get_profile().color
>> + def _color(self):
>> + self.props.xo_color = get_profile().color
>> +
>> + def _uncolor(self):
>> + self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>> + self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>> +
>> + def __hovering_changed_event_cb(self, icon, hovering):
>> + if hovering:
>> + self._color()
>> else:
>> - self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>> - self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>> + self._uncolor()
>>
>> def __button_release_event_cb(self, icon, event):
>> + self.palette.popdown(immediate=True)
>> + self._uncolor()
>> view.Shell.get_instance().start_activity(self._activity_info.bundle_id)
>>
>> def get_bundle_id(self):
>> --
>>
>> Thanks!
>>
>> - Eben
>>
>>
>>
>> On Sat, Jun 21, 2008 at 4:56 AM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
>>> On Sat, Jun 21, 2008 at 1:14 AM, Eben Eliason <eben.eliason at gmail.com> wrote:
>>>> The act of clicking on an activity icon in Home to launch it
>>>> switches the view to the launcher, eliminating the expected
>>>> hovering-changed event (leave). This commit hides the palette
>>>> instantly (it used to remain visible in the launcher) and
>>>> un-colors the icon (which used to remain colored when returning
>>>> to Home).
>>>>
>>>> ---
>>>> src/view/home/activitieslist.py | 11 ++++++++++-
>>>> src/view/home/favoritesview.py | 8 +++++++-
>>>> 2 files changed, 17 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/src/view/home/activitieslist.py b/src/view/home/activitieslist.py
>>>> index 5dab09d..8086b7b 100644
>>>> --- a/src/view/home/activitieslist.py
>>>> +++ b/src/view/home/activitieslist.py
>>>> @@ -110,6 +110,9 @@ class ActivityIcon(CanvasIcon):
>>>> fill_color=style.COLOR_TRANSPARENT.get_svg())
>>>> self._activity_info = activity_info
>>>> self.connect('hovering-changed', self.__hovering_changed_event_cb)
>>>> + self.connect('button-release-event', self.__button_release_event_cb)
>>>> +
>>>> + self._palette = None
>>>
>>> No need to keep track of the palette, we can access it with
>>> self.palette (is a property of CanvasIcon).
>>>
>>>> def __hovering_changed_event_cb(self, icon, event):
>>>> if event:
>>>> @@ -118,8 +121,14 @@ class ActivityIcon(CanvasIcon):
>>>> self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>>>> self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>>>>
>>>> + def __button_release_event_cb(self, icon, event):
>>>> + self._palette.popdown(immediate=True)
>>>> + self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>>>> + self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>>>
>>> Perhaps we shouldn't duplicate this set of colors, maybe a
>>> _restore_colors() method could be created?
>>>
>>>> +
>>>> def create_palette(self):
>>>> - return ActivityPalette(self._activity_info)
>>>> + self._palette = ActivityPalette(self._activity_info)
>>>> + return self._palette
>>>>
>>>> class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem):
>>>> __gtype_name__ = 'SugarActivityEntry'
>>>> diff --git a/src/view/home/favoritesview.py b/src/view/home/favoritesview.py
>>>> index a6e2268..6e56db5 100644
>>>> --- a/src/view/home/favoritesview.py
>>>> +++ b/src/view/home/favoritesview.py
>>>> @@ -274,8 +274,11 @@ class ActivityIcon(CanvasIcon):
>>>> self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>>>> self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>>>>
>>>> + self._palette = None
>>>> +
>>>> def create_palette(self):
>>>> - return ActivityPalette(self._activity_info)
>>>> + self._palette = ActivityPalette(self._activity_info)
>>>> + return self._palette
>>>>
>>>> def __hovering_changed_event_cb(self, icon, event):
>>>> if event:
>>>> @@ -285,6 +288,9 @@ class ActivityIcon(CanvasIcon):
>>>> self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>>>>
>>>> def __button_release_event_cb(self, icon, event):
>>>> + self._palette.popdown(immediate=True)
>>>> + self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
>>>> + self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
>>>> view.Shell.get_instance().start_activity(self._activity_info.bundle_id)
>>>>
>>>> def get_bundle_id(self):
>>>
>>> Same for favorites as for the list.
>>>
>>> Thanks,
>>>
>>> Tomeu
>>>
>>
> _______________________________________________
> Code-review mailing list
> Code-review at lists.laptop.org
> http://lists.laptop.org/listinfo/code-review
>
More information about the Sugar-devel
mailing list