0c96ca8
# HG changeset patch
0c96ca8
# User Cole Robinson <crobinso@redhat.com>
0c96ca8
# Date 1253201058 14400
0c96ca8
# Node ID a6f055361d165bea5fbb3c62ec54a820987a7dde
0c96ca8
# Parent  1c886d1863f72e7ddd5fb99050362296be6a9deb
0c96ca8
Update new VM status icons.
0c96ca8
0c96ca8
Previous round didn't convey state very well, and looked too much like
0c96ca8
buttons.
0c96ca8
0c96ca8
diff -r 1c886d1863f7 -r a6f055361d16 pixmaps/state_paused.png
0c96ca8
Binary file pixmaps/state_paused.png has changed
0c96ca8
diff -r 1c886d1863f7 -r a6f055361d16 pixmaps/state_running.png
0c96ca8
Binary file pixmaps/state_running.png has changed
0c96ca8
diff -r 1c886d1863f7 -r a6f055361d16 pixmaps/state_shutoff.png
0c96ca8
Binary file pixmaps/state_shutoff.png has changed
0c96ca8
diff -r 1c886d1863f7 -r a6f055361d16 src/virtManager/config.py
0c96ca8
--- a/src/virtManager/config.py	Wed Sep 16 16:02:19 2009 -0400
0c96ca8
+++ b/src/virtManager/config.py	Thu Sep 17 11:24:18 2009 -0400
0c96ca8
@@ -90,7 +90,16 @@
0c96ca8
             libvirt.VIR_DOMAIN_SHUTOFF: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_shutoff.png", 18, 18),
0c96ca8
             libvirt.VIR_DOMAIN_NOSTATE: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_running.png", 18, 18),
0c96ca8
             }
0c96ca8
-        #initialize the help stuff
0c96ca8
+        self.status_icons_large = {
0c96ca8
+            libvirt.VIR_DOMAIN_BLOCKED: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_running.png", 32, 32),
0c96ca8
+            libvirt.VIR_DOMAIN_CRASHED: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_crashed.png", 32, 32),
0c96ca8
+            libvirt.VIR_DOMAIN_PAUSED: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_paused.png", 32, 32),
0c96ca8
+            libvirt.VIR_DOMAIN_RUNNING: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_running.png", 32, 32),
0c96ca8
+            libvirt.VIR_DOMAIN_SHUTDOWN: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_shutoff.png", 32, 32),
0c96ca8
+            libvirt.VIR_DOMAIN_SHUTOFF: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_shutoff.png", 32, 32),
0c96ca8
+            libvirt.VIR_DOMAIN_NOSTATE: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_running.png", 32, 32),
0c96ca8
+            }
0c96ca8
+
0c96ca8
         props = { gnome.PARAM_APP_DATADIR : self.get_data_dir()}
0c96ca8
         gnome.program_init(self.get_appname(), self.get_appversion(), \
0c96ca8
                                properties=props)
0c96ca8
@@ -100,6 +109,9 @@
0c96ca8
     def get_vm_status_icon(self, state):
0c96ca8
         return self.status_icons[state]
0c96ca8
 
0c96ca8
+    def get_vm_status_icon_large(self, state):
0c96ca8
+        return self.status_icons_large[state]
0c96ca8
+
0c96ca8
     def get_shutdown_icon_name(self):
0c96ca8
         theme = gtk.icon_theme_get_default()
0c96ca8
         if theme.has_icon("system-shutdown"):
0c96ca8
diff -r 1c886d1863f7 -r a6f055361d16 src/virtManager/domain.py
0c96ca8
--- a/src/virtManager/domain.py	Wed Sep 16 16:02:19 2009 -0400
0c96ca8
+++ b/src/virtManager/domain.py	Thu Sep 17 11:24:18 2009 -0400
0c96ca8
@@ -728,6 +728,8 @@
0c96ca8
 
0c96ca8
     def run_status_icon(self):
0c96ca8
         return self.config.get_vm_status_icon(self.status())
0c96ca8
+    def run_status_icon_large(self):
0c96ca8
+        return self.config.get_vm_status_icon_large(self.status())
0c96ca8
 
0c96ca8
     def _is_serial_console_tty_accessible(self, path):
0c96ca8
         # pty serial scheme doesn't work over remote
0c96ca8
diff -r 1c886d1863f7 -r a6f055361d16 src/virtManager/manager.py
0c96ca8
--- a/src/virtManager/manager.py	Wed Sep 16 16:02:19 2009 -0400
0c96ca8
+++ b/src/virtManager/manager.py	Thu Sep 17 11:24:18 2009 -0400
0c96ca8
@@ -493,7 +493,7 @@
0c96ca8
         row.insert(ROW_NAME, vm.get_name())
0c96ca8
         row.insert(ROW_MARKUP, row[ROW_NAME])
0c96ca8
         row.insert(ROW_STATUS, vm.run_status())
0c96ca8
-        row.insert(ROW_STATUS_ICON, vm.run_status_icon())
0c96ca8
+        row.insert(ROW_STATUS_ICON, vm.run_status_icon_large())
0c96ca8
         row.insert(ROW_KEY, vm.get_uuid())
0c96ca8
         row.insert(ROW_HINT, None)
0c96ca8
         row.insert(ROW_IS_CONN, False)
0c96ca8
@@ -575,7 +575,7 @@
0c96ca8
 
0c96ca8
         row = self.rows[self.vm_row_key(vm)]
0c96ca8
         row[ROW_STATUS] = vm.run_status()
0c96ca8
-        row[ROW_STATUS_ICON] = vm.run_status_icon()
0c96ca8
+        row[ROW_STATUS_ICON] = vm.run_status_icon_large()
0c96ca8
         row[ROW_IS_VM_RUNNING] = vm.is_active()
0c96ca8
         model.row_changed(row.path, row.iter)
0c96ca8
 
0c96ca8
@@ -850,7 +850,6 @@
0c96ca8
         statusCol.add_attribute(status_icon, 'cell-background', ROW_COLOR)
0c96ca8
         statusCol.add_attribute(status_icon, 'pixbuf', ROW_STATUS_ICON)
0c96ca8
         statusCol.add_attribute(status_icon, 'visible', ROW_IS_VM)
0c96ca8
-        statusCol.add_attribute(status_icon, 'sensitive', ROW_IS_VM_RUNNING)
0c96ca8
 
0c96ca8
         name_txt = gtk.CellRendererText()
0c96ca8
         nameCol.pack_start(name_txt, True)
0c96ca8
# HG changeset patch
0c96ca8
# User Cole Robinson <crobinso@redhat.com>
0c96ca8
# Date 1253205341 14400
0c96ca8
# Node ID cdbe1da3ce75a5ad06b8e07e891ac35d1b246685
0c96ca8
# Parent  a6f055361d165bea5fbb3c62ec54a820987a7dde
0c96ca8
Change VM name text arrangement in manager view.
0c96ca8
0c96ca8
Shrink text size, add a second row that shows the VM status. Fills the
0c96ca8
display up a bit so it doesn't look so sparse.
0c96ca8
0c96ca8
diff -r a6f055361d16 -r cdbe1da3ce75 src/virtManager/manager.py
0c96ca8
--- a/src/virtManager/manager.py	Thu Sep 17 11:24:18 2009 -0400
0c96ca8
+++ b/src/virtManager/manager.py	Thu Sep 17 12:35:41 2009 -0400
0c96ca8
@@ -486,12 +486,26 @@
0c96ca8
         else:
0c96ca8
             self.emit("action-refresh-console", uri, vmuuid)
0c96ca8
 
0c96ca8
+    def _build_conn_markup(self, conn, row):
0c96ca8
+        if conn.state == conn.STATE_DISCONNECTED:
0c96ca8
+            markup = ("%s - "
0c96ca8
+                      "Not Connected" % row[ROW_NAME])
0c96ca8
+        else:
0c96ca8
+            markup = ("%s" % row[ROW_NAME])
0c96ca8
+        return markup
0c96ca8
+
0c96ca8
+    def _build_vm_markup(self, vm, row):
0c96ca8
+        markup = ("%s\n"
0c96ca8
+                  "%s" %
0c96ca8
+                  (row[ROW_NAME], row[ROW_STATUS]))
0c96ca8
+        return markup
0c96ca8
+
0c96ca8
     def _append_vm(self, model, vm, conn):
0c96ca8
         parent = self.rows[conn.get_uri()].iter
0c96ca8
         row = []
0c96ca8
         row.insert(ROW_HANDLE, vm)
0c96ca8
         row.insert(ROW_NAME, vm.get_name())
0c96ca8
-        row.insert(ROW_MARKUP, row[ROW_NAME])
0c96ca8
+        row.insert(ROW_MARKUP, "")
0c96ca8
         row.insert(ROW_STATUS, vm.run_status())
0c96ca8
         row.insert(ROW_STATUS_ICON, vm.run_status_icon_large())
0c96ca8
         row.insert(ROW_KEY, vm.get_uuid())
0c96ca8
@@ -502,6 +516,8 @@
0c96ca8
         row.insert(ROW_IS_VM_RUNNING, vm.is_active())
0c96ca8
         row.insert(ROW_COLOR, "white")
0c96ca8
 
0c96ca8
+        row[ROW_MARKUP] = self._build_vm_markup(vm, row)
0c96ca8
+
0c96ca8
         _iter = model.append(parent, row)
0c96ca8
         path = model.get_path(_iter)
0c96ca8
         self.rows[self.vm_row_key(vm)] = model[path]
0c96ca8
@@ -512,12 +528,7 @@
0c96ca8
         row = []
0c96ca8
         row.insert(ROW_HANDLE, conn)
0c96ca8
         row.insert(ROW_NAME, conn.get_pretty_desc_inactive(False))
0c96ca8
-        if conn.state == conn.STATE_DISCONNECTED:
0c96ca8
-            markup = ("%s - "
0c96ca8
-                      "Not Connected" % row[ROW_NAME])
0c96ca8
-        else:
0c96ca8
-            markup = ("%s" % row[ROW_NAME])
0c96ca8
-        row.insert(ROW_MARKUP, markup)
0c96ca8
+        row.insert(ROW_MARKUP, self._build_conn_markup(conn, row))
0c96ca8
         row.insert(ROW_STATUS, ("%s" %
0c96ca8
                                 conn.get_state_text()))
0c96ca8
         row.insert(ROW_STATUS_ICON, None)
0c96ca8
@@ -589,12 +600,7 @@
0c96ca8
         model = vmlist.get_model()
0c96ca8
         row = self.rows[conn.get_uri()]
0c96ca8
 
0c96ca8
-        if conn.state == conn.STATE_DISCONNECTED:
0c96ca8
-            markup = ("%s - "
0c96ca8
-                      "Not Connected" % row[ROW_NAME])
0c96ca8
-        else:
0c96ca8
-            markup = ("%s" % row[ROW_NAME])
0c96ca8
-        row[ROW_MARKUP] = markup
0c96ca8
+        row[ROW_MARKUP] = self._build_conn_markup(conn, row)
0c96ca8
         row[ROW_STATUS] = "%s" % conn.get_state_text()
0c96ca8
         row[ROW_IS_CONN_CONNECTED] = conn.state != conn.STATE_DISCONNECTED
0c96ca8
 
0c96ca8
# HG changeset patch
0c96ca8
# User Cole Robinson <crobinso@redhat.com>
0c96ca8
# Date 1253201111 14400
0c96ca8
# Node ID 739a6876af4692d6f86d8813f6dd3aa046bf6a8b
0c96ca8
# Parent  cdbe1da3ce75a5ad06b8e07e891ac35d1b246685
0c96ca8
Drop row coloring for managed connection rows.
0c96ca8
0c96ca8
Looks kind of funky with lots of dark colored rows for a user with multiple
0c96ca8
connections.
0c96ca8
0c96ca8
diff -r cdbe1da3ce75 -r 739a6876af46 src/virtManager/manager.py
0c96ca8
--- a/src/virtManager/manager.py	Thu Sep 17 12:35:41 2009 -0400
0c96ca8
+++ b/src/virtManager/manager.py	Thu Sep 17 11:25:11 2009 -0400
0c96ca8
@@ -49,8 +49,6 @@
0c96ca8
 ROW_IS_CONN_CONNECTED = 8
0c96ca8
 ROW_IS_VM = 9
0c96ca8
 ROW_IS_VM_RUNNING = 10
0c96ca8
-ROW_COLOR = 11
0c96ca8
-ROW_HEIGHT = 12
0c96ca8
 
0c96ca8
 # Columns in the tree view
0c96ca8
 COL_NAME = 0
0c96ca8
@@ -514,7 +512,6 @@
0c96ca8
         row.insert(ROW_IS_CONN_CONNECTED, True)
0c96ca8
         row.insert(ROW_IS_VM, True)
0c96ca8
         row.insert(ROW_IS_VM_RUNNING, vm.is_active())
0c96ca8
-        row.insert(ROW_COLOR, "white")
0c96ca8
 
0c96ca8
         row[ROW_MARKUP] = self._build_vm_markup(vm, row)
0c96ca8
 
0c96ca8
@@ -539,7 +536,6 @@
0c96ca8
                    conn.state != conn.STATE_DISCONNECTED)
0c96ca8
         row.insert(ROW_IS_VM, False)
0c96ca8
         row.insert(ROW_IS_VM_RUNNING, False)
0c96ca8
-        row.insert(ROW_COLOR, "#d4d2d2")
0c96ca8
 
0c96ca8
         _iter = model.append(None, row)
0c96ca8
         path = model.get_path(_iter)
0c96ca8
@@ -823,9 +819,9 @@
0c96ca8
         vmlist = self.window.get_widget("vm-list")
0c96ca8
 
0c96ca8
         # Handle, name, markup, status, status icon, key/uuid, hint, is conn,
0c96ca8
-        # is conn connected, is vm, is vm running, color
0c96ca8
+        # is conn connected, is vm, is vm running
0c96ca8
         model = gtk.TreeStore(object, str, str, str, gtk.gdk.Pixbuf, str, str,
0c96ca8
-                              bool, bool, bool, bool, str)
0c96ca8
+                              bool, bool, bool, bool)
0c96ca8
         vmlist.set_model(model)
0c96ca8
         util.tooltip_wrapper(vmlist, ROW_HINT, "set_tooltip_column")
0c96ca8
 
0c96ca8
@@ -834,7 +830,7 @@
0c96ca8
 
0c96ca8
         nameCol = gtk.TreeViewColumn(_("Name"))
0c96ca8
         nameCol.set_expand(True)
0c96ca8
-        nameCol.set_spacing(12)
0c96ca8
+        nameCol.set_spacing(6)
0c96ca8
         cpuUsageCol = gtk.TreeViewColumn(_("CPU usage"))
0c96ca8
         cpuUsageCol.set_min_width(150)
0c96ca8
 
0c96ca8
@@ -853,13 +849,11 @@
0c96ca8
 
0c96ca8
         status_icon = gtk.CellRendererPixbuf()
0c96ca8
         statusCol.pack_start(status_icon, False)
0c96ca8
-        statusCol.add_attribute(status_icon, 'cell-background', ROW_COLOR)
0c96ca8
         statusCol.add_attribute(status_icon, 'pixbuf', ROW_STATUS_ICON)
0c96ca8
         statusCol.add_attribute(status_icon, 'visible', ROW_IS_VM)
0c96ca8
 
0c96ca8
         name_txt = gtk.CellRendererText()
0c96ca8
         nameCol.pack_start(name_txt, True)
0c96ca8
-        nameCol.add_attribute(name_txt, 'cell-background', ROW_COLOR)
0c96ca8
         nameCol.add_attribute(name_txt, 'markup', ROW_MARKUP)
0c96ca8
         nameCol.set_sort_column_id(VMLIST_SORT_NAME)
0c96ca8
 
0c96ca8
@@ -870,9 +864,7 @@
0c96ca8
         cpuUsage_img.set_property("reversed", True)
0c96ca8
         cpuUsageCol.pack_start(cpuUsage_img, True)
0c96ca8
         cpuUsageCol.pack_start(cpuUsage_txt, False)
0c96ca8
-        cpuUsageCol.add_attribute(cpuUsage_img, 'cell-background', ROW_COLOR)
0c96ca8
         cpuUsageCol.add_attribute(cpuUsage_img, 'visible', ROW_IS_VM)
0c96ca8
-        cpuUsageCol.add_attribute(cpuUsage_txt, 'cell-background', ROW_COLOR)
0c96ca8
         cpuUsageCol.add_attribute(cpuUsage_txt, 'visible', ROW_IS_CONN)
0c96ca8
         cpuUsageCol.set_sort_column_id(VMLIST_SORT_STATS)
0c96ca8
         self.stats_sparkline = cpuUsage_img