Ticket #4314: palette_port.patch

File palette_port.patch, 10.5 KB (added by erikos, 10 years ago)

first patch to port the Palette to our custom ones

  • src/jarabe/frame/activitiestray.py

    diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py
    index ddf395f..85e7fe4 100644
    a b from sugar3.graphics.radiotoolbutton import RadioToolButton 
    3434from sugar3.graphics.toolbutton import ToolButton
    3535from sugar3.graphics.icon import Icon, get_icon_file_name
    3636from sugar3.graphics.palette import Palette
     37from sugar3.graphics.palettemenu import PaletteMenuBox
     38from sugar3.graphics.palettemenu import PaletteMenuItem
     39from sugar3.graphics.palettemenu import PaletteMenuItemSeparator
    3740from sugar3.graphics.menuitem import MenuItem
    3841from sugar3.datastore import datastore
    3942from sugar3 import mime
    class BaseTransferButton(ToolButton): 
    348351        self.notif_icon.connect('button-release-event',
    349352                                 self.__button_release_event_cb)
    350353
    351         self.connect('clicked', self.__button_clicked_cb)
     354        self.props.hide_tooltip_on_click = False
    352355
    353356    def __button_release_event_cb(self, icon, event):
    354357        if self.notif_icon is not None:
    class BaseTransferButton(ToolButton): 
    356359            frame.remove_notification(self.notif_icon)
    357360            self.notif_icon = None
    358361
    359     def __button_clicked_cb(self, button):
    360         self.palette.popup(immediate=True, state=Palette.SECONDARY)
    361 
    362362    def remove(self):
    363363        frame = jarabe.frame.get_view()
    364364        frame.remove_notification(self.notif_icon)
    class IncomingTransferButton(BaseTransferButton): 
    407407        palette = IncomingTransferPalette(self.file_transfer)
    408408        palette.connect('dismiss-clicked', self.__dismiss_clicked_cb)
    409409        palette.props.invoker = FrameWidgetInvoker(self)
     410        palette.props.invoker.props.toggle_palette = True
    410411        palette.set_group_id('frame')
    411412        return palette
    412413
    class OutgoingTransferButton(BaseTransferButton): 
    483484        palette = OutgoingTransferPalette(self.file_transfer)
    484485        palette.connect('dismiss-clicked', self.__dismiss_clicked_cb)
    485486        palette.props.invoker = FrameWidgetInvoker(self)
     487        palette.props.invoker.props.toggle_palette = True
    486488        palette.set_group_id('frame')
    487489        return palette
    488490
    class IncomingTransferPalette(BaseTransferPalette): 
    575577    def _update(self):
    576578        logging.debug('_update state: %r', self.file_transfer.props.state)
    577579        if self.file_transfer.props.state == filetransfer.FT_STATE_PENDING:
    578             menu_item = MenuItem(_('Accept'), icon_name='dialog-ok')
     580            box = PaletteMenuBox()
     581            self.set_content(box)
     582            box.show()
     583
     584            menu_item = PaletteMenuItem(_('Accept'), icon_name='dialog-ok')
    579585            menu_item.connect('activate', self.__accept_activate_cb)
    580             self.menu.append(menu_item)
     586            box.append_item(menu_item)
    581587            menu_item.show()
    582588
    583             menu_item = MenuItem(_('Decline'), icon_name='dialog-cancel')
     589            menu_item = PaletteMenuItem(_('Decline'), icon_name='dialog-cancel')
    584590            menu_item.connect('activate', self.__decline_activate_cb)
    585             self.menu.append(menu_item)
     591            box.append_item(menu_item)
    586592            menu_item.show()
    587593
    588             vbox = Gtk.VBox()
    589             self.set_content(vbox)
    590             vbox.show()
     594            separator = PaletteMenuItemSeparator()
     595            box.append_item(separator)
     596            separator.show()
    591597
    592598            if self.file_transfer.description:
    593599                label = Gtk.Label(label=self.file_transfer.description)
    594                 vbox.add(label)
     600                box.append_item(label, vertical_padding=0)
    595601                label.show()
    596602
    597603            mime_type = self.file_transfer.mime_type
    class IncomingTransferPalette(BaseTransferPalette): 
    599605
    600606            size = self._format_size(self.file_transfer.file_size)
    601607            label = Gtk.Label(label='%s (%s)' % (size, type_description))
    602             vbox.add(label)
     608            box.append_item(label, vertical_padding=0)
    603609            label.show()
    604610
    605611        elif self.file_transfer.props.state in \
    606612                [filetransfer.FT_STATE_ACCEPTED, filetransfer.FT_STATE_OPEN]:
     613            box = PaletteMenuBox()
     614            self.set_content(box)
     615            box.show()
    607616
    608             for item in self.menu.get_children():
    609                 self.menu.remove(item)
    610 
    611             menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
     617            menu_item = PaletteMenuItem(_('Cancel'), icon_name='dialog-cancel')
    612618            menu_item.connect('activate', self.__cancel_activate_cb)
    613             self.menu.append(menu_item)
     619            box.append_item(menu_item)
    614620            menu_item.show()
    615621
    616             vbox = Gtk.VBox()
    617             self.set_content(vbox)
    618             vbox.show()
     622            separator = PaletteMenuItemSeparator()
     623            box.append_item(separator)
     624            separator.show()
    619625
    620626            self.progress_bar = Gtk.ProgressBar()
    621             vbox.add(self.progress_bar)
     627            box.append_item(self.progress_bar)
    622628            self.progress_bar.show()
    623629
    624630            self.progress_label = Gtk.Label(label='')
    625             vbox.add(self.progress_label)
     631            box.append_item(self.progress_label)
    626632            self.progress_label.show()
    627633
    628634            self.update_progress()
    629635
    630636        elif self.file_transfer.props.state == filetransfer.FT_STATE_COMPLETED:
     637            box = PaletteMenuBox()
     638            self.set_content(box)
     639            box.show()
    631640
    632             for item in self.menu.get_children():
    633                 self.menu.remove(item)
    634 
    635             menu_item = MenuItem(_('Dismiss'), icon_name='dialog-cancel')
     641            menu_item = PaletteMenuItem(_('Dismiss'), icon_name='dialog-cancel')
    636642            menu_item.connect('activate', self.__dismiss_activate_cb)
    637             self.menu.append(menu_item)
     643            box.append_item(menu_item)
    638644            menu_item.show()
    639645
    640646            self.update_progress()
    641         elif self.file_transfer.props.state == filetransfer.FT_STATE_CANCELLED:
    642647
    643             for item in self.menu.get_children():
    644                 self.menu.remove(item)
     648        elif self.file_transfer.props.state == filetransfer.FT_STATE_CANCELLED:
     649            box = PaletteMenuBox()
     650            self.set_content(box)
     651            box.show()
    645652
    646653            if self.file_transfer.reason_last_change == \
    647654                    filetransfer.FT_REASON_REMOTE_STOPPED:
    648                 menu_item = MenuItem(_('Dismiss'), icon_name='dialog-cancel')
     655                menu_item = PaletteMenuItem(_('Dismiss'), icon_name='dialog-cancel')
    649656                menu_item.connect('activate', self.__dismiss_activate_cb)
    650                 self.menu.append(menu_item)
     657                box.append_item(menu_item)
    651658                menu_item.show()
     659
     660                separator = PaletteMenuItemSeparator()
     661                box.append_item(separator)
     662                separator.show()
     663
    652664                text = _('The other participant canceled the file transfer')
    653665                label = Gtk.Label(label=text)
    654                 self.set_content(label)
     666                box.append_item(label)
    655667                label.show()
    656668
    657669    def __accept_activate_cb(self, menu_item):
    class OutgoingTransferPalette(BaseTransferPalette): 
    709721        new_state = self.file_transfer.props.state
    710722        logging.debug('_update state: %r', new_state)
    711723        if new_state == filetransfer.FT_STATE_PENDING:
     724            box = PaletteMenuBox()
     725            self.set_content(box)
     726            box.show()
    712727
    713             menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
     728            menu_item = PaletteMenuItem(_('Cancel'), icon_name='dialog-cancel')
    714729            menu_item.connect('activate', self.__cancel_activate_cb)
    715             self.menu.append(menu_item)
     730            box.append_item(menu_item)
    716731            menu_item.show()
    717732
    718             vbox = Gtk.VBox()
    719             self.set_content(vbox)
    720             vbox.show()
     733            separator = PaletteMenuItemSeparator()
     734            box.append_item(separator)
     735            separator.show()
    721736
    722737            if self.file_transfer.description:
    723738                label = Gtk.Label(label=self.file_transfer.description)
    724                 vbox.add(label)
     739                box.append_item(label)
    725740                label.show()
    726741
    727742            mime_type = self.file_transfer.mime_type
    class OutgoingTransferPalette(BaseTransferPalette): 
    729744
    730745            size = self._format_size(self.file_transfer.file_size)
    731746            label = Gtk.Label(label='%s (%s)' % (size, type_description))
    732             vbox.add(label)
     747            box.append_item(label)
    733748            label.show()
    734749
    735750        elif new_state in [filetransfer.FT_STATE_ACCEPTED,
    736751                           filetransfer.FT_STATE_OPEN]:
     752            box = PaletteMenuBox()
     753            self.set_content(box)
     754            box.show()
    737755
    738             for item in self.menu.get_children():
    739                 self.menu.remove(item)
    740 
    741             menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
     756            menu_item = PaletteMenuItem(_('Cancel'), icon_name='dialog-cancel')
    742757            menu_item.connect('activate', self.__cancel_activate_cb)
    743             self.menu.append(menu_item)
     758            box.append_item(menu_item)
    744759            menu_item.show()
    745760
    746             vbox = Gtk.VBox()
    747             self.set_content(vbox)
    748             vbox.show()
     761            separator = PaletteMenuItemSeparator()
     762            box.append_item(separator)
     763            separator.show()
    749764
    750765            self.progress_bar = Gtk.ProgressBar()
    751             vbox.add(self.progress_bar)
     766            box.append_item(self.progress_bar)
    752767            self.progress_bar.show()
    753768
    754769            self.progress_label = Gtk.Label(label='')
    755             vbox.add(self.progress_label)
     770            box.append_item(self.progress_label)
    756771            self.progress_label.show()
    757772
    758773            self.update_progress()
    759774
    760775        elif new_state in [filetransfer.FT_STATE_COMPLETED,
    761776                           filetransfer.FT_STATE_CANCELLED]:
     777            box = PaletteMenuBox()
     778            self.set_content(box)
     779            box.show()
    762780
    763             for item in self.menu.get_children():
    764                 self.menu.remove(item)
    765 
    766             menu_item = MenuItem(_('Dismiss'), icon_name='dialog-cancel')
     781            menu_item = PaletteMenuItem(_('Dismiss'), icon_name='dialog-cancel')
    767782            menu_item.connect('activate', self.__dismiss_activate_cb)
    768             self.menu.append(menu_item)
     783            box.append_item(menu_item)
    769784            menu_item.show()
    770785
    771786            self.update_progress()