Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-11-29 18:43:48 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-11-29 18:43:48 (GMT)
commit25b5c6f4aaed7dfe206de1232cc13faf13499de4 (patch)
tree6e0932516c05fc30b420c7a320aa029414809de8 /extensions
parent2d49cb1f24d68659cc09ae37766da2fb95def3bd (diff)
Automount volumes already inserted at startup
Diffstat (limited to 'extensions')
-rw-r--r--extensions/deviceicon/volume.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/extensions/deviceicon/volume.py b/extensions/deviceicon/volume.py
index 08c6c94..9346a78 100644
--- a/extensions/deviceicon/volume.py
+++ b/extensions/deviceicon/volume.py
@@ -19,8 +19,9 @@ import statvfs
from gettext import gettext as _
import logging
-import gtk
+import gobject
import gio
+import gtk
import gconf
from sugar.graphics.tray import TrayIcon
@@ -110,8 +111,14 @@ class VolumePalette(Palette):
{'free_space': free_space / (1024 * 1024)}
def setup(tray):
+ gobject.idle_add(_setup_volumes, tray)
+
+def _setup_volumes(tray):
volume_monitor = gio.volume_monitor_get()
+ for volume in volume_monitor.get_volumes():
+ _mount(volume, tray)
+
for mount in volume_monitor.get_mounts():
_add_device(mount, tray)
@@ -120,6 +127,9 @@ def setup(tray):
volume_monitor.connect('mount-removed', _mount_removed_cb, tray)
def _volume_added_cb(volume_monitor, volume, tray):
+ _mount(volume, tray)
+
+def _mount(volume, tray):
#TODO: this should be done by some other process, like gvfs-hal-volume-monitor
#TODO: use volume.should_automount() when it gets into pygtk
if volume.get_mount() is None and volume.can_mount():