Blob Blame History Raw
diff -rup old/src/virtManager/details.py virt-manager-0.7.0/src/virtManager/details.py
--- old/src/virtManager/details.py	2009-09-17 17:23:42.640307000 -0400
+++ virt-manager-0.7.0/src/virtManager/details.py	2009-09-17 17:24:09.098148000 -0400
@@ -960,11 +960,12 @@ class vmmDetails(gobject.GObject):
         curmem = self.window.get_widget("config-memory").get_adjustment()
         maxmem = self.window.get_widget("config-maxmem").get_adjustment()
 
-
         if self.window.get_widget("config-memory-apply").get_property("sensitive"):
-            if curmem.value > maxmem.value:
-                curmem.value = maxmem.value
-            curmem.upper = maxmem.value
+            memval = self.config_get_memory()
+            maxval = self.config_get_maxmem()
+            if maxval < memval:
+                maxmem.value = memval
+            maxmem.lower = memval
         else:
             curmem.value = int(round(self.vm.get_memory()/1024.0))
             maxmem.value = int(round(self.vm.maximum_memory()/1024.0))
@@ -1504,54 +1505,74 @@ class vmmDetails(gobject.GObject):
         self.vm.set_vcpu_count(vcpus)
         self.window.get_widget("config-vcpus-apply").set_sensitive(False)
 
-    def config_memory_changed(self, src):
-        self.window.get_widget("config-memory-apply").set_sensitive(True)
+    def config_get_maxmem(self):
+        maxadj = self.window.get_widget("config-maxmem").get_adjustment()
+        txtmax = self.window.get_widget("config-maxmem").get_text()
+        try:
+            maxmem = int(txtmax)
+        except:
+            maxmem = maxadj.value
+        return maxmem
+
+    def config_get_memory(self):
+        memadj = self.window.get_widget("config-memory").get_adjustment()
+        txtmem = self.window.get_widget("config-memory").get_text()
+        try:
+            mem = int(txtmem)
+        except:
+            mem = memadj.value
+        return mem
 
     def config_maxmem_changed(self, src):
         self.window.get_widget("config-memory-apply").set_sensitive(True)
-        memory = self.window.get_widget("config-maxmem").get_adjustment().value
-        memadj = self.window.get_widget("config-memory").get_adjustment()
-        memadj.upper = memory
-        if memadj.value > memory:
-            memadj.value = memory
+
+    def config_memory_changed(self, src):
+        self.window.get_widget("config-memory-apply").set_sensitive(True)
+
+        maxadj = self.window.get_widget("config-maxmem").get_adjustment()
+
+        mem = self.config_get_memory()
+        if maxadj.value < mem:
+            maxadj.value = mem
+        maxadj.lower = mem
 
     def config_memory_apply(self, src):
         self.refresh_config_memory()
         exc = None
         curmem = None
-        maxmem = self.window.get_widget("config-maxmem").get_adjustment()
+        maxmem = self.config_get_maxmem()
         if self.window.get_widget("config-memory").get_property("sensitive"):
-            curmem = self.window.get_widget("config-memory").get_adjustment()
+            curmem = self.config_get_memory()
 
-        logging.info("Setting max-memory for " + self.vm.get_name() + \
-                     " to " + str(maxmem.value))
+        logging.info("Setting max-memory for " + self.vm.get_name() +
+                     " to " + str(maxmem))
 
         actual_cur = self.vm.get_memory()
         if curmem is not None:
-            logging.info("Setting memory for " + self.vm.get_name() + \
-                         " to " + str(curmem.value))
-            if (maxmem.value * 1024) < actual_cur:
+            logging.info("Setting memory for " + self.vm.get_name() +
+                         " to " + str(curmem))
+            if (maxmem * 1024) < actual_cur:
                 # Set current first to avoid error
                 try:
-                    self.vm.set_memory(curmem.value * 1024)
-                    self.vm.set_max_memory(maxmem.value * 1024)
+                    self.vm.set_memory(curmem * 1024)
+                    self.vm.set_max_memory(maxmem * 1024)
                 except Exception, e:
                     exc = e
             else:
                 try:
-                    self.vm.set_max_memory(maxmem.value * 1024)
-                    self.vm.set_memory(curmem.value * 1024)
+                    self.vm.set_max_memory(maxmem * 1024)
+                    self.vm.set_memory(curmem * 1024)
                 except Exception, e:
                     exc = e
 
         else:
             try:
-                self.vm.set_max_memory(maxmem.value * 1024)
+                self.vm.set_max_memory(maxmem * 1024)
             except Exception, e:
                 exc = e
 
         if exc:
-            self.err.show_err(_("Error changing memory values: %s" % str(e)),\
+            self.err.show_err(_("Error changing memory values: %s" % str(e)),
                               "".join(traceback.format_exc()))
         else:
             self.window.get_widget("config-memory-apply").set_sensitive(False)
diff -rup old/src/virtManager/details.py.orig virt-manager-0.7.0/src/virtManager/details.py.orig
--- old/src/virtManager/details.py.orig	2009-09-17 17:23:42.778305000 -0400
+++ virt-manager-0.7.0/src/virtManager/details.py.orig	2009-09-17 17:24:08.925149000 -0400
@@ -501,7 +501,7 @@ class vmmDetails(gobject.GObject):
         self.update_scaling()
 
     def auth_login(self, ignore):
-        self.set_password()
+        self.set_credentials()
         self.activate_viewer_page()
 
     def toggle_toolbar(self, src):
@@ -1309,23 +1309,44 @@ class vmmDetails(gobject.GObject):
                      traceback.format_exc (stacktrace))
             logging.error(details)
 
-    def set_password(self, src=None):
-        txt = self.window.get_widget("console-auth-password")
-        self.vncViewer.set_credential(gtkvnc.CREDENTIAL_PASSWORD,
-                                      txt.get_text())
+    def set_credentials(self, src=None):
+        passwd = self.window.get_widget("console-auth-password")
+        if passwd.flags() & gtk.VISIBLE:
+            self.vncViewer.set_credential(gtkvnc.CREDENTIAL_PASSWORD,
+                                          passwd.get_text())
+        username = self.window.get_widget("console-auth-username")
+        if username.flags() & gtk.VISIBLE:
+            self.vncViewer.set_credential(gtkvnc.CREDENTIAL_USERNAME,
+                                          username.get_text())
+
+        if self.window.get_widget("console-auth-remember").get_active():
+            self.config.set_console_password(self.vm, passwd.get_text(), username.get_text())
 
     def _vnc_auth_credential(self, src, credList):
         for i in range(len(credList)):
+            if credList[i] not in (gtkvnc.CREDENTIAL_PASSWORD, gtkvnc.CREDENTIAL_USERNAME, gtkvnc.CREDENTIAL_CLIENTNAME):
+                self.err.show_err(summary=_("Unable to provide requested credentials to the VNC server"),
+                                  details=_("The credential type %s is not supported") % (str(credList[i])),
+                                  title=_("Unable to authenticate"),
+                                  async=True)
+                self.vncViewerRetriesScheduled = 10
+                self.vncViewer.close()
+                self.activate_unavailable_page(_("Unsupported console authentication type"))
+                return
+
+        withUsername = False
+        withPassword = False
+        for i in range(len(credList)):
             logging.debug("Got credential request %s", str(credList[i]))
             if credList[i] == gtkvnc.CREDENTIAL_PASSWORD:
-                self.activate_auth_page()
+                withPassword = True
+            elif credList[i] == gtkvnc.CREDENTIAL_USERNAME:
+                withUsername = True
             elif credList[i] == gtkvnc.CREDENTIAL_CLIENTNAME:
                 self.vncViewer.set_credential(credList[i], "libvirt-vnc")
-            else:
-                # Force it to stop re-trying
-                self.vncViewerRetriesScheduled = 10
-                self.vncViewer.close()
-                self.activate_unavailable_page(_("Unsupported console authentication type"))
+
+        if withUsername or withPassword:
+            self.activate_auth_page(withPassword, withUsername)
 
     def activate_unavailable_page(self, msg):
         self.window.get_widget("console-pages").set_current_page(PAGE_UNAVAILABLE)
@@ -1336,20 +1357,41 @@ class vmmDetails(gobject.GObject):
         self.window.get_widget("console-pages").set_current_page(PAGE_SCREENSHOT)
         self.window.get_widget("details-menu-vm-screenshot").set_sensitive(True)
 
-    def activate_auth_page(self):
-        pw = self.config.get_console_password(self.vm)
+    def activate_auth_page(self, withPassword=True, withUsername=False):
+        (pw, username) = self.config.get_console_password(self.vm)
         self.window.get_widget("details-menu-vm-screenshot").set_sensitive(False)
+
+        if withPassword:
+            self.window.get_widget("console-auth-password").show()
+            self.window.get_widget("label-auth-password").show()
+        else:
+            self.window.get_widget("console-auth-password").hide()
+            self.window.get_widget("label-auth-password").hide()
+
+        if withUsername:
+            self.window.get_widget("console-auth-username").show()
+            self.window.get_widget("label-auth-username").show()
+        else:
+            self.window.get_widget("console-auth-username").hide()
+            self.window.get_widget("label-auth-username").hide()
+
+        self.window.get_widget("console-auth-username").set_text(username)
         self.window.get_widget("console-auth-password").set_text(pw)
-        self.window.get_widget("console-auth-password").grab_focus()
+
         if self.config.has_keyring():
             self.window.get_widget("console-auth-remember").set_sensitive(True)
-            if pw != None and pw != "":
+            if pw != "" or username != "":
                 self.window.get_widget("console-auth-remember").set_active(True)
             else:
                 self.window.get_widget("console-auth-remember").set_active(False)
         else:
             self.window.get_widget("console-auth-remember").set_sensitive(False)
         self.window.get_widget("console-pages").set_current_page(PAGE_AUTHENTICATE)
+        if withUsername:
+            self.window.get_widget("console-auth-username").grab_focus()
+        else:
+            self.window.get_widget("console-auth-password").grab_focus()
+
 
     def activate_viewer_page(self):
         self.window.get_widget("console-pages").set_current_page(PAGE_VNCVIEWER)
diff -rup old/src/vmm-details.glade virt-manager-0.7.0/src/vmm-details.glade
--- old/src/vmm-details.glade	2009-09-17 17:23:42.448302000 -0400
+++ virt-manager-0.7.0/src/vmm-details.glade	2009-09-17 17:25:42.970347000 -0400
@@ -1436,7 +1436,6 @@ I/O:</property>
                               </widget>
                               <packing>
                                 <property name="position">2</property>
-                                <property name="tab_expand">True</property>
                               </packing>
                             </child>
                             <child>
@@ -1572,8 +1571,8 @@ I/O:</property>
                                                       <widget class="GtkSpinButton" id="config-memory">
                                                         <property name="visible">True</property>
                                                         <property name="can_focus">True</property>
-                                                        <property name="adjustment">50 50 32000 5 10 0</property>
-                                                        <property name="climb_rate">1</property>
+                                                        <property name="adjustment">50 50 32000 1 25 0</property>
+                                                        <property name="climb_rate">2</property>
                                                         <property name="numeric">True</property>
                                                         <property name="update_policy">GTK_UPDATE_IF_VALID</property>
                                                         <accessibility>
@@ -1610,8 +1609,8 @@ I/O:</property>
                                                       <widget class="GtkSpinButton" id="config-maxmem">
                                                         <property name="visible">True</property>
                                                         <property name="can_focus">True</property>
-                                                        <property name="adjustment">50 50 32000 5 10 0</property>
-                                                        <property name="climb_rate">1</property>
+                                                        <property name="adjustment">50 50 32000 1 25 0</property>
+                                                        <property name="climb_rate">2</property>
                                                         <property name="numeric">True</property>
                                                         <property name="update_policy">GTK_UPDATE_IF_VALID</property>
                                                         <accessibility>
Only in virt-manager-0.7.0/src: vmm-details.glade.orig
Only in virt-manager-0.7.0/src: vmm-details.glade.rej
Only in virt-manager-0.7.0/src: .vmm-details.glade.rej.swp