Blob Blame History Raw
diff -rup old/src/virtManager/choosecd.py virt-manager-0.7.0/src/virtManager/choosecd.py
--- old/src/virtManager/choosecd.py	2009-09-17 17:12:16.317469000 -0400
+++ virt-manager-0.7.0/src/virtManager/choosecd.py	2009-09-17 17:12:26.626644000 -0400
@@ -23,8 +23,8 @@ import logging
 
 import virtinst
 
-from virtManager import util
 from virtManager.opticalhelper import vmmOpticalDriveHelper
+from virtManager.storagebrowse import vmmStorageBrowser
 from virtManager.error import vmmErrorDialog
 
 class vmmChooseCD(gobject.GObject):
@@ -39,10 +39,13 @@ class vmmChooseCD(gobject.GObject):
                                   0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
                                   _("Unexpected Error"),
                                   _("An unexpected error occurred"))
+        self.topwin = self.window.get_widget("vmm-choose-cd")
+        self.topwin.hide()
+
         self.config = config
-        self.window.get_widget("vmm-choose-cd").hide()
         self.dev_id_info = dev_id_info
         self.conn = connection
+        self.storage_browser = None
 
         self.window.signal_autoconnect({
             "on_media_toggled": self.media_toggled,
@@ -130,9 +133,7 @@ class vmmChooseCD(gobject.GObject):
         pass
 
     def browse_fv_iso_location(self, ignore1=None, ignore2=None):
-        filename = self._browse_file(_("Locate ISO Image"))
-        if filename != None:
-            self.window.get_widget("iso-path").set_text(filename)
+        self._browse_file(_("Locate ISO Image"))
 
     def populate_opt_media(self):
         try:
@@ -143,9 +144,17 @@ class vmmChooseCD(gobject.GObject):
             logging.error("Unable to create optical-helper widget: '%s'", e)
             self.window.get_widget("physical-media").set_sensitive(False)
 
-    def _browse_file(self, dialog_name, folder=None, _type=None):
-        return util.browse_local(self.window.get_widget("vmm-choose-cd"),
-                                 dialog_name, folder, _type)
+    def set_storage_path(self, src, path):
+        self.window.get_widget("iso-path").set_text(path)
 
+    def _browse_file(self, dialog_name):
+        if self.storage_browser == None:
+            self.storage_browser = vmmStorageBrowser(self.config, self.conn)
+                                                     #self.topwin)
+            self.storage_browser.connect("storage-browse-finish",
+                                         self.set_storage_path)
+        self.storage_browser.local_args = { "dialog_name": dialog_name }
+        self.storage_browser.show(self.conn)
+        return None
 
 gobject.type_register(vmmChooseCD)
diff -rup old/src/virtManager/create.py virt-manager-0.7.0/src/virtManager/create.py
--- old/src/virtManager/create.py	2009-09-17 17:12:16.371469000 -0400
+++ virt-manager-0.7.0/src/virtManager/create.py	2009-09-17 17:14:56.395189000 -0400
@@ -997,18 +997,16 @@ class vmmCreate(gobject.GObject):
             nodetect_label.show()
 
     def browse_iso(self, ignore1=None, ignore2=None):
-        f = self._browse_file(_("Locate ISO Image"), is_media=True)
-        if f != None:
-            self.window.get_widget("install-local-entry").set_text(f)
+        self._browse_file(_("Locate ISO Image"),
+                          self.set_iso_storage_path)
         self.window.get_widget("install-local-entry").activate()
 
     def toggle_enable_storage(self, src):
         self.window.get_widget("config-storage-box").set_sensitive(src.get_active())
 
     def browse_storage(self, ignore1):
-        f = self._browse_file(_("Locate existing storage"))
-        if f != None:
-            self.window.get_widget("config-storage-entry").set_text(f)
+        self._browse_file(_("Locate existing storage"),
+                          self.set_disk_storage_path)
 
     def toggle_storage_select(self, src):
         act = src.get_active()
@@ -1017,13 +1015,11 @@ class vmmCreate(gobject.GObject):
     def toggle_macaddr(self, src):
         self.window.get_widget("config-macaddr").set_sensitive(src.get_active())
 
-    def set_storage_path(self, src, path):
-        notebook = self.window.get_widget("create-pages")
-        curpage = notebook.get_current_page()
-        if curpage == PAGE_INSTALL:
-            self.window.get_widget("install-local-entry").set_text(path)
-        elif curpage == PAGE_STORAGE:
-            self.window.get_widget("config-storage-entry").set_text(path)
+    def set_iso_storage_path(self, ignore, path):
+        self.window.get_widget("install-local-entry").set_text(path)
+
+    def set_disk_storage_path(self, ignore, path):
+        self.window.get_widget("config-storage-entry").set_text(path)
 
     # Navigation methods
     def set_install_page(self):
@@ -1655,20 +1651,14 @@ class vmmCreate(gobject.GObject):
             logging.exception("Error detecting distro.")
             self.detectedDistro = (None, None)
 
-    def _browse_file(self, dialog_name, folder=None, is_media=False):
-
-        if self.conn.is_remote() or not is_media:
-            if self.storage_browser == None:
-                self.storage_browser = vmmStorageBrowser(self.config,
-                                                         self.conn)
-                self.storage_browser.connect("storage-browse-finish",
-                                             self.set_storage_path)
-            self.storage_browser.local_args = { "dialog_name": dialog_name,
-                                                "start_folder": folder}
-            self.storage_browser.show(self.conn)
-            return None
-
-        return util.browse_local(self.topwin, dialog_name, folder)
+    def _browse_file(self, dialog_name, callback, folder=None):
+        if self.storage_browser == None:
+            self.storage_browser = vmmStorageBrowser(self.config, self.conn)
+
+        self.storage_browser.set_finish_cb(callback)
+        self.storage_browser.local_args = { "dialog_name": dialog_name,
+                                            "start_folder": folder}
+        self.storage_browser.show(self.conn)
 
     def show_help(self, ignore):
         # No help available yet.
diff -rup old/src/virtManager/create.py.orig virt-manager-0.7.0/src/virtManager/create.py.orig
--- old/src/virtManager/create.py.orig	2009-09-17 17:12:16.548472000 -0400
+++ virt-manager-0.7.0/src/virtManager/create.py.orig	2009-09-17 17:12:26.597639000 -0400
@@ -822,14 +822,14 @@ class vmmCreate(gobject.GObject):
     def get_storage_info(self):
         path = None
         size = self.window.get_widget("config-storage-size").get_value()
-        nosparse = self.window.get_widget("config-storage-nosparse").get_active()
+        sparse = not self.window.get_widget("config-storage-nosparse").get_active()
         if self.window.get_widget("config-storage-create").get_active():
             path = self.get_default_path(self.guest.name)
             logging.debug("Default storage path is: %s" % path)
         else:
             path = self.window.get_widget("config-storage-entry").get_text()
 
-        return (path, size, nosparse)
+        return (path, size, sparse)
 
     def get_default_path(self, name):
         path = ""
Only in virt-manager-0.7.0/src/virtManager: create.py.rej
Only in virt-manager-0.7.0/src/virtManager: .create.py.rej.swp
diff -rup old/src/virtManager/storagebrowse.py virt-manager-0.7.0/src/virtManager/storagebrowse.py
--- old/src/virtManager/storagebrowse.py	2009-09-17 17:12:16.503470000 -0400
+++ virt-manager-0.7.0/src/virtManager/storagebrowse.py	2009-09-17 17:12:26.650639000 -0400
@@ -47,6 +47,7 @@ class vmmStorageBrowser(gobject.GObject)
         self.config = config
         self.conn = conn
         self.conn_signal_ids = []
+        self.finish_cb_id = None
 
         self.topwin = self.window.get_widget("vmm-storage-browse")
         self.err = vmmErrorDialog(self.topwin,
@@ -83,6 +84,11 @@ class vmmStorageBrowser(gobject.GObject)
             self.addvol.close()
         return 1
 
+    def set_finish_cb(self, callback):
+        if self.finish_cb_id:
+            self.disconnect(self.finish_cb_id)
+        self.finish_cb_id = self.connect("storage-browse-finish", callback)
+
     def set_initial_state(self):
         pool_list = self.window.get_widget("pool-list")
         virtManager.host.init_pool_list(pool_list, self.pool_selected)