Hello community,

here is the log from the commit of package virt-manager for openSUSE:Factory 
checked in at 2013-06-07 10:12:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
 and      /work/SRC/openSUSE:Factory/.virt-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-manager"

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes        
2013-02-25 21:45:16.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes   
2013-06-07 10:12:26.000000000 +0200
@@ -1,0 +2,23 @@
+Fri May 31 15:08:01 MDT 2013 - carn...@suse.com
+
+- Renamed all patches from '.diff' to '.patch'. 
+
+-------------------------------------------------------------------
+Fri May 31 14:20:00 MDT 2013 - carn...@suse.com
+
+- bnc#822531 - Virt-manager will reset the domu's 'Autostart'
+  option to unselected status as soon as changing the domu's any
+  virtual hardware through virt-manager (Xen only)
+  virtman-autorestart.diff
+
+-------------------------------------------------------------------
+Tue Apr  2 15:04:34 MDT 2013 - carn...@suse.com
+
+- Update to virt-manager 0.9.5
+  * Enable adding virtio-scsi disks (Chen Hanxiao)
+  * Support security auto-relabel setting (Martin Kletzander)
+  * Support disk iotune settings (David Shane Holden)
+  * Support 'reset' as a reboot option (John Doyle)
+  * Bug fixes and minor improvements
+
+-------------------------------------------------------------------

Old:
----
  virt-manager-0.9.4.tar.bz2
  virtman-autoconnect.diff
  virtman-autorestart.diff
  virtman-cdrom.diff
  virtman-desktop.diff
  virtman-device-flags.diff
  virtman-eepro100.diff
  virtman-git-scsi-lun.diff
  virtman-git-scsi.diff
  virtman-keycombo.diff
  virtman-kvm-packages.diff
  virtman-kvm.diff
  virtman-qed.diff
  virtman-slow-mouse.diff
  virtman-storage-pool.diff
  virtman-update-backend.diff
  virtman-virtinstall.diff
  virtman-vminstall.diff

New:
----
  virt-manager-0.9.5.tar.bz2
  virtman-autoconnect.patch
  virtman-autorestart.patch
  virtman-cdrom.patch
  virtman-desktop.patch
  virtman-device-flags.patch
  virtman-eepro100.patch
  virtman-keycombo.patch
  virtman-kvm.patch
  virtman-qed.patch
  virtman-slow-mouse.patch
  virtman-storage-pool.patch
  virtman-update-backend.patch
  virtman-virtinstall.patch
  virtman-vminstall.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.9iBOhU/_old  2013-06-07 10:12:27.000000000 +0200
+++ /var/tmp/diff_new_pack.9iBOhU/_new  2013-06-07 10:12:27.000000000 +0200
@@ -20,7 +20,7 @@
 %define gconftool /usr/bin/gconftool-2
 %define virtinst_maj 0
 %define virtinst_min 600
-%define virtinst_rel 3
+%define virtinst_rel 4
 %define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
 
 %define pysite %(python -c "import distutils.sysconfig; print 
distutils.sysconfig.get_python_lib()")
@@ -29,28 +29,25 @@
 Summary:        Virtual Machine Manager
 License:        GPL-2.0+
 Group:          System/Monitoring
-Version:        0.9.4
+Version:        0.9.5
 Release:        0
 Url:            http://virt-manager.et.redhat.com
 Source0:        virt-manager-%{version}.tar.bz2
-Patch0:         virtman-git-scsi.diff
-Patch1:         virtman-git-scsi-lun.diff
-Patch50:        virtman-desktop.diff
-Patch51:        virtman-vminstall.diff
-Patch52:        virtman-cdrom.diff
-Patch53:        virtman-kvm.diff
-Patch54:        virtman-keycombo.diff
-Patch55:        virtman-autoconnect.diff
-Patch60:        virtman-device-flags.diff
-Patch61:        virtman-autorestart.diff
-Patch62:        virtman-storage-pool.diff
-Patch63:        virtman-eepro100.diff
-Patch64:        virtman-qed.diff
-Patch65:        virtman-update-backend.diff
-Patch66:        virtman-slow-mouse.diff
-Patch67:        virtman-virtinstall.diff
+Patch50:        virtman-desktop.patch
+Patch51:        virtman-vminstall.patch
+Patch52:        virtman-cdrom.patch
+Patch53:        virtman-kvm.patch
+Patch54:        virtman-keycombo.patch
+Patch55:        virtman-autoconnect.patch
+Patch60:        virtman-device-flags.patch
+Patch61:        virtman-autorestart.patch
+Patch62:        virtman-storage-pool.patch
+Patch63:        virtman-eepro100.patch
+Patch64:        virtman-qed.patch
+Patch65:        virtman-update-backend.patch
+Patch66:        virtman-slow-mouse.patch
+Patch67:        virtman-virtinstall.patch
 Patch68:        virtman-reverse-serialcon.patch
-Patch69:        virtman-kvm-packages.diff
 ExclusiveArch:  %{ix86} x86_64 s390x
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %gconf_schemas_prereq
@@ -102,8 +99,6 @@
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
 %patch50 -p1
 %patch51 -p1
 %patch52 -p1
@@ -119,7 +114,6 @@
 %patch66 -p1
 %patch67 -p1
 %patch68 -p1
-%patch69 -p1
 
 %build
 # autoreconf -i

++++++ virt-manager-0.9.4.tar.bz2 -> virt-manager-0.9.5.tar.bz2 ++++++
++++ 138353 lines of diff (skipped)

++++++ virtman-autoconnect.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/engine.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/engine.py
+++ virt-manager-0.9.5/src/virtManager/engine.py
@@ -218,7 +218,7 @@ class vmmEngine(vmmGObject):
                 conn = self.add_conn(uri)
 
             if autoconnect is not None:
-                conn.set_autoconnect(bool(autoconnect))
+                self.connect_to_uri(uri)
 
             self.show_manager()
             if do_start:
++++++ virtman-autorestart.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/details.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/details.py
+++ virt-manager-0.9.5/src/virtManager/details.py
@@ -2195,12 +2195,10 @@ class vmmDetails(vmmGObjectUI):
 
         return self._change_config_helper(df, da, hf, ha)
 
-    # Boot device / Autostart
-    def config_boot_options_apply(self):
-        df, da, add_define, hf, ha, add_hotplug = self.make_apply_data()
-        ignore = add_hotplug
-
-        if self.editted(EDIT_AUTOSTART):
+    # Autostart - See bnc#624250 - L3: virt-manager doesn't update
+    #             "Autostart" setting in vm configuration correctly
+    def update_on_xend_start(self):
+        if self.editted(EDIT_AUTOSTART) or self.vm.conn.is_xen():
             auto = self.widget("config-autostart")
             try:
                 self.vm.set_autostart(auto.get_active())
@@ -2209,6 +2207,11 @@ class vmmDetails(vmmGObjectUI):
                     (_("Error changing autostart value: %s") % str(e)))
                 return False
 
+    # Boot device
+    def config_boot_options_apply(self):
+        df, da, add_define, hf, ha, add_hotplug = self.make_apply_data()
+        ignore = add_hotplug
+
         if self.editted(EDIT_BOOTORDER):
             bootdevs = self.get_config_boot_devs()
             add_define(self.vm.set_boot_device, bootdevs)
@@ -2580,6 +2583,8 @@ class vmmDetails(vmmGObjectUI):
                               buttons=gtk.BUTTONS_OK,
                               dialog_type=dtype)
 
+        self.update_on_xend_start()
+
         return True
 
     ########################
++++++ virtman-cdrom.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/addhardware.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/addhardware.py
+++ virt-manager-0.9.5/src/virtManager/addhardware.py
@@ -551,6 +551,8 @@ class vmmAddHardware(vmmGObjectUI):
             add_dev("virtio-scsi", virtinst.VirtualDisk.DEVICE_LUN,
                     _("Virtio SCSI lun"))
         if self.conn.is_xen() or self.conn.is_test_conn():
+            add_dev("xen", virtinst.VirtualDisk.DEVICE_CDROM,
+                    _("Xen Virtual disk (read only)"))
             add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK,
                     _("Xen virtual disk"))
 
++++++ virtman-desktop.patch ++++++
Index: virt-manager-0.9.5/src/Makefile.am
===================================================================
--- virt-manager-0.9.5.orig/src/Makefile.am
+++ virt-manager-0.9.5/src/Makefile.am
@@ -14,7 +14,7 @@ libexec_SCRIPTS = $(PACKAGE)-launch
 gladedir = $(pkgdatadir)
 glade_DATA = $(wildcard $(srcdir)/*.ui)
 
-desktopdir = $(datadir)/applications
+desktopdir = $(datadir)/applications/YaST2/
 desktop_DATA_IN = $(PACKAGE).desktop.in.in
 desktop_DATA = $(PACKAGE).desktop
 
Index: virt-manager-0.9.5/src/Makefile.in
===================================================================
--- virt-manager-0.9.5.orig/src/Makefile.in
+++ virt-manager-0.9.5/src/Makefile.in
@@ -288,7 +288,7 @@ libexec_DATA_IN = $(PACKAGE)-launch.in
 libexec_SCRIPTS = $(PACKAGE)-launch
 gladedir = $(pkgdatadir)
 glade_DATA = $(wildcard $(srcdir)/*.ui)
-desktopdir = $(datadir)/applications
+desktopdir = $(datadir)/applications/YaST2/
 desktop_DATA_IN = $(PACKAGE).desktop.in.in
 desktop_DATA = $(PACKAGE).desktop
 dbusdir = $(datadir)/dbus-1/services
Index: virt-manager-0.9.5/src/virt-manager.desktop.in.in
===================================================================
--- virt-manager-0.9.5.orig/src/virt-manager.desktop.in.in
+++ virt-manager-0.9.5/src/virt-manager.desktop.in.in
@@ -1,8 +1,19 @@
 [Desktop Entry]
 _Name=Virtual Machine Manager
-_Comment=Manage virtual machines
-Icon=::PACKAGE::
-Exec=::PACKAGE::
+_Comment=Manage Virtual Machines for Xen and KVM
+Version=1.0
+Icon=yast-vm-management
+Exec=/usr/bin/virt-manager
 Type=Application
 Terminal=false
-Categories=System;
+Encoding=UTF-8
+Categories=Qt;X-SuSE-YaST;
+X-KDE-ModuleType=Library
+X-KDE-RootOnly=true
+X-KDE-HasReadOnlyMode=false
+X-SuSE-YaST-Call=/usr/bin/virt-manager
+X-SuSE-YaST-Group=Virtualization
+X-SuSE-YaST-Argument=
+X-SuSE-YaST-RootOnly=true
+X-SuSE-YaST-Geometry=
+X-SuSE-YaST-SortKey=
++++++ virtman-device-flags.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/addhardware.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/addhardware.py
+++ virt-manager-0.9.5/src/virtManager/addhardware.py
@@ -1167,6 +1167,19 @@ class vmmAddHardware(vmmGObjectUI):
         if controller is not None:
             logging.debug("Adding controller:\n%s",
                           self._dev.vmm_controller.get_xml_config())
+
+        # If vm is active, Try to hotplug the device and modify persistent
+        # config in one go
+        if self.vm.is_active():
+            try:
+                self.vm.attach_device_flags(self._dev, 3)
+                return (False, None)
+            except Exception, e:
+                logging.debug("Could not hotplug device and modify persistent "
+                              "config at the same time: %s" % str(e))
+                logging.debug("Trying the operations seperately ...")
+
+        # Try hotplug then modify persistent config
         # Hotplug device
         attach_err = False
         try:
Index: virt-manager-0.9.5/src/virtManager/details.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/details.py
+++ virt-manager-0.9.5/src/virtManager/details.py
@@ -2466,6 +2466,17 @@ class vmmDetails(vmmGObjectUI):
             text1=(_("Are you sure you want to remove this device?"))):
             return
 
+        # If vm is running, try to hot remove the device and modify
+        # persistent config in one go
+        if self.vm.is_active():
+            try:
+                self.vm.detach_device_flags(dev_type, dev_id_info, 3)
+                return
+            except Exception, e:
+                logging.debug("Could not hot remove device and modify "
+                              "persistent config at the same time: %s" % 
str(e))
+                logging.debug("Trying the operations seperately ...")
+
         # Define the change
         try:
             self.vm.remove_device(dev_id_info)
Index: virt-manager-0.9.5/src/virtManager/domain.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/domain.py
+++ virt-manager-0.9.5/src/virtManager/domain.py
@@ -797,6 +797,10 @@ class vmmDomain(vmmLibvirtObject):
         devxml = devobj.get_xml_config()
         self._backend.attachDevice(devxml)
 
+    def attach_device_flags(self, devobj, flags):
+        xml = devobj.get_xml_config()
+        self._backend.attachDeviceFlags(xml, flags)
+
     def detach_device(self, devobj):
         """
         Hotunplug device from running guest
@@ -815,6 +819,10 @@ class vmmDomain(vmmLibvirtObject):
         xml = devobj.get_xml_config()
         self._backend.updateDeviceFlags(xml, flags)
 
+    def detach_device_flags(self, devtype, dev_id_info, flags):
+        xml = self._get_device_xml(devtype, dev_id_info)
+        self._backend.detachDeviceFlags(xml, flags)
+
     def hotplug_vcpus(self, vcpus):
         vcpus = int(vcpus)
         if vcpus != self.vcpu_count():
++++++ virtman-eepro100.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/uihelpers.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/uihelpers.py
+++ virt-manager-0.9.5/src/virtManager/uihelpers.py
@@ -311,6 +311,7 @@ def populate_netmodel_combo(vm, combo):
     if vm.is_hvm():
         mod_list = ["rtl8139", "ne2k_pci", "pcnet", "e1000"]
         if vm.get_hv_type() in ["kvm", "qemu", "test"]:
+            mod_list.append("eepro100")
             mod_list.append("virtio")
         if (vm.get_hv_type() == "kvm" and
               vm.get_machtype() == "pseries"):
++++++ virtman-keycombo.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/uihelpers.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/uihelpers.py
+++ virt-manager-0.9.5/src/virtManager/uihelpers.py
@@ -972,6 +972,16 @@ def build_keycombo_menu(cb):
     make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
     make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
     menu.add(gtk.SeparatorMenuItem())
+    make_item("Ctrl+Scroll+Scroll", ["Control_L", "Scroll" + "Scroll"])
+    make_item("Alt+F_10", ["Alt_L", "F10"])
+    make_item("Alt+Tab", ["Alt_L", "Tab"])
+    make_item("Alt+Escape", ["Alt_L", "Escape"])
+    make_item("Ctrl+Escape", ["Control_L", "Escape"])
+    make_item("Ctrl+Alt+Escape", ["Control_L", "Alt_L", "Escape"])
+    make_item("Alt+Shift+Shift+Escape", ["Alt_R", "Shift_R", "Shift_L", 
"Escape"])
+    make_item("F_8", ["F8"])
+    make_item("F_10", ["F10"])
+    menu.add(gtk.SeparatorMenuItem())
 
     for i in range(1, 13):
         make_item("Ctrl+Alt+F_%d" % i, ["Control_L", "Alt_L", "F%d" % i])
++++++ virtman-kvm.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/engine.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/engine.py
+++ virt-manager-0.9.5/src/virtManager/engine.py
@@ -58,6 +58,7 @@ def default_uri():
           os.path.exists("/usr/bin/qemu") or
           os.path.exists("/usr/bin/qemu-kvm") or
           os.path.exists("/usr/bin/kvm") or
+          os.path.exists("/dev/kvm") or
           os.path.exists("/usr/libexec/qemu-kvm")):
         tryuri = "qemu:///system"
 
++++++ virtman-qed.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/uihelpers.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/uihelpers.py
+++ virt-manager-0.9.5/src/virtManager/uihelpers.py
@@ -400,13 +400,12 @@ def build_storage_format_combo(vm, combo
     combo.set_model(dev_model)
     combo.set_text_column(0)
 
-    formats = ["raw", "qcow2", "qed"]
-    if vm.rhel6_defaults():
-        formats.append("vmdk")
-        formats.append("vdi")
-
-    for m in formats:
-        dev_model.append([m])
+    if vm.conn.is_xen():
+        for m in ["raw", "qcow2", "vmdk"]:
+            dev_model.append([m])
+    else:
+        for m in ["raw", "qcow2", "qed", "vmdk", "vdi"]:
+            dev_model.append([m])
 
     combo.set_active(0)
 
++++++ virtman-reverse-serialcon.patch ++++++
--- /var/tmp/diff_new_pack.9iBOhU/_old  2013-06-07 10:12:28.000000000 +0200
+++ /var/tmp/diff_new_pack.9iBOhU/_new  2013-06-07 10:12:28.000000000 +0200
@@ -2,10 +2,10 @@
 Git: ce94126b707f157d88de113a8c591e628d55db63
 bnc#780859
 
-Index: virt-manager-0.9.4/src/virtManager/serialcon.py
+Index: virt-manager-0.9.5/src/virtManager/serialcon.py
 ===================================================================
---- virt-manager-0.9.4.orig/src/virtManager/serialcon.py
-+++ virt-manager-0.9.4/src/virtManager/serialcon.py
+--- virt-manager-0.9.5.orig/src/virtManager/serialcon.py
++++ virt-manager-0.9.5/src/virtManager/serialcon.py
 @@ -191,8 +191,9 @@ class LibvirtConsoleConnection(ConsoleCo
          name = dev and dev.alias.name or None
          logging.debug("Opening console stream for dev=%s alias=%s",

++++++ virtman-slow-mouse.patch ++++++
This patch reverses the commit described below.  The commit causes a serious 
mouse tracking slowdown.  See bnc#731218.

Subject: manager: Properly show vm desc in tooltip w/ special xml characters
From: Cole Robinson crobi...@redhat.com Mon Sep 26 11:05:55 2011 -0400
Date: Mon Sep 26 11:07:52 2011 -0400:
Git: 0a7640c593a54a6a3f558583d82f8b27c7a7d1d1

Index: virt-manager-0.9.5/src/virtManager/manager.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/manager.py
+++ virt-manager-0.9.5/src/virtManager/manager.py
@@ -787,7 +787,7 @@ class vmmManager(vmmGObjectUI):
         row.insert(ROW_STATUS, vm.run_status())
         row.insert(ROW_STATUS_ICON, vm.run_status_icon_name())
         row.insert(ROW_KEY, vm.get_uuid())
-        row.insert(ROW_HINT, util.xml_escape(vm.get_description()))
+        row.insert(ROW_HINT, vm.get_description())
         row.insert(ROW_IS_CONN, False)
         row.insert(ROW_IS_CONN_CONNECTED, True)
         row.insert(ROW_IS_VM, True)
@@ -931,7 +931,7 @@ class vmmManager(vmmGObjectUI):
         row[ROW_MARKUP] = self._build_vm_markup(row)
 
         if config_changed:
-            row[ROW_HINT] = util.xml_escape(vm.get_description())
+            row[ROW_HINT] = vm.get_description()
 
         model.row_changed(row.path, row.iter)
 
++++++ virtman-storage-pool.patch ++++++
When connecting to a xen host, create default dir storage pool
in /var/lib/xen/images instead of /var/lib/libvirt/images.

Index: virt-manager-0.8.5/src/virtManager/connection.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/connection.py
+++ virt-manager-0.8.5/src/virtManager/connection.py
@@ -1144,7 +1144,8 @@ class vmmConnection(gobject.GObject):
             else:
                 # Try to create the default storage pool
                 try:
-                    util.build_default_pool(self.vmm)
+                    util.build_default_pool(self.vmm, \
+                                       self.config.get_default_image_dir(self))
                 except Exception, e:
                     logging.debug("Building default pool failed: %s" % str(e))
 
Index: virt-manager-0.8.5/src/virtManager/util.py
===================================================================
--- virt-manager-0.8.5.orig/src/virtManager/util.py
+++ virt-manager-0.8.5/src/virtManager/util.py
@@ -31,9 +31,8 @@ import virtManager
 import virtinst
 
 DEFAULT_POOL_NAME = "default"
-DEFAULT_POOL_PATH = "/var/lib/libvirt/images"
 
-def build_default_pool(conn):
+def build_default_pool(conn, path):
     """
     Helper to build the 'default' storage pool
     """
@@ -54,15 +53,15 @@ def build_default_pool(conn):
 
     try:
         logging.debug("Attempting to build default pool with target '%s'" %
-                      DEFAULT_POOL_PATH)
+                      path)
         defpool = virtinst.Storage.DirectoryPool(conn=conn,
                                                  name=DEFAULT_POOL_NAME,
-                                                 target_path=DEFAULT_POOL_PATH)
+                                                 target_path=path)
         newpool = defpool.install(build=True, create=True)
         newpool.setAutostart(True)
     except Exception, e:
         raise RuntimeError(_("Couldn't create default storage pool '%s': %s") %
-                             (DEFAULT_POOL_PATH, str(e)))
+                             (path, str(e)))
 
 def get_ideal_path_info(conn, config, name):
     path = get_default_dir(conn, config)
++++++ virtman-update-backend.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/domain.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/domain.py
+++ virt-manager-0.9.5/src/virtManager/domain.py
@@ -1669,7 +1669,14 @@ class vmmDomain(vmmLibvirtObject):
         # Invalidate cached values
         self._invalidate_xml()
 
-        info = self._backend.info()
+        try:
+            info = self._backend.info()
+        except:
+            self._backend = self.conn.vmm.lookupByName(self.get_name())
+            info = self._backend.info()
+        if info[0] == libvirt.VIR_DOMAIN_NOSTATE:
+            self._backend = self.conn.vmm.lookupByName(self.get_name())
+            info = self._backend.info()
         expected = self.config.get_stats_history_length()
         current = len(self.record)
         if current > expected:
++++++ virtman-virtinstall.patch ++++++
Index: virt-manager-0.9.5/src/vmm-manager.ui
===================================================================
--- virt-manager-0.9.5.orig/src/vmm-manager.ui
+++ virt-manager-0.9.5/src/vmm-manager.ui
@@ -293,7 +293,7 @@
                 <property name="can_focus">False</property>
                 <property name="show_arrow">False</property>
                 <child>
-                  <object class="GtkToolButton" id="vm-new">
+                  <object class="GtkMenuToolButton" id="vm-new">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="has_tooltip">True</property>
@@ -306,7 +306,6 @@
                   </object>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="homogeneous">True</property>
                   </packing>
                 </child>
                 <child>
Index: virt-manager-0.9.5/src/virtManager/manager.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/manager.py
+++ virt-manager-0.9.5/src/virtManager/manager.py
@@ -260,7 +260,8 @@ class vmmManager(vmmGObjectUI):
                             self.config.is_vmlist_network_traffic_visible())
 
     def init_toolbar(self):
-        self.widget("vm-new").set_icon_name("vm_new")
+        uihelpers.build_new_button_menu(self.widget("vm-new"),
+                                             self.virtinstall_new_vm)
         self.widget("vm-open").set_icon_name("icon_console")
         uihelpers.build_shutdown_button_menu(self.widget("vm-shutdown"),
                                              self.poweroff_vm,
@@ -510,6 +511,9 @@ class vmmManager(vmmGObjectUI):
     def new_vm(self, src_ignore=None):
         self.emit("action-show-create", self.current_conn_uri())
 
+    def virtinstall_new_vm(self, src_ignore=None):
+        self.emit("action-show-create-virtinstall", self.current_conn_uri())
+
     def show_about(self, src_ignore):
         self.emit("action-show-about")
 
@@ -1238,6 +1242,7 @@ vmmManager.signal_new(vmmManager, "actio
 vmmManager.signal_new(vmmManager, "action-show-host", [str])
 vmmManager.signal_new(vmmManager, "action-show-preferences", [])
 vmmManager.signal_new(vmmManager, "action-show-create", [str])
+vmmManager.signal_new(vmmManager, "action-show-create-virtinstall", [str])
 vmmManager.signal_new(vmmManager, "action-suspend-domain", [str, str])
 vmmManager.signal_new(vmmManager, "action-resume-domain", [str, str])
 vmmManager.signal_new(vmmManager, "action-run-domain", [str, str])
Index: virt-manager-0.9.5/src/virtManager/uihelpers.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/uihelpers.py
+++ virt-manager-0.9.5/src/virtManager/uihelpers.py
@@ -837,6 +837,24 @@ def mediadev_set_default_selection(widge
 
 
 ####################################################################
+# Build toolbar new button menu (manager and details toolbar) #
+####################################################################
+
+def build_new_button_menu(widget, virtinstall_cb):
+    icon_name = util.running_config.get_new_icon_name()
+    widget.set_icon_name(icon_name)
+    menu = gtk.Menu()
+    widget.set_menu(menu)
+
+    virtinstallimg = gtk.image_new_from_icon_name(icon_name, 
gtk.ICON_SIZE_MENU)
+
+    virtinstall = gtk.ImageMenuItem(_("_Virt-install"))
+    virtinstall.set_image(virtinstallimg)
+    virtinstall.show()
+    virtinstall.connect("activate", virtinstall_cb)
+    menu.add(virtinstall)
+
+####################################################################
 # Build toolbar shutdown button menu (manager and details toolbar) #
 ####################################################################
 
Index: virt-manager-0.9.5/src/virtManager/config.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/config.py
+++ virt-manager-0.9.5/src/virtManager/config.py
@@ -150,6 +150,13 @@ class vmmConfig(object):
 
     # General app wide helpers (gconf agnostic)
 
+    def get_new_icon_name(self):
+        theme = gtk.icon_theme_get_default()
+        iconname = "vm_new"
+        if theme.has_icon(iconname):
+            return iconname
+        return "media-record"
+
     def get_shutdown_icon_name(self):
         theme = gtk.icon_theme_get_default()
         iconname = "system-shutdown"
Index: virt-manager-0.9.5/src/virtManager/engine.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/engine.py
+++ virt-manager-0.9.5/src/virtManager/engine.py
@@ -634,6 +634,7 @@ class vmmEngine(vmmGObject):
         obj.connect("action-show-vm", self._do_show_vm)
         obj.connect("action-show-preferences", self._do_show_preferences)
         obj.connect("action-show-create", self._do_show_create)
+        obj.connect("action-show-create-virtinstall", 
self._do_show_create_virtinstall)
         obj.connect("action-show-help", self._do_show_help)
         obj.connect("action-show-about", self._do_show_about)
         obj.connect("action-show-host", self._do_show_host)
@@ -680,14 +681,17 @@ class vmmEngine(vmmGObject):
     def _vmmcreate_closing(self,signal,key):
         self.windowCreate = None
 
-    def _do_show_create(self, src, uri):
+    def _do_show_create_virtinstall(self, src, uri):
+        self._do_show_create(src, uri, True)
+
+    def _do_show_create(self, src, uri, use_virtinstall=False):
         if uri is None:
             uri = default_uri()
         conn = self._lookup_conn(uri)
         do_remote = conn.is_remote()
         if self.windowCreate == None or do_remote != self.remote_install:
             try:
-                if do_remote:
+                if do_remote or use_virtinstall:
                     from virtManager.create import vmmCreate
                     create = vmmCreate(self)
                     create.connect("action-show-vm", self._do_show_vm)
++++++ virtman-vminstall.patch ++++++
Index: virt-manager-0.9.5/src/virtManager/engine.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/engine.py
+++ virt-manager-0.9.5/src/virtManager/engine.py
@@ -24,6 +24,7 @@ import gtk
 import logging
 import threading
 import os
+import traceback
 
 import libvirt
 import virtinst
@@ -42,7 +43,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
@@ -676,11 +676,47 @@ class vmmEngine(vmmGObject):
         self.windowCreate = obj
         return self.windowCreate
 
+    def _vmmcreate_closing(self,signal,key):
+        self.windowCreate = None
+
     def _do_show_create(self, src, uri):
-        try:
-            self._get_create_dialog().show(src.topwin, uri)
-        except Exception, e:
-            src.err.show_err(_("Error launching manager: %s") % str(e))
+        if uri is None:
+            uri = default_uri()
+        conn = self._lookup_conn(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)
+                    create.connect("action-show-vm", self._do_show_vm)
+                    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(src.topwin, uri)
+                else:
+                    from vminstall.gtk.interface import VMCreate as vmmCreate
+                    create = vmmCreate(virtman=True,key=0)
+                    create.connect("action-show-vm", self._do_show_vm)
+                    create.connect("vmmcreate-closing", 
self._vmmcreate_closing)
+                    self.remote_install = False
+                    self.windowCreate = create
+                    self.windowCreate.show(src.topwin)
+            except Exception, e:
+                src.err.show_err(_("Error launching manager: %s") % str(e),
+                                 "".join(traceback.format_exc()))
+        else:
+            if do_remote:
+                self.windowCreate.show(src.topwin, 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 _do_show_migrate(self, src, uri, uuid):
         try:
Index: virt-manager-0.9.5/src/virtManager/create.py
===================================================================
--- virt-manager-0.9.5.orig/src/virtManager/create.py
+++ virt-manager-0.9.5/src/virtManager/create.py
@@ -176,6 +176,7 @@ class vmmCreate(vmmGObjectUI):
 
     def close(self, ignore1=None, ignore2=None):
         logging.debug("Closing new vm wizard")
+        self.emit('vmmcreate-closing', 0)
         self.topwin.hide()
         self.remove_timers()
 
@@ -2158,3 +2159,4 @@ class vmmCreate(vmmGObjectUI):
 vmmGObjectUI.type_register(vmmCreate)
 vmmCreate.signal_new(vmmCreate, "action-show-vm", [str, str])
 vmmCreate.signal_new(vmmCreate, "action-show-help", [str])
+vmmCreate.signal_new(vmmCreate, "vmmcreate-closing", [str])
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to