diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-13 16:05:36 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-13 16:05:36 (GMT) |
commit | 51f0350d078a4d3eac0abffc7160c74f35da55c7 (patch) | |
tree | 619f75ac40a79d84724b2805970ee881863c8f8d /extensions/deviceicon | |
parent | 2f60fb1b64741fd0c8f6507315f2e1df2a935f0a (diff) |
Add a palette to the volume device icon
Diffstat (limited to 'extensions/deviceicon')
-rw-r--r-- | extensions/deviceicon/volume.py | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/extensions/deviceicon/volume.py b/extensions/deviceicon/volume.py index a7afe99..d70c937 100644 --- a/extensions/deviceicon/volume.py +++ b/extensions/deviceicon/volume.py @@ -14,17 +14,41 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +from gettext import gettext as _ + +import gtk + from sugar.graphics.tray import TrayIcon +from sugar.graphics.palette import Palette from jarabe.model import volume _icons = {} class DeviceView(TrayIcon): + FRAME_POSITION_RELATIVE = 800 - def __init__(self, volume): - TrayIcon.__init__(self, icon_name=volume.icon_name, - xo_color=volume.icon_color) + + def __init__(self, model): + TrayIcon.__init__(self, icon_name=model.icon_name, + xo_color=model.icon_color) + self._model = model + + def create_palette(self): + return VolumePalette(self._model) + +class VolumePalette(Palette): + def __init__(self, model): + Palette.__init__(self, label=model.name) + self._model = model + + menu_item = gtk.MenuItem(_('Unmount')) + menu_item.connect('activate', self._unmount_activated_cb) + self.menu.append(menu_item) + menu_item.show() + + def _unmount_activated_cb(self, menu_item): + self._model.unmount() def setup(tray): volumes_manager = volume.get_volumes_manager() |