From 752b164b0f55e00ecef5f405557110e8d9b3951f Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Wed, 21 Jan 2009 09:50:57 +0000 Subject: #33 Display space used and left in the volume palette in the journal --- (limited to 'extensions/deviceicon/volume.py') diff --git a/extensions/deviceicon/volume.py b/extensions/deviceicon/volume.py index ede60e7..ca92647 100644 --- a/extensions/deviceicon/volume.py +++ b/extensions/deviceicon/volume.py @@ -25,13 +25,13 @@ import gtk import gconf from sugar.graphics.tray import TrayIcon -from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor from sugar.graphics import style from jarabe.journal import journalactivity +from jarabe.view.palettes import VolumePalette from jarabe.frame.frameinvoker import FrameWidgetInvoker _icons = {} @@ -75,55 +75,6 @@ class DeviceView(TrayIcon): journal.present() return True -class VolumePalette(Palette): - def __init__(self, mount): - Palette.__init__(self, label=mount.get_name()) - self._mount = mount - - self.props.secondary_text = mount.get_root().get_path() - - vbox = gtk.VBox() - self.set_content(vbox) - vbox.show() - - self._progress_bar = gtk.ProgressBar() - vbox.add(self._progress_bar) - self._progress_bar.show() - - self._free_space_label = gtk.Label() - self._free_space_label.set_alignment(0.5, 0.5) - vbox.add(self._free_space_label) - self._free_space_label.show() - - self.connect('popup', self.__popup_cb) - - menu_item = MenuItem(_('Unmount')) - - icon = Icon(icon_name='media-eject', icon_size=gtk.ICON_SIZE_MENU) - menu_item.set_image(icon) - icon.show() - - menu_item.connect('activate', self.__unmount_activate_cb) - self.menu.append(menu_item) - menu_item.show() - - def __unmount_activate_cb(self, menu_item): - self._mount.unmount(self.__unmount_cb) - - def __unmount_cb(self, source, result): - logging.debug('__unmount_cb %r %r' % (source, result)) - - def __popup_cb(self, palette): - mount_point = self._mount.get_root().get_path() - stat = os.statvfs(mount_point) - free_space = stat[statvfs.F_BSIZE] * stat[statvfs.F_BAVAIL] - total_space = stat[statvfs.F_BSIZE] * stat[statvfs.F_BLOCKS] - - fraction = (total_space - free_space) / float(total_space) - self._progress_bar.props.fraction = fraction - self._free_space_label.props.label = _('%(free_space)d MB Free') % \ - {'free_space': free_space / (1024 * 1024)} - def setup(tray): gobject.idle_add(_setup_volumes, tray) -- cgit v0.9.1