Ticket #4144: 0001-Embed-menu-items-in-PaletteMenuItemCustom-containers.patch

File 0001-Embed-menu-items-in-PaletteMenuItemCustom-containers.patch, 8.3 KB (added by manuq, 12 years ago)

Shell patch to fix the palettes with custom items.

  • extensions/deviceicon/battery.py

    From 845b717ace8ee088047114b65dd0c24abed76a93 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= <manuq@laptop.org>
    Date: Mon, 5 Nov 2012 14:04:59 -0300
    Subject: [PATCH shell] Embed menu items in PaletteMenuItemCustom containers -
     SL #4144
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    Mail-Followup-To: <sugar-devel@lists.sugarlabs.org>
    
    This is so they get the proper alignment.
    
    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
    ---
     extensions/deviceicon/battery.py | 25 +++++++++++++++++--------
     extensions/deviceicon/network.py |  2 ++
     extensions/deviceicon/speaker.py | 17 ++++++++++++-----
     extensions/deviceicon/speech.py  | 31 +++++++++++++++++++++----------
     src/jarabe/view/palettes.py      | 13 +++++++++++--
     5 files changed, 63 insertions(+), 25 deletions(-)
    
    diff --git a/extensions/deviceicon/battery.py b/extensions/deviceicon/battery.py
    index 7fcca8d..0e3c0db 100644
    a b from sugar3.graphics import style 
    2727from sugar3.graphics.icon import get_icon_state
    2828from sugar3.graphics.tray import TrayIcon
    2929from sugar3.graphics.palette import Palette
     30from sugar3.graphics.palettemenuitem import PaletteMenuItemCustom
    3031from sugar3.graphics.xocolor import XoColor
    3132
    3233from jarabe.frame.frameinvoker import FrameWidgetInvoker
    class BatteryPalette(Palette): 
    116117        self._level = 0
    117118        self._time = 0
    118119        self._status = _STATUS_NOT_PRESENT
     120
     121        self._progress_widget = Gtk.VBox()
     122        self.set_content(self._progress_widget)
     123        self._progress_widget.show()
     124
     125        sample_item = PaletteMenuItemCustom()
     126        self._progress_widget.pack_start(sample_item, True, True, 0)
     127        sample_item.show()
     128
     129        inner_box = Gtk.VBox()
     130        sample_item.add(inner_box)
     131        inner_box.show()
     132
    119133        self._progress_bar = Gtk.ProgressBar()
    120134        self._progress_bar.set_size_request(
    121135            style.zoom(style.GRID_CELL_SIZE * 4), -1)
     136        inner_box.pack_start(self._progress_bar, True, True, 0)
    122137        self._progress_bar.show()
     138
    123139        self._status_label = Gtk.Label()
     140        inner_box.pack_start(self._status_label, True, True, 0)
    124141        self._status_label.show()
    125142
    126         vbox = Gtk.VBox()
    127         vbox.pack_start(self._progress_bar, True, True, 0)
    128         vbox.pack_start(self._status_label, True, True, 0)
    129         vbox.show()
    130 
    131         self._progress_widget = vbox
    132         self.set_content(self._progress_widget)
    133 
    134143    def set_info(self, percentage, seconds, status):
    135144        self._level = percentage
    136145        self._time = seconds
  • extensions/deviceicon/network.py

    diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py
    index 3351281..b5e1b79 100644
    a b class WirelessPalette(Palette): 
    7474        self._channel_label.show()
    7575
    7676        self._ip_address_label = Gtk.Label()
     77        self._ip_address_label.props.xalign = 0.0
     78        self._ip_address_label.show()
    7779
    7880        self._info = Gtk.VBox()
    7981
  • extensions/deviceicon/speaker.py

    diff --git a/extensions/deviceicon/speaker.py b/extensions/deviceicon/speaker.py
    index 8260d49..7eff8b8 100644
    a b from sugar3.graphics.tray import TrayIcon 
    2727from sugar3.graphics.palette import Palette
    2828from sugar3.graphics.palettemenuitem import PaletteMenuItem
    2929from sugar3.graphics.palettemenuitem import PaletteMenuItemSeparator
     30from sugar3.graphics.palettemenuitem import PaletteMenuItemCustom
    3031from sugar3.graphics.xocolor import XoColor
    3132
    3233from jarabe.frame.frameinvoker import FrameWidgetInvoker
    class SpeakerPalette(Palette): 
    112113                                          step_incr=vol_step,
    113114                                          page_incr=vol_step,
    114115                                          page_size=vol_step)
    115         self._hscale = Gtk.HScale()
    116         self._hscale.set_adjustment(self._adjustment)
    117         self._hscale.set_digits(0)
    118         vbox.add(self._hscale)
    119         self._hscale.show()
     116
     117        scale_item = PaletteMenuItemCustom()
     118        vbox.add(scale_item)
     119        scale_item.show()
     120
     121        hscale = Gtk.HScale()
     122        hscale.props.draw_value = False
     123        hscale.set_adjustment(self._adjustment)
     124        hscale.set_digits(0)
     125        scale_item.add(hscale)
     126        hscale.show()
    120127
    121128        self._adjustment_handler_id = \
    122129            self._adjustment.connect('value_changed',
  • extensions/deviceicon/speech.py

    diff --git a/extensions/deviceicon/speech.py b/extensions/deviceicon/speech.py
    index 1f7bf02..8b5a40f 100644
    a b from sugar3.graphics.tray import TrayIcon 
    2626from sugar3.graphics.palette import Palette
    2727from sugar3.graphics.palettemenuitem import PaletteMenuItem
    2828from sugar3.graphics.palettemenuitem import PaletteMenuItemSeparator
     29from sugar3.graphics.palettemenuitem import PaletteMenuItemCustom
    2930from sugar3.graphics.xocolor import XoColor
    3031from sugar3.graphics import style
    3132
    class SpeechPalette(Palette): 
    9899        self._adj_pitch = Gtk.Adjustment(value=self._manager.get_pitch(),
    99100                                         lower=self._manager.MIN_PITCH,
    100101                                         upper=self._manager.MAX_PITCH)
    101         self._hscale_pitch = Gtk.HScale()
    102         self._hscale_pitch.set_adjustment(self._adj_pitch)
    103         self._hscale_pitch.set_draw_value(False)
    104102
    105         vbox.pack_start(self._hscale_pitch, True, True, 0)
    106         self._hscale_pitch.show()
     103        hscale_pitch_item = PaletteMenuItemCustom()
     104        vbox.pack_start(hscale_pitch_item, True, True, 0)
     105        hscale_pitch_item.show()
     106
     107        hscale_pitch = Gtk.HScale()
     108        hscale_pitch.set_adjustment(self._adj_pitch)
     109        hscale_pitch.set_draw_value(False)
     110
     111        hscale_pitch_item.add(hscale_pitch)
     112        hscale_pitch.show()
    107113
    108114        rate_label = Gtk.Label(_('Rate'))
    109115        vbox.pack_start(rate_label, True, True,
    class SpeechPalette(Palette): 
    113119        self._adj_rate = Gtk.Adjustment(value=self._manager.get_rate(),
    114120                                        lower=self._manager.MIN_RATE,
    115121                                        upper=self._manager.MAX_RATE)
    116         self._hscale_rate = Gtk.HScale()
    117         self._hscale_rate.set_adjustment(self._adj_rate)
    118         self._hscale_rate.set_draw_value(False)
    119122
    120         vbox.pack_start(self._hscale_rate, True, True, 0)
    121         self._hscale_rate.show()
     123        hscale_rate_item = PaletteMenuItemCustom()
     124        vbox.pack_start(hscale_rate_item, True, True, 0)
     125        hscale_rate_item.show()
     126
     127        hscale_rate = Gtk.HScale()
     128        hscale_rate.set_adjustment(self._adj_rate)
     129        hscale_rate.set_draw_value(False)
     130
     131        hscale_rate_item.add(hscale_rate)
     132        hscale_rate.show()
    122133
    123134        self._adj_pitch.connect('value_changed', self.__adj_pitch_changed_cb)
    124135        self._adj_rate.connect('value_changed', self.__adj_rate_changed_cb)
  • src/jarabe/view/palettes.py

    diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py
    index 5448bde..4ddfa7a 100644
    a b from sugar3 import env 
    2727from sugar3.graphics.palette import Palette
    2828from sugar3.graphics.palettemenuitem import PaletteMenuItem
    2929from sugar3.graphics.palettemenuitem import PaletteMenuItemSeparator
     30from sugar3.graphics.palettemenuitem import PaletteMenuItemCustom
    3031from sugar3.graphics.menuitem import MenuItem
    3132from sugar3.graphics.icon import Icon
    3233from sugar3.graphics import style
    class JournalPalette(BasePalette): 
    188189        vbox.pack_start(separator, True, True, 0)
    189190        separator.show()
    190191
     192        size_item = PaletteMenuItemCustom()
     193        vbox.add(size_item)
     194        size_item.show()
     195
     196        inner_box = Gtk.VBox()
     197        size_item.add(inner_box)
     198        inner_box.show()
     199
    191200        self._progress_bar = Gtk.ProgressBar()
    192         vbox.add(self._progress_bar)
     201        inner_box.add(self._progress_bar)
    193202        self._progress_bar.show()
    194203
    195204        self._free_space_label = Gtk.Label()
    196205        self._free_space_label.set_alignment(0.5, 0.5)
    197         vbox.add(self._free_space_label)
     206        inner_box.add(self._free_space_label)
    198207        self._free_space_label.show()
    199208
    200209        self.connect('popup', self.__popup_cb)