Ticket #4315: 0001-Filetransfer-fix-the-incoming-outgoing-transfer-Pale.patch

File 0001-Filetransfer-fix-the-incoming-outgoing-transfer-Pale.patch, 10.8 KB (added by erikos, 10 years ago)

Filetransfer: fix the incoming/outgoing transfer Palettes

  • src/jarabe/frame/activitiestray.py

    From c6e19b4df9e8c1a4216aa09b9c579b43da9684d2 Mon Sep 17 00:00:00 2001
    From: Simon Schampijer <simon@laptop.org>
    Date: Thu, 21 Feb 2013 16:24:49 +0100
    Subject: [PATCH] Filetransfer: fix the incoming/outgoing transfer Palettes
     #4315
    
    The Palettes did mix widgets and Menus, that is why we have to
    use our custom Palettes to finish the port.
    
    Signed-off-by: Simon Schampijer <simon@laptop.org>
    ---
     src/jarabe/frame/activitiestray.py | 158 +++++++++++++++++++++++--------------
     1 file changed, 100 insertions(+), 58 deletions(-)
    
    diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py
    index ddf395f..b5b789c 100644
    a b from sugar3.graphics.toolbutton import ToolButton 
    3535from sugar3.graphics.icon import Icon, get_icon_file_name
    3636from sugar3.graphics.palette import Palette
    3737from sugar3.graphics.menuitem import MenuItem
     38from sugar3.graphics.palettemenu import PaletteMenuBox
     39from sugar3.graphics.palettemenu import PaletteMenuItem
     40from sugar3.graphics.palettemenu import PaletteMenuItemSeparator
    3841from sugar3.datastore import datastore
    3942from sugar3 import mime
    4043from sugar3 import env
    class IncomingTransferPalette(BaseTransferPalette): 
    573576        self._update()
    574577
    575578    def _update(self):
     579        box = PaletteMenuBox()
     580        self.set_content(box)
     581        box.show()
     582
    576583        logging.debug('_update state: %r', self.file_transfer.props.state)
    577584        if self.file_transfer.props.state == filetransfer.FT_STATE_PENDING:
    578             menu_item = MenuItem(_('Accept'), icon_name='dialog-ok')
     585            menu_item = PaletteMenuItem(_('Accept'))
     586            icon = Icon(icon_name='dialog-ok', icon_size=Gtk.IconSize.MENU)
     587            menu_item.set_image(icon)
     588            icon.show()
    579589            menu_item.connect('activate', self.__accept_activate_cb)
    580             self.menu.append(menu_item)
     590            box.append_item(menu_item)
    581591            menu_item.show()
    582592
    583             menu_item = MenuItem(_('Decline'), icon_name='dialog-cancel')
     593            menu_item = PaletteMenuItem(_('Decline'))
     594            icon = Icon(icon_name='dialog-cancel', icon_size=Gtk.IconSize.MENU)
     595            menu_item.set_image(icon)
     596            icon.show()
    584597            menu_item.connect('activate', self.__decline_activate_cb)
    585             self.menu.append(menu_item)
     598            box.append_item(menu_item)
    586599            menu_item.show()
    587600
    588             vbox = Gtk.VBox()
    589             self.set_content(vbox)
    590             vbox.show()
     601            separator = PaletteMenuItemSeparator()
     602            box.append_item(separator)
     603            separator.show()
     604
     605            inner_box = Gtk.VBox()
     606            inner_box.set_spacing(style.DEFAULT_PADDING)
     607            box.append_item(inner_box, vertical_padding=0)
     608            inner_box.show()
    591609
    592610            if self.file_transfer.description:
    593611                label = Gtk.Label(label=self.file_transfer.description)
    594                 vbox.add(label)
     612                inner_box.add(label)
    595613                label.show()
    596614
    597615            mime_type = self.file_transfer.mime_type
    class IncomingTransferPalette(BaseTransferPalette): 
    599617
    600618            size = self._format_size(self.file_transfer.file_size)
    601619            label = Gtk.Label(label='%s (%s)' % (size, type_description))
    602             vbox.add(label)
     620            inner_box.add(label)
    603621            label.show()
    604622
    605623        elif self.file_transfer.props.state in \
    606624                [filetransfer.FT_STATE_ACCEPTED, filetransfer.FT_STATE_OPEN]:
    607 
    608             for item in self.menu.get_children():
    609                 self.menu.remove(item)
    610 
    611             menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
     625            menu_item = PaletteMenuItem(_('Cancel'))
     626            icon = Icon(icon_name='dialog-cancel', icon_size=Gtk.IconSize.MENU)
     627            menu_item.set_image(icon)
     628            icon.show()
    612629            menu_item.connect('activate', self.__cancel_activate_cb)
    613             self.menu.append(menu_item)
     630            box.append_item(menu_item)
    614631            menu_item.show()
    615632
    616             vbox = Gtk.VBox()
    617             self.set_content(vbox)
    618             vbox.show()
     633            separator = PaletteMenuItemSeparator()
     634            box.append_item(separator)
     635            separator.show()
     636
     637            inner_box = Gtk.VBox()
     638            inner_box.set_spacing(style.DEFAULT_PADDING)
     639            box.append_item(inner_box, vertical_padding=0)
     640            inner_box.show()
    619641
    620642            self.progress_bar = Gtk.ProgressBar()
    621             vbox.add(self.progress_bar)
     643            inner_box.add(self.progress_bar)
    622644            self.progress_bar.show()
    623645
    624646            self.progress_label = Gtk.Label(label='')
    625             vbox.add(self.progress_label)
     647            inner_box.add(self.progress_label)
    626648            self.progress_label.show()
    627649
    628650            self.update_progress()
    629651
    630652        elif self.file_transfer.props.state == filetransfer.FT_STATE_COMPLETED:
    631 
    632             for item in self.menu.get_children():
    633                 self.menu.remove(item)
    634 
    635             menu_item = MenuItem(_('Dismiss'), icon_name='dialog-cancel')
     653            menu_item = PaletteMenuItem(_('Dismiss'))
     654            icon = Icon(icon_name='dialog-cancel', icon_size=Gtk.IconSize.MENU)
     655            menu_item.set_image(icon)
     656            icon.show()
    636657            menu_item.connect('activate', self.__dismiss_activate_cb)
    637             self.menu.append(menu_item)
     658            box.append_item(menu_item)
    638659            menu_item.show()
    639660
    640661            self.update_progress()
    641         elif self.file_transfer.props.state == filetransfer.FT_STATE_CANCELLED:
    642 
    643             for item in self.menu.get_children():
    644                 self.menu.remove(item)
    645662
     663        elif self.file_transfer.props.state == filetransfer.FT_STATE_CANCELLED:
    646664            if self.file_transfer.reason_last_change == \
    647665                    filetransfer.FT_REASON_REMOTE_STOPPED:
    648                 menu_item = MenuItem(_('Dismiss'), icon_name='dialog-cancel')
     666                menu_item = PaletteMenuItem(_('Dismiss'))
     667                icon = Icon(icon_name='dialog-cancel',
     668                            icon_size=Gtk.IconSize.MENU)
     669                menu_item.set_image(icon)
     670                icon.show()
    649671                menu_item.connect('activate', self.__dismiss_activate_cb)
    650                 self.menu.append(menu_item)
     672                box.append_item(menu_item)
    651673                menu_item.show()
     674
     675                inner_box = Gtk.VBox()
     676                inner_box.set_spacing(style.DEFAULT_PADDING)
     677                box.append_item(inner_box, vertical_padding=0)
     678                inner_box.show()
     679
    652680                text = _('The other participant canceled the file transfer')
    653681                label = Gtk.Label(label=text)
    654                 self.set_content(label)
     682                inner_box.add(label)
    655683                label.show()
    656684
    657685    def __accept_activate_cb(self, menu_item):
    class OutgoingTransferPalette(BaseTransferPalette): 
    708736    def _update(self):
    709737        new_state = self.file_transfer.props.state
    710738        logging.debug('_update state: %r', new_state)
    711         if new_state == filetransfer.FT_STATE_PENDING:
    712739
    713             menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
     740        box = PaletteMenuBox()
     741        self.set_content(box)
     742        box.show()
     743        if new_state == filetransfer.FT_STATE_PENDING:
     744            menu_item = PaletteMenuItem(_('Cancel'))
     745            icon = Icon(icon_name='dialog-cancel', icon_size=Gtk.IconSize.MENU)
     746            menu_item.set_image(icon)
     747            icon.show()
    714748            menu_item.connect('activate', self.__cancel_activate_cb)
    715             self.menu.append(menu_item)
     749            box.append_item(menu_item)
    716750            menu_item.show()
    717751
    718             vbox = Gtk.VBox()
    719             self.set_content(vbox)
    720             vbox.show()
     752            separator = PaletteMenuItemSeparator()
     753            box.append_item(separator)
     754            separator.show()
     755
     756            inner_box = Gtk.VBox()
     757            inner_box.set_spacing(style.DEFAULT_PADDING)
     758            box.append_item(inner_box, vertical_padding=0)
     759            inner_box.show()
    721760
    722761            if self.file_transfer.description:
    723762                label = Gtk.Label(label=self.file_transfer.description)
    724                 vbox.add(label)
     763                inner_box.add(label)
    725764                label.show()
    726765
    727766            mime_type = self.file_transfer.mime_type
    class OutgoingTransferPalette(BaseTransferPalette): 
    729768
    730769            size = self._format_size(self.file_transfer.file_size)
    731770            label = Gtk.Label(label='%s (%s)' % (size, type_description))
    732             vbox.add(label)
     771            inner_box.add(label)
    733772            label.show()
    734773
    735774        elif new_state in [filetransfer.FT_STATE_ACCEPTED,
    736775                           filetransfer.FT_STATE_OPEN]:
    737 
    738             for item in self.menu.get_children():
    739                 self.menu.remove(item)
    740 
    741             menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
     776            menu_item = PaletteMenuItem(_('Cancel'))
     777            icon = Icon(icon_name='dialog-cancel', icon_size=Gtk.IconSize.MENU)
     778            menu_item.set_image(icon)
     779            icon.show()
    742780            menu_item.connect('activate', self.__cancel_activate_cb)
    743             self.menu.append(menu_item)
     781            box.append_item(menu_item)
    744782            menu_item.show()
    745783
    746             vbox = Gtk.VBox()
    747             self.set_content(vbox)
    748             vbox.show()
     784            separator = PaletteMenuItemSeparator()
     785            box.append_item(separator)
     786            separator.show()
     787
     788            inner_box = Gtk.VBox()
     789            inner_box.set_spacing(style.DEFAULT_PADDING)
     790            box.append_item(inner_box, vertical_padding=0)
     791            inner_box.show()
    749792
    750793            self.progress_bar = Gtk.ProgressBar()
    751             vbox.add(self.progress_bar)
     794            inner_box.add(self.progress_bar)
    752795            self.progress_bar.show()
    753796
    754797            self.progress_label = Gtk.Label(label='')
    755             vbox.add(self.progress_label)
     798            inner_box.add(self.progress_label)
    756799            self.progress_label.show()
    757800
    758801            self.update_progress()
    759802
    760803        elif new_state in [filetransfer.FT_STATE_COMPLETED,
    761804                           filetransfer.FT_STATE_CANCELLED]:
    762 
    763             for item in self.menu.get_children():
    764                 self.menu.remove(item)
    765 
    766             menu_item = MenuItem(_('Dismiss'), icon_name='dialog-cancel')
     805            menu_item = PaletteMenuItem(_('Dismiss'))
     806            icon = Icon(icon_name='dialog-cancel', icon_size=Gtk.IconSize.MENU)
     807            menu_item.set_image(icon)
     808            icon.show()
    767809            menu_item.connect('activate', self.__dismiss_activate_cb)
    768             self.menu.append(menu_item)
     810            box.append_item(menu_item)
    769811            menu_item.show()
    770812
    771813            self.update_progress()