Advertisement
Guest User

Untitled

a guest
Sep 24th, 2010
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. class JournalButton(BaseButton):
  2. def __init__(self):
  3. BaseButton.__init__(self, mount_point='/')
  4. self.props.named_icon = 'activity-journal'
  5.  
  6. client = gconf.client_get_default()
  7. color = XoColor(client.get_string('/desktop/sugar/user/color'))
  8. self.props.xo_color = color
  9.  
  10. self._progress_bar = gtk.ProgressBar()
  11. vbox.add(self._progress_bar)
  12. self._progress_bar.show()
  13.  
  14. self._free_space_label = gtk.Label()
  15. self._free_space_label.set_alignment(0.5, 0.5)
  16. vbox.add(self._free_space_label)
  17. self._free_space_label.show()
  18.  
  19. self.connect('popup', self.__popup_cb)
  20.  
  21. def __popup_cb(self, palette):
  22. mount_point = self._mount.get_root().get_path()
  23. stat = os.statvfs(mount_point)
  24. free_space = stat[statvfs.F_BSIZE] * stat[statvfs.F_BAVAIL]
  25. total_space = stat[statvfs.F_BSIZE] * stat[statvfs.F_BLOCKS]
  26.  
  27. fraction = (total_space - free_space) / float(total_space)
  28. self._progress_bar.props.fraction = fraction
  29. self._free_space_label.props.label = _('%(free_space)d MB Free') % \
  30. {'free_space': free_space / (1024 * 1024)}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement