virt-manager: show correctly EGD RNG devices information

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
Giuseppe Scrivano 2013-10-25 17:13:29 +02:00
parent a7519dc1e9
commit 408771004f
2 changed files with 171 additions and 131 deletions

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.0 on Fri Oct 4 08:04:58 2013 -->
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkAccelGroup" id="accelgroup1"/>
@ -1380,8 +1379,8 @@
<property name="use_underline">True</property>
<property name="xalign">0.5</property>
<property name="draw_indicator">True</property>
<signal name="activate" handler="on_security_type_changed" swapped="no"/>
<signal name="toggled" handler="on_security_type_changed" swapped="no"/>
<signal name="activate" handler="on_security_type_changed" swapped="no"/>
</object>
<packing>
<property name="x_options"/>
@ -1528,7 +1527,6 @@
<object class="GtkVBox" id="vbox5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vexpand">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkFrame" id="frame24">
@ -2013,7 +2011,6 @@
<object class="GtkExpander" id="expander5">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">False</property>
<child>
<object class="GtkAlignment" id="alignment31">
<property name="visible">True</property>
@ -2237,7 +2234,6 @@
<object class="GtkExpander" id="expander6">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">False</property>
<child>
<object class="GtkAlignment" id="alignment39">
<property name="visible">True</property>
@ -2475,7 +2471,6 @@
<object class="GtkExpander" id="expander3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">False</property>
<child>
<object class="GtkAlignment" id="alignment16">
<property name="visible">True</property>
@ -3804,7 +3799,6 @@
<object class="GtkExpander" id="expander4">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">False</property>
<child>
<object class="GtkBox" id="box10">
<property name="visible">True</property>
@ -3815,7 +3809,6 @@
<object class="GtkGrid" id="table11">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="row_spacing">3</property>
<property name="column_spacing">8</property>
<child>
@ -3952,7 +3945,6 @@
<object class="GtkComboBox" id="disk-cache">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="has_entry">True</property>
<signal name="changed" handler="on_disk_cache_combo_changed" swapped="no"/>
<child internal-child="entry">
@ -3972,7 +3964,6 @@
<object class="GtkComboBox" id="disk-io">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="has_entry">True</property>
<signal name="changed" handler="on_disk_io_combo_changed" swapped="no"/>
<child internal-child="entry">
@ -4099,7 +4090,6 @@
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">16</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment8</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
@ -4119,7 +4109,6 @@
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">16</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment9</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
@ -4139,7 +4128,6 @@
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">16</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment10</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
@ -4159,7 +4147,6 @@
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">16</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment11</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
@ -4179,7 +4166,6 @@
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">16</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment12</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
@ -4199,7 +4185,6 @@
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="width_chars">16</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment13</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
@ -4472,8 +4457,6 @@
<object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<child>
<placeholder/>
</child>
@ -4489,13 +4472,11 @@
<object class="GtkComboBox" id="network-source-mode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="has_entry">True</property>
<signal name="changed" handler="on_network-source-mode-combo_changed" swapped="no"/>
<child internal-child="entry">
<object class="GtkEntry" id="combobox-entry6">
<property name="can_focus">True</property>
<property name="hexpand">False</property>
</object>
</child>
</object>
@ -4510,13 +4491,11 @@
<object class="GtkComboBox" id="network-model">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="has_entry">True</property>
<signal name="changed" handler="on_network_model_combo_changed" swapped="no"/>
<child internal-child="entry">
<object class="GtkEntry" id="combobox-entry7">
<property name="can_focus">True</property>
<property name="hexpand">False</property>
</object>
</child>
</object>
@ -4531,7 +4510,6 @@
<object class="GtkComboBox" id="network-source">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<signal name="changed" handler="on_network_source_combo_changed" swapped="no"/>
</object>
<packing>
@ -5150,14 +5128,11 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">False</property>
<property name="has_entry">True</property>
<signal name="changed" handler="on_gfx_type_combo_changed" swapped="no"/>
<child internal-child="entry">
<object class="GtkEntry" id="combobox-entry10">
<property name="can_focus">True</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
</object>
</child>
</object>
@ -5654,7 +5629,6 @@
<object class="GtkLabel" id="video-heads">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="selectable">True</property>
@ -5672,7 +5646,6 @@
<object class="GtkLabel" id="video-ram">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="selectable">True</property>
@ -5731,7 +5704,6 @@
<object class="GtkComboBox" id="video-model">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="has_entry">True</property>
<signal name="changed" handler="on_video_model_combo_changed" swapped="no"/>
<child internal-child="entry">
@ -6654,62 +6626,6 @@
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-host">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-host</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Host:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-service">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-service</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Service:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label4">
<property name="visible">True</property>
@ -6719,7 +6635,7 @@
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
@ -6733,35 +6649,7 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-rate-period">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-rate-period</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Rate (period):</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">6</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
@ -6775,7 +6663,7 @@
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
@ -6789,11 +6677,151 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Host:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-connect-host">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-connect-host</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Service:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-connect-service">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-connect-service</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Bind Host:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-bind-host">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-bind-host</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Bind Service:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">7</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-bind-service">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-bind-service</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">7</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Rate (period):</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">8</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-rate-period">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">rng-rate-period</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">8</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rng-label5">
<property name="visible">True</property>
@ -6803,7 +6831,7 @@
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">7</property>
<property name="top_attach">9</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
@ -6817,7 +6845,7 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">7</property>
<property name="top_attach">9</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>

View File

@ -36,6 +36,7 @@ from virtManager.addhardware import vmmAddHardware
from virtManager.choosecd import vmmChooseCD
from virtManager.snapshots import vmmSnapshotPage
from virtManager.graphwidgets import Sparkline
from virtinst import VirtualRNGDevice
import virtinst
from virtinst import util
@ -3077,30 +3078,37 @@ class vmmDetails(vmmGObjectUI):
def refresh_rng_page(self):
dev = self.get_hw_selection(HW_LIST_COL_DEVICE)
values = {
"rng-bind-host" : "bind_host",
"rng-bind-service" : "bind_service",
"rng-connect-host" : "connect_host",
"rng-connect-service" : "connect_service",
"rng-type" : "type",
"rng-device" : "device",
"rng-host" : "backend_source_host",
"rng-service" : "backend_source_service",
"rng-mode" : "backend_source_mode",
"rng-backend-type" : "backend_type",
"rng-rate-bytes" : "rate_bytes",
"rng-rate-period" : "rate_period"
}
rewriter = {
"rng-type" : lambda x:
virtinst.VirtualRNGDevice.get_pretty_type(x),
VirtualRNGDevice.get_pretty_type(x),
"rng-backend-type" : lambda x:
virtinst.VirtualRNGDevice.get_pretty_backend_type(x),
"rng-mode" : lambda x:
virtinst.VirtualRNGDevice.get_pretty_mode(x)
VirtualRNGDevice.get_pretty_backend_type(x),
}
is_egd = dev.type == virtinst.VirtualRNGDevice.TYPE_EGD
uihelpers.set_grid_row_visible(self.widget("rng-device"), not is_egd)
uihelpers.set_grid_row_visible(self.widget("rng-host"), is_egd)
uihelpers.set_grid_row_visible(self.widget("rng-service"), is_egd)
uihelpers.set_grid_row_visible(self.widget("rng-mode"), is_egd)
uihelpers.set_grid_row_visible(self.widget("rng-backend-type"), is_egd)
def set_visible(widget, v):
uihelpers.set_grid_row_visible(self.widget(widget), v)
is_egd = dev.type == VirtualRNGDevice.TYPE_EGD
udp = dev.backend_type == VirtualRNGDevice.BACKEND_TYPE_UDP
bind = VirtualRNGDevice.BACKEND_MODE_BIND in dev.backend_mode()
set_visible("rng-device", not is_egd)
set_visible("rng-mode", is_egd and not udp)
set_visible("rng-backend-type", is_egd)
set_visible("rng-connect-host", is_egd and (udp or not bind))
set_visible("rng-connect-service", is_egd and (udp or not bind))
set_visible("rng-bind-host", is_egd and (udp or bind))
set_visible("rng-bind-service", is_egd and (udp or bind))
for k, prop in values.items():
val = "-"
@ -3111,6 +3119,10 @@ class vmmDetails(vmmGObjectUI):
val = r(val)
self.widget(k).set_text(val)
if is_egd and not udp:
mode = VirtualRNGDevice.get_pretty_mode(dev.backend_mode()[0])
self.widget("rng-mode").set_text(mode)
def refresh_char_page(self):
chardev = self.get_hw_selection(HW_LIST_COL_DEVICE)
if not chardev: