Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx> --- ui/details.ui | 144 +++++++++++++++++++++++++++++-------------------- virtManager/details.py | 38 ++++++++----- 2 files changed, 111 insertions(+), 71 deletions(-) diff --git a/ui/details.ui b/ui/details.ui index a37544c..88ad9e1 100644 --- a/ui/details.ui +++ b/ui/details.ui @@ -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"> @@ -6655,11 +6627,25 @@ </packing> </child> <child> - <object class="GtkLabel" id="rng-host"> + <object class="GtkLabel" id="rng-label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Backend type:</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-backend-type"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> - <property name="label">rng-host</property> + <property name="label">rng-backend-type</property> </object> <packing> <property name="left_attach">1</property> @@ -6669,25 +6655,25 @@ </packing> </child> <child> - <object class="GtkLabel" id="rng-label2"> + <object class="GtkLabel" id="rng-label7"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">1</property> - <property name="label" translatable="yes">Host:</property> + <property name="label" translatable="yes">Mode:</property> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">2</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-service"> + <object class="GtkLabel" id="rng-mode"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> - <property name="label">rng-service</property> + <property name="label">rng-mode</property> </object> <packing> <property name="left_attach">1</property> @@ -6697,53 +6683,81 @@ </packing> </child> <child> - <object class="GtkLabel" id="rng-label3"> + <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">Service:</property> + <property name="label" translatable="yes">Host:</property> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">3</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-label4"> + <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">Backend type:</property> + <property name="label" translatable="yes">Service:</property> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">4</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-backend-type"> + <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-backend-type</property> + <property name="label">rng-connect-service</property> </object> <packing> <property name="left_attach">1</property> - <property name="top_attach">4</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-rate-period"> + <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-rate-period</property> + <property name="label">rng-bind-host</property> </object> <packing> <property name="left_attach">1</property> @@ -6753,43 +6767,57 @@ </packing> </child> <child> - <object class="GtkLabel" id="rng-label6"> + <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">Rate (period):</property> + <property name="label" translatable="yes">Bind Service:</property> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">6</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-label7"> + <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">Mode:</property> + <property name="label" translatable="yes">Rate (period):</property> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">5</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-mode"> + <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-mode</property> + <property name="label">rng-rate-period</property> </object> <packing> <property name="left_attach">1</property> - <property name="top_attach">5</property> + <property name="top_attach">8</property> <property name="width">1</property> <property name="height">1</property> </packing> @@ -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> diff --git a/virtManager/details.py b/virtManager/details.py index 2878612..bb280bf 100644 --- a/virtManager/details.py +++ b/virtManager/details.py @@ -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: -- 1.8.3.1 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list