mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-01-24 15:26:36 -06:00
virt-manager: add support for showing panic notifier device
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
This commit is contained in:
parent
8419835b1d
commit
a90a375bda
114
ui/details.ui
114
ui/details.ui
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.16.0 on Wed Dec 4 18:33:33 2013 -->
|
||||
<interface>
|
||||
<!-- interface-requires gtk+ 3.0 -->
|
||||
<object class="GtkAccelGroup" id="accelgroup1"/>
|
||||
@ -1385,8 +1384,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"/>
|
||||
@ -2167,7 +2166,6 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="vexpand">False</property>
|
||||
<signal name="clicked" handler="on_cpu_copy_host_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
@ -6945,6 +6943,116 @@
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame17">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">none</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment5">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="left_padding">12</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment10">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="top_padding">3</property>
|
||||
<property name="left_padding">8</property>
|
||||
<child>
|
||||
<object class="GtkGrid" id="table_panic">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="row_spacing">4</property>
|
||||
<property name="column_spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label95">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="ypad">3</property>
|
||||
<property name="label" translatable="yes">Address T_ype:</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label96">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">_IO Base:</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="panic-type">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">panic-address-type</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="panic-iobase">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">panic-iobase</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="width">1</property>
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="label94">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><b>Panic Notifier</b></property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">20</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel" id="label93">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">panic</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">20</property>
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
|
@ -126,7 +126,8 @@ EDIT_TPM_TYPE,
|
||||
HW_LIST_TYPE_SMARTCARD,
|
||||
HW_LIST_TYPE_REDIRDEV,
|
||||
HW_LIST_TYPE_TPM,
|
||||
HW_LIST_TYPE_RNG) = range(20)
|
||||
HW_LIST_TYPE_RNG,
|
||||
HW_LIST_TYPE_PANIC) = range(21)
|
||||
|
||||
remove_pages = [HW_LIST_TYPE_NIC, HW_LIST_TYPE_INPUT,
|
||||
HW_LIST_TYPE_GRAPHICS, HW_LIST_TYPE_SOUND, HW_LIST_TYPE_CHAR,
|
||||
@ -134,7 +135,7 @@ remove_pages = [HW_LIST_TYPE_NIC, HW_LIST_TYPE_INPUT,
|
||||
HW_LIST_TYPE_WATCHDOG, HW_LIST_TYPE_CONTROLLER,
|
||||
HW_LIST_TYPE_FILESYSTEM, HW_LIST_TYPE_SMARTCARD,
|
||||
HW_LIST_TYPE_REDIRDEV, HW_LIST_TYPE_TPM,
|
||||
HW_LIST_TYPE_RNG]
|
||||
HW_LIST_TYPE_RNG, HW_LIST_TYPE_PANIC]
|
||||
|
||||
# Boot device columns
|
||||
(BOOT_DEV_TYPE,
|
||||
@ -1214,6 +1215,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
self.refresh_tpm_page()
|
||||
elif pagetype == HW_LIST_TYPE_RNG:
|
||||
self.refresh_rng_page()
|
||||
elif pagetype == HW_LIST_TYPE_PANIC:
|
||||
self.refresh_panic_page()
|
||||
else:
|
||||
pagetype = -1
|
||||
except Exception, e:
|
||||
@ -3098,6 +3101,22 @@ class vmmDetails(vmmGObjectUI):
|
||||
# Device type specific properties, only show if apply to the cur dev
|
||||
show_ui("device_path")
|
||||
|
||||
def refresh_panic_page(self):
|
||||
dev = self.get_hw_selection(HW_LIST_COL_DEVICE)
|
||||
if not dev:
|
||||
return
|
||||
|
||||
def show_ui(param, val=None):
|
||||
widgetname = "panic-" + param.replace("_", "-")
|
||||
if not val:
|
||||
val = getattr(dev, param)
|
||||
|
||||
uihelpers.set_grid_row_visible(self.widget(widgetname), True)
|
||||
self.widget(widgetname).set_text(val or "-")
|
||||
|
||||
show_ui("type")
|
||||
show_ui("iobase")
|
||||
|
||||
def refresh_rng_page(self):
|
||||
dev = self.get_hw_selection(HW_LIST_COL_DEVICE)
|
||||
values = {
|
||||
@ -3622,6 +3641,11 @@ class vmmDetails(vmmGObjectUI):
|
||||
update_hwlist(HW_LIST_TYPE_RNG, rng,
|
||||
_("RNG"), "system-run")
|
||||
|
||||
# Populate list of Panic devices
|
||||
for rng in self.vm.get_panic_devices():
|
||||
update_hwlist(HW_LIST_TYPE_PANIC, rng,
|
||||
_("Panic Notifier"), "system-run")
|
||||
|
||||
devs = range(len(hw_list_model))
|
||||
devs.reverse()
|
||||
for i in devs:
|
||||
|
@ -60,6 +60,7 @@ def compare_device(origdev, newdev, idx):
|
||||
"redirdev" : ["bus" , "type", "vmmindex"],
|
||||
"tpm" : ["type" , "vmmindex"],
|
||||
"rng" : ["type" , "vmmindex"],
|
||||
"panic" : ["type" , "vmmindex"],
|
||||
}
|
||||
|
||||
if id(origdev) == id(newdev):
|
||||
@ -1132,6 +1133,8 @@ class vmmDomain(vmmLibvirtObject):
|
||||
return self._build_device_list("tpm")
|
||||
def get_rng_devices(self):
|
||||
return self._build_device_list("rng")
|
||||
def get_panic_devices(self):
|
||||
return self._build_device_list("panic")
|
||||
|
||||
def get_disk_devices(self, refresh_if_nec=True, inactive=False):
|
||||
devs = self._build_device_list("disk", refresh_if_nec, inactive)
|
||||
|
Loading…
Reference in New Issue
Block a user