b334b4647f
remote host. OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=43
85 lines
3.9 KiB
Diff
85 lines
3.9 KiB
Diff
Index: virt-manager-0.8.5/src/virtManager/engine.py
|
|
===================================================================
|
|
--- virt-manager-0.8.5.orig/src/virtManager/engine.py
|
|
+++ virt-manager-0.8.5/src/virtManager/engine.py
|
|
@@ -40,7 +40,6 @@ from virtManager.manager import vmmManag
|
|
from virtManager.migrate import vmmMigrateDialog
|
|
from virtManager.details import vmmDetails
|
|
from virtManager.asyncjob import vmmAsyncJob
|
|
-from virtManager.create import vmmCreate
|
|
from virtManager.host import vmmHost
|
|
from virtManager.error import vmmErrorDialog
|
|
from virtManager.systray import vmmSystray
|
|
@@ -665,13 +664,44 @@ class vmmEngine(gobject.GObject):
|
|
return False
|
|
return True
|
|
|
|
+ def _vmmcreate_closing(self,signal,key):
|
|
+ self.windowCreate = None
|
|
+
|
|
def show_create(self, uri):
|
|
- if self.windowCreate == None:
|
|
- create = vmmCreate(self.get_config(), self)
|
|
- create.connect("action-show-console", self._do_show_console)
|
|
- create.connect("action-show-help", self._do_show_help)
|
|
- self.windowCreate = create
|
|
- self.windowCreate.show(uri)
|
|
+ conn = self._lookup_connection(uri)
|
|
+ do_remote = conn.is_remote()
|
|
+ if self.windowCreate == None or do_remote != self.remote_install:
|
|
+ try:
|
|
+ if do_remote:
|
|
+ from virtManager.create import vmmCreate
|
|
+ create = vmmCreate(self.get_config(),self)
|
|
+ create.connect("action-show-console", self._do_show_console)
|
|
+ create.connect("action-show-help", self._do_show_help)
|
|
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
|
|
+ self.remote_install = True
|
|
+ self.windowCreate = create
|
|
+ self.windowCreate.show(uri)
|
|
+ else:
|
|
+ from vminstall.gtk.interface import VMCreate as vmmCreate
|
|
+ create = vmmCreate(virtman=True,key=0)
|
|
+ create.connect("action-show-console", self._do_show_console)
|
|
+ create.connect("vmmcreate-closing", self._vmmcreate_closing)
|
|
+ self.remote_install = False
|
|
+ self.windowCreate = create
|
|
+ self.windowCreate.show()
|
|
+ except Exception, e:
|
|
+ self.err.show_err("%s" % str(e),"".join(traceback.format_exc()))
|
|
+ else:
|
|
+ if do_remote:
|
|
+ self.windowCreate.show(uri)
|
|
+ else:
|
|
+ message_box = gtk.MessageDialog(None,
|
|
+ gtk.DIALOG_MODAL,
|
|
+ gtk.MESSAGE_WARNING,
|
|
+ gtk.BUTTONS_OK,
|
|
+ _("A new installation is already in progress.\n\nUse the YaST \"Create Virtual Machines\" utility for concurrent installations."))
|
|
+ message_box.run()
|
|
+ message_box.destroy()
|
|
|
|
def add_connection(self, uri, readOnly=None, autoconnect=False):
|
|
conn = vmmConnection(self.get_config(), uri, readOnly, self)
|
|
Index: virt-manager-0.8.5/src/virtManager/create.py
|
|
===================================================================
|
|
--- virt-manager-0.8.5.orig/src/virtManager/create.py
|
|
+++ virt-manager-0.8.5/src/virtManager/create.py
|
|
@@ -65,6 +65,8 @@ class vmmCreate(gobject.GObject):
|
|
gobject.TYPE_NONE, (str,str)),
|
|
"action-show-help": (gobject.SIGNAL_RUN_FIRST,
|
|
gobject.TYPE_NONE, [str]),
|
|
+ "vmmcreate-closing": (gobject.SIGNAL_RUN_FIRST,
|
|
+ gobject.TYPE_NONE, (int,)),
|
|
}
|
|
|
|
def __init__(self, config, engine):
|
|
@@ -154,6 +156,7 @@ class vmmCreate(gobject.GObject):
|
|
self.topwin.present()
|
|
|
|
def close(self, ignore1=None, ignore2=None):
|
|
+ self.emit('vmmcreate-closing', 0)
|
|
self.topwin.hide()
|
|
self.remove_timers()
|
|
|