コード例 #1
0
 def __init__(self, model, file_name, xo_color,
              size=style.STANDARD_ICON_SIZE):
     CanvasIcon.__init__(self, file_name=file_name,
                         xo_color=xo_color,
                         size=size)
     self._model = model
     self.connect('activated', self._clicked_cb)
コード例 #2
0
    def __init__(self):
        logging.debug('STARTUP: Loading the group view')

        gobject.GObject.__init__(self)

        self._box = hippo.CanvasBox()
        self._box.props.background_color = style.COLOR_WHITE.get_int()
        self.set_root(self._box)

        self._friends = {}

        self._layout = SpreadLayout()
        self._box.set_layout(self._layout)

        client = gconf.client_get_default()
        color = XoColor(client.get_string('/desktop/sugar/user/color'))

        self._owner_icon = CanvasIcon(icon_name='computer-xo', cache=True,
                                      xo_color=color)
        self._owner_icon.props.size = style.LARGE_ICON_SIZE

        self._owner_icon.set_palette(BuddyMenu(get_owner_instance()))
        self._layout.add(self._owner_icon)

        friends_model = friends.get_model()

        for friend in friends_model:
            self.add_friend(friend)

        friends_model.connect('friend-added', self._friend_added_cb)
        friends_model.connect('friend-removed', self._friend_removed_cb)
コード例 #3
0
ファイル: taglist.py プロジェクト: FOSSRIT/sweetermail
 def __init__(self, tag):
     CanvasIcon.__init__(self, size=style.STANDARD_ICON_SIZE/2, cache=True,
                         file_name='icons/'+tag.icon+'.svg')
     self._uncolor()
     self._tag = tag
     self.connect('hovering-changed', self.__hovering_changed_event_cb)
     self.connect('button-release-event', self.__button_release_event_cb)
コード例 #4
0
ファイル: mailicon.py プロジェクト: FOSSRIT/sweetermail
    def __init__(self, mail):
        CanvasIcon.__init__(self, file_name='icons/message.svg',
                            box_width=style.GRID_CELL_SIZE * 3 / 5,
                            size=style.SMALL_ICON_SIZE)
        self.connect('motion-notify-event', self.__motion_notify_event_cb)

        self._mail = None
        self._set_mail(mail)
コード例 #5
0
 def __init__(self, favorite):
     CanvasIcon.__init__(self, icon_name='emblem-favorite',
                         box_width=style.GRID_CELL_SIZE * 3 / 5,
                         size=style.SMALL_ICON_SIZE)
     self._favorite = None
     self.set_favorite(favorite)
     self.connect('button-release-event', self.__release_event_cb)
     self.connect('motion-notify-event', self.__motion_notify_event_cb)
コード例 #6
0
ファイル: keepicon.py プロジェクト: nemesiscodex/jarabe
    def __init__(self, keep):
        CanvasIcon.__init__(
            self, icon_name="emblem-favorite", box_width=style.GRID_CELL_SIZE * 3 / 5, size=style.SMALL_ICON_SIZE
        )
        self.connect("motion-notify-event", self.__motion_notify_event_cb)

        self._keep = None
        self.set_keep(keep)
コード例 #7
0
 def __init__(self, favorite):
     CanvasIcon.__init__(self,
                         icon_name='emblem-favorite',
                         box_width=style.GRID_CELL_SIZE * 3 / 5,
                         size=style.SMALL_ICON_SIZE)
     self._favorite = None
     self.set_favorite(favorite)
     self.connect('button-release-event', self.__release_event_cb)
     self.connect('motion-notify-event', self.__motion_notify_event_cb)
コード例 #8
0
ファイル: keepicon.py プロジェクト: nemesiscodex/jarabe
    def __init__(self, keep):
        CanvasIcon.__init__(self,
                            icon_name='emblem-favorite',
                            box_width=style.GRID_CELL_SIZE * 3 / 5,
                            size=style.SMALL_ICON_SIZE)
        self.connect('motion-notify-event', self.__motion_notify_event_cb)

        self._keep = None
        self.set_keep(keep)
コード例 #9
0
    def __init__(self, **kwargs):
        self._pulser = Pulser(self)
        self._base_color = None
        self._pulse_color = None
        self._paused = False
        self._pulsing = False

        CanvasIcon.__init__(self, **kwargs)

        self.connect('destroy', self.__destroy_cb)
コード例 #10
0
    def __init__(self, buddy, size=style.STANDARD_ICON_SIZE):
        CanvasIcon.__init__(self, icon_name='computer-xo', size=size)

        self._filtered = False
        self._buddy = buddy
        self._buddy.connect('notify::present', self.__buddy_notify_present_cb)
        self._buddy.connect('notify::color', self.__buddy_notify_color_cb)

        self.palette_invoker.cache_palette = False

        self._update_color()
コード例 #11
0
ファイル: favoritesview.py プロジェクト: nemesiscodex/jarabe
    def __init__(self):
        CanvasIcon.__init__(self, cache=True)
        self._home_model = shell.get_model()
        self._home_activity = self._home_model.get_active_activity()

        if self._home_activity is not None:
            self._update()

        self._home_model.connect('active-activity-changed',
                                 self.__active_activity_changed_cb)

        self.connect('button-release-event', self.__button_release_event_cb)
コード例 #12
0
    def __init__(self, buddies):
        hippo.CanvasBox.__init__(self, xalign=hippo.ALIGNMENT_START,
                                 orientation=hippo.ORIENTATION_HORIZONTAL)

        for buddy in buddies:
            nick_, color = buddy
            hbox = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL)
            icon = CanvasIcon(icon_name='computer-xo',
                              xo_color=XoColor(color),
                              size=style.STANDARD_ICON_SIZE)
            icon.set_palette(BuddyPalette(buddy))
            hbox.append(icon)
            self.append(hbox)
コード例 #13
0
ファイル: expandedentry.py プロジェクト: nemesiscodex/jarabe
    def __init__(self, buddies):
        hippo.CanvasBox.__init__(self,
                                 xalign=hippo.ALIGNMENT_START,
                                 orientation=hippo.ORIENTATION_HORIZONTAL)

        for buddy in buddies:
            nick_, color = buddy
            hbox = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL)
            icon = CanvasIcon(icon_name='computer-xo',
                              xo_color=XoColor(color),
                              size=style.STANDARD_ICON_SIZE)
            icon.set_palette(BuddyPalette(buddy))
            hbox.append(icon)
            self.append(hbox)
コード例 #14
0
    def _create_icon(self):
        icon = CanvasIcon(file_name=misc.get_icon_name(self._metadata))
        icon.connect_after('button-release-event',
                           self._icon_button_release_event_cb)

        if misc.is_activity_bundle(self._metadata):
            xo_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
                                          style.COLOR_TRANSPARENT.get_svg()))
        else:
            xo_color = misc.get_icon_color(self._metadata)
        icon.props.xo_color = xo_color

        icon.set_palette(ObjectPalette(self._metadata))

        return icon
コード例 #15
0
ファイル: listview.py プロジェクト: nemesiscodex/jarabe
    def _show_message(self, message, show_clear_query=False):
        canvas = hippo.Canvas()
        self.remove(self.child)
        self.add(canvas)
        canvas.show()

        box = hippo.CanvasBox(orientation=hippo.ORIENTATION_VERTICAL,
                              background_color=style.COLOR_WHITE.get_int(),
                              yalign=hippo.ALIGNMENT_CENTER,
                              spacing=style.DEFAULT_SPACING,
                              padding_bottom=style.GRID_CELL_SIZE)
        canvas.set_root(box)

        icon = CanvasIcon(size=style.LARGE_ICON_SIZE,
                          icon_name='activity-journal',
                          stroke_color=style.COLOR_BUTTON_GREY.get_svg(),
                          fill_color=style.COLOR_TRANSPARENT.get_svg())
        box.append(icon)

        text = hippo.CanvasText(text=message,
                                xalign=hippo.ALIGNMENT_CENTER,
                                font_desc=style.FONT_BOLD.get_pango_desc(),
                                color=style.COLOR_BUTTON_GREY.get_int())
        box.append(text)

        if show_clear_query:
            button = gtk.Button(label=_('Clear search'))
            button.connect('clicked', self.__clear_button_clicked_cb)
            button.props.image = Icon(icon_name='dialog-cancel',
                                      icon_size=gtk.ICON_SIZE_BUTTON)
            canvas_button = hippo.CanvasWidget(widget=button,
                                               xalign=hippo.ALIGNMENT_CENTER)
            box.append(canvas_button)
コード例 #16
0
ファイル: favoritesview.py プロジェクト: nemesiscodex/jarabe
    def __init__(self, activity_info):
        CanvasIcon.__init__(self, cache=True,
                            file_name=activity_info.get_icon())

        self._activity_info = activity_info
        self._journal_entries = []
        self._hovering = False
        self._resume_mode = True

        self.connect('hovering-changed', self.__hovering_changed_event_cb)
        self.connect('button-release-event', self.__button_release_event_cb)

        datastore.updated.connect(self.__datastore_listener_updated_cb)
        datastore.deleted.connect(self.__datastore_listener_deleted_cb)

        self._refresh()
        self._update()
コード例 #17
0
    def _create_entry_icon(self):
        bundle_id = self._activity.metadata.get('activity', '')
        if not bundle_id:
            bundle_id = self._activity.metadata.get('bundle_id', '')

        if bundle_id == '':
            file_name = _get_icon_name(self._activity.metadata)
        else:
            activity_bundle = ActivityBundle(self._bundle_path)
            file_name = activity_bundle.get_icon()
        entry_icon = CanvasIcon(file_name=file_name)
        if self._activity.metadata.has_key('icon-color') and \
                self._activity.metadata['icon-color']:
            entry_icon.props.xo_color = XoColor( \
                self._activity.metadata['icon-color'])
        return entry_icon
コード例 #18
0
ファイル: friendview.py プロジェクト: nemesiscodex/jarabe
    def __init__(self, buddy, **kwargs):
        hippo.CanvasBox.__init__(self, **kwargs)

        self._buddy = buddy
        self._buddy_icon = BuddyIcon(buddy)
        self._buddy_icon.props.size = style.LARGE_ICON_SIZE
        self.append(self._buddy_icon)

        self._activity_icon = CanvasIcon(size=style.LARGE_ICON_SIZE)
        self._activity_icon_visible = False

        self._update_activity()

        self._buddy.connect('notify::current-activity',
                            self.__buddy_notify_current_activity_cb)
        self._buddy.connect('notify::present', self.__buddy_notify_present_cb)
        self._buddy.connect('notify::color', self.__buddy_notify_color_cb)
コード例 #19
0
ファイル: expandedentry.py プロジェクト: nemesiscodex/jarabe
    def _create_icon(self):
        icon = CanvasIcon(file_name=misc.get_icon_name(self._metadata))
        icon.connect_after('button-release-event',
                           self._icon_button_release_event_cb)

        if misc.is_activity_bundle(self._metadata):
            xo_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
                                          style.COLOR_TRANSPARENT.get_svg()))
        else:
            xo_color = misc.get_icon_color(self._metadata)
        icon.props.xo_color = xo_color

        icon.set_palette(ObjectPalette(self._metadata))

        return icon
コード例 #20
0
def idle_cb():
    global countdown

    for i in range(0, 100):
        entry = hippo.CanvasBox(border=2,
                                border_color=0x000000ff,
                                orientation=hippo.ORIENTATION_HORIZONTAL,
                                padding=10,
                                spacing=10)

        for j in range(0, 3):
            icon = CanvasIcon(icon_name='go-left')
            entry.append(icon)

        for j in range(0, 2):
            text = hippo.CanvasText(text='Text %s %s' % (countdown, j))
            entry.append(text)

        box.append(entry)

        countdown -= 1

    return countdown > 0
コード例 #21
0
ファイル: detailview.py プロジェクト: nemesiscodex/jarabe
    def __init__(self):
        hippo.CanvasBox.__init__(
            self,
            orientation=hippo.ORIENTATION_HORIZONTAL,
            border=style.LINE_WIDTH,
            background_color=style.COLOR_PANEL_GREY.get_int(),
            border_color=style.COLOR_SELECTION_GREY.get_int(),
            padding=style.DEFAULT_PADDING,
            padding_left=style.DEFAULT_SPACING,
            spacing=style.DEFAULT_SPACING)

        icon = CanvasIcon(icon_name='go-previous',
                          size=style.SMALL_ICON_SIZE,
                          fill_color=style.COLOR_TOOLBAR_GREY.get_svg())
        self.append(icon)

        label = hippo.CanvasText(text=_('Back'),
                                 font_desc=style.FONT_NORMAL.get_pango_desc())
        self.append(label)

        if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
            self.reverse()

        self.connect('motion-notify-event', self.__motion_notify_event_cb)
コード例 #22
0
ファイル: favoritesview.py プロジェクト: nemesiscodex/jarabe
 def do_get_content_width_request(self):
     width, width = CanvasIcon.do_get_content_width_request(self)
     width += ActivityIcon._BORDER_WIDTH * 2
     return width, width
コード例 #23
0
ファイル: favoritesview.py プロジェクト: nemesiscodex/jarabe
 def do_get_content_height_request(self, for_width):
     height, height = CanvasIcon.do_get_content_height_request(self,
                                                               for_width)
     height += ActivityIcon._BORDER_WIDTH * 2
     return height, height
コード例 #24
0
ファイル: mailicon.py プロジェクト: FOSSRIT/sweetermail
 def do_get_property(self, pspec):
     if pspec.name == 'mail':
         return self._mail
     else:
         return CanvasIcon.do_get_property(self, pspec)
コード例 #25
0
class GroupBox(hippo.Canvas):
    __gtype_name__ = 'SugarGroupBox'

    def __init__(self):
        logging.debug('STARTUP: Loading the group view')

        gobject.GObject.__init__(self)

        self._box = hippo.CanvasBox()
        self._box.props.background_color = style.COLOR_WHITE.get_int()
        self.set_root(self._box)

        self._friends = {}

        self._layout = SpreadLayout()
        self._box.set_layout(self._layout)

        client = gconf.client_get_default()
        color = XoColor(client.get_string('/desktop/sugar/user/color'))

        self._owner_icon = CanvasIcon(icon_name='computer-xo', cache=True,
                                      xo_color=color)
        self._owner_icon.props.size = style.LARGE_ICON_SIZE

        self._owner_icon.set_palette(BuddyMenu(get_owner_instance()))
        self._layout.add(self._owner_icon)

        friends_model = friends.get_model()

        for friend in friends_model:
            self.add_friend(friend)

        friends_model.connect('friend-added', self._friend_added_cb)
        friends_model.connect('friend-removed', self._friend_removed_cb)

    def add_friend(self, buddy_info):
        icon = FriendView(buddy_info)
        self._layout.add(icon)

        self._friends[buddy_info.get_key()] = icon

    def _friend_added_cb(self, data_model, buddy_info):
        self.add_friend(buddy_info)

    def _friend_removed_cb(self, data_model, key):
        icon = self._friends[key]
        self._layout.remove(icon)
        del self._friends[key]
        icon.destroy()

    def do_size_allocate(self, allocation):
        width = allocation.width
        height = allocation.height

        min_w_, icon_width = self._owner_icon.get_width_request()
        min_h_, icon_height = self._owner_icon.get_height_request(icon_width)
        x = (width - icon_width) / 2
        y = (height - icon_height) / 2
        self._layout.move(self._owner_icon, x, y)

        hippo.Canvas.do_size_allocate(self, allocation)
コード例 #26
0
ファイル: mailicon.py プロジェクト: FOSSRIT/sweetermail
 def do_set_property(self, pspec, value):
     if pspec.name == 'mail':
         self._set_mail(value)
     else:
         CanvasIcon.do_set_property(self, pspec, value)