From: "Richard W.M. Jones" <rjo...@redhat.com> This adds hostname, product name, and list of applications. --- src/virtManager/details.py | 61 +++++++++++++++++++ src/vmm-details.glade | 137 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 196 insertions(+), 2 deletions(-)
diff --git a/src/virtManager/details.py b/src/virtManager/details.py index 4164825..027dfeb 100644 --- a/src/virtManager/details.py +++ b/src/virtManager/details.py @@ -652,6 +652,34 @@ class vmmDetails(vmmGObjectUI): buf.connect("changed", self.enable_apply, EDIT_DESC) desc.set_buffer(buf) + # List of applications. + apps_list = self.window.get_widget("inspection-apps") + apps_model = gtk.ListStore(str, str, str) + apps_list.set_model(apps_model) + + name_col = gtk.TreeViewColumn(_("Name")) + version_col = gtk.TreeViewColumn(_("Version")) + summary_col = gtk.TreeViewColumn() + + apps_list.append_column(name_col) + apps_list.append_column(version_col) + apps_list.append_column(summary_col) + + name_text = gtk.CellRendererText() + name_col.pack_start(name_text, True) + name_col.add_attribute(name_text, 'text', 0) + name_col.set_sort_column_id(0) + + version_text = gtk.CellRendererText() + version_col.pack_start(version_text, True) + version_col.add_attribute(version_text, 'text', 1) + version_col.set_sort_column_id(1) + + summary_text = gtk.CellRendererText() + summary_col.pack_start(summary_text, True) + summary_col.add_attribute(summary_text, 'text', 2) + summary_col.set_sort_column_id(2) + # Clock combo clock_combo = self.widget("overview-clock-combo") clock_model = gtk.ListStore(str) @@ -2293,6 +2321,39 @@ class vmmDetails(vmmGObjectUI): self.widget("overview-arch").set_text(arch) self.widget("overview-emulator").set_text(emu) + # Operating System (ie. inspection data) + hostname = self.vm.inspection.hostname + if not hostname: + hostname = _("unknown") + self.window.get_widget("inspection-hostname").set_text(hostname) + product_name = self.vm.inspection.product_name + if not product_name: + product_name = _("unknown") + self.window.get_widget("inspection-product-name").set_text(product_name) + + # Applications (also inspection data) + apps = self.vm.inspection.applications or [] + + apps_list = self.window.get_widget("inspection-apps") + apps_model = apps_list.get_model() + apps_model.clear() + for app in apps: + name = "" + if app["app_name"]: + name = app["app_name"] + if app["app_display_name"]: + name = app["app_display_name"] + version = "" + if app["app_version"]: + version = app["app_version"] + if app["app_release"]: + version += "-" + app["app_release"] + summary = "" + if app["app_summary"]: + summary = app["app_summary"] + + apps_model.append([name, version, summary]) + # Machine settings acpi = self.vm.get_acpi() apic = self.vm.get_apic() diff --git a/src/vmm-details.glade b/src/vmm-details.glade index 3817e7b..4934999 100644 --- a/src/vmm-details.glade +++ b/src/vmm-details.glade @@ -1139,6 +1139,139 @@ </packing> </child> <child> + <widget class="GtkFrame" id="frame17"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <widget class="GtkAlignment" id="alignment43"> + <property name="visible">True</property> + <property name="left_padding">12</property> + <child> + <widget class="GtkTable" id="table17"> + <property name="visible">True</property> + <property name="border_width">3</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">6</property> + <child> + <widget class="GtkLabel" id="label71"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Hostname:</property> + </widget> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label72"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Product name:</property> + </widget> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="inspection-hostname"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">foo</property> + <property name="selectable">True</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="inspection-product-name"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">foo</property> + <property name="selectable">True</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + <child> + <widget class="GtkLabel" id="label70"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Operating System</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> + <widget class="GtkExpander" id="expander7"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <widget class="GtkAlignment" id="alignment44"> + <property name="visible">True</property> + <property name="top_padding">3</property> + <property name="left_padding">21</property> + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow6"> + <property name="height_request">150</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">etched-in</property> + <child> + <widget class="GtkTreeView" id="inspection-apps"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">True</property> + </widget> + </child> + </widget> + </child> + </widget> + </child> + <child> + <widget class="GtkLabel" id="label73"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Applications</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="position">3</property> + </packing> + </child> + <child> <widget class="GtkExpander" id="expander2"> <property name="visible">True</property> <property name="can_focus">True</property> @@ -1273,7 +1406,7 @@ </widget> <packing> <property name="expand">False</property> - <property name="position">2</property> + <property name="position">4</property> </packing> </child> <child> @@ -1467,7 +1600,7 @@ </child> </widget> <packing> - <property name="position">3</property> + <property name="position">5</property> </packing> </child> </widget> -- 1.7.5.2 _______________________________________________ virt-tools-list mailing list virt-tools-list@redhat.com https://www.redhat.com/mailman/listinfo/virt-tools-list