Hi all, The attached patch breaks out the info in the VM 'Overview' tab into list entries in the VM hardware list. Two entries are added: an 'Overview' entry (containing name, UUID, and current state), and a 'Performance' entry (containing all the VM stats graphs). The hardware tab is renamed to 'Details' since it encompasses a bit more info now. Some screenshots: http://crobinso.fedorapeople.org/virt-manager/vmm-overview-merge1.png http://crobinso.fedorapeople.org/virt-manager/vmm-overview-merge2.png The patch actually just shows the code change. I left out the 4000+ glade diff since it is largely mechanical and not worth reviewing directly. Any comments appreciated. Thanks, Cole
diff -r 1144683a4413 -r e03490a72a2e src/virtManager/details.py --- a/src/virtManager/details.py Mon Feb 09 09:56:23 2009 -0500 +++ b/src/virtManager/details.py Mon Feb 09 14:55:18 2009 -0500 @@ -49,16 +49,18 @@ HW_LIST_COL_DEVICE = 5 # Types for the hw list model: numbers specify what order they will be listed -HW_LIST_TYPE_CPU = 0 -HW_LIST_TYPE_MEMORY = 1 -HW_LIST_TYPE_BOOT = 2 -HW_LIST_TYPE_DISK = 3 -HW_LIST_TYPE_NIC = 4 -HW_LIST_TYPE_INPUT = 5 -HW_LIST_TYPE_GRAPHICS = 6 -HW_LIST_TYPE_SOUND = 7 -HW_LIST_TYPE_CHAR = 8 -HW_LIST_TYPE_HOSTDEV = 9 +HW_LIST_TYPE_GENERAL = 0 +HW_LIST_TYPE_STATS = 1 +HW_LIST_TYPE_CPU = 2 +HW_LIST_TYPE_MEMORY = 3 +HW_LIST_TYPE_BOOT = 4 +HW_LIST_TYPE_DISK = 5 +HW_LIST_TYPE_NIC = 6 +HW_LIST_TYPE_INPUT = 7 +HW_LIST_TYPE_GRAPHICS = 8 +HW_LIST_TYPE_SOUND = 9 +HW_LIST_TYPE_CHAR = 10 +HW_LIST_TYPE_HOSTDEV = 11 # Console pages PAGE_UNAVAILABLE = 0 @@ -67,9 +69,8 @@ PAGE_VNCVIEWER = 3 PAGE_CONSOLE = 0 -PAGE_OVERVIEW = 1 -PAGE_DETAILS = 2 -PAGE_DYNAMIC_OFFSET = 3 +PAGE_DETAILS = 1 +PAGE_DYNAMIC_OFFSET = 2 class vmmDetails(gobject.GObject): __gsignals__ = { @@ -530,7 +531,8 @@ self.window.get_widget("details-pages").set_current_page(PAGE_CONSOLE) def activate_performance_page(self): - self.window.get_widget("details-pages").set_current_page(PAGE_OVERVIEW) + self.window.get_widget("details-pages").set_current_page(PAGE_DETAILS) + self.window.get_widget("hw-panel").set_current_page(HW_LIST_TYPE_STATS) def activate_config_page(self): self.window.get_widget("details-pages").set_current_page(PAGE_DETAILS) @@ -610,7 +612,11 @@ self.window.get_widget("hw-panel").show_all() pagenum = pagetype - if pagetype == HW_LIST_TYPE_CPU: + if pagetype == HW_LIST_TYPE_GENERAL: + pass + elif pagetype == HW_LIST_TYPE_STATS: + self.refresh_stats_page() + elif pagetype == HW_LIST_TYPE_CPU: self.window.get_widget("config-vcpus-apply").set_sensitive(False) self.refresh_config_cpu() elif pagetype == HW_LIST_TYPE_MEMORY: @@ -802,9 +808,7 @@ self.page_refresh(details.get_current_page()) def page_refresh(self, page): - if page == PAGE_OVERVIEW: - self.refresh_summary() - elif page == PAGE_DETAILS: + if page == PAGE_DETAILS: # Add / remove new devices self.repopulate_hw_list() @@ -814,7 +818,12 @@ active = selection.get_selected() if active[1] != None: pagetype = active[0].get_value(active[1], HW_LIST_COL_TYPE) - if pagetype == HW_LIST_TYPE_CPU: + if pagetype == HW_LIST_TYPE_GENERAL: + # Nothing to refresh at this point + pass + elif pagetype == HW_LIST_TYPE_STATS: + self.refresh_stats_page() + elif pagetype == HW_LIST_TYPE_CPU: self.refresh_config_cpu() elif pagetype == HW_LIST_TYPE_MEMORY: self.refresh_config_memory() @@ -833,7 +842,7 @@ elif pagetype == HW_LIST_TYPE_HOSTDEV: self.refresh_hostdev_page() - def refresh_summary(self): + def refresh_stats_page(self): def _rx_tx_text(rx, tx, unit): return '<span color="#82003B">%(rx)d %(unit)s in</span>\n<span color="#295C45">%(tx)d %(unit)s out</span>' % locals() @@ -852,11 +861,11 @@ int(round(host_memory/1024.0))) if self.config.get_stats_enable_disk_poll(): dsk_txt = _rx_tx_text(self.vm.disk_read_rate(), - self.vm.disk_write_rate(), "KBytes/s") + self.vm.disk_write_rate(), "KB/s") if self.config.get_stats_enable_net_poll(): net_txt = _rx_tx_text(self.vm.network_rx_rate(), - self.vm.network_tx_rate(), "KBytes/s") + self.vm.network_tx_rate(), "KB/s") self.window.get_widget("overview-cpu-usage-text").set_text(cpu_txt) self.window.get_widget("overview-memory-usage-text").set_text(mem_txt) @@ -1519,6 +1528,10 @@ def populate_hw_list(self): hw_list_model = self.window.get_widget("hw-list").get_model() hw_list_model.clear() + hw_list_model.append(["Overview", None, 0, self.pixbuf_processor, + HW_LIST_TYPE_GENERAL, []]) + hw_list_model.append(["Performance", None, 0, self.pixbuf_memory, + HW_LIST_TYPE_STATS, []]) hw_list_model.append(["Processor", None, 0, self.pixbuf_processor, HW_LIST_TYPE_CPU, []]) hw_list_model.append(["Memory", None, 0, self.pixbuf_memory, HW_LIST_TYPE_MEMORY, []]) hw_list_model.append(["Boot Options", None, 0, self.pixbuf_memory, HW_LIST_TYPE_BOOT, []])
_______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools