Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-13 16:05:36 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-13 16:05:36 (GMT)
commit51f0350d078a4d3eac0abffc7160c74f35da55c7 (patch)
tree619f75ac40a79d84724b2805970ee881863c8f8d
parent2f60fb1b64741fd0c8f6507315f2e1df2a935f0a (diff)
Add a palette to the volume device icon
-rw-r--r--extensions/deviceicon/volume.py30
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()