mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-02 09:47:16 +03:00
fsdetails: Fix error reporting
The UI file layout meant we were trying to use a gtk.Grid object as the error dialog parent. Rework things to behave like snapshots.py
This commit is contained in:
parent
889ec18031
commit
9d922f56df
@ -72,6 +72,9 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
|
||||
self._dev = None
|
||||
|
||||
self.fsDetails = vmmFSDetails(vm, self.builder, self.topwin)
|
||||
self.widget("fs-box").add(self.fsDetails.top_box)
|
||||
|
||||
self.builder.connect_signals({
|
||||
"on_create_cancel_clicked" : self.close,
|
||||
"on_vmm_create_delete_event" : self.close,
|
||||
@ -102,11 +105,6 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
})
|
||||
self.bind_escape_key_close()
|
||||
|
||||
self.fsDetails = vmmFSDetails(vm)
|
||||
fsbox = self.widget("fs-box")
|
||||
fsbox.add(self.fsDetails.topwin)
|
||||
self.fsDetails.topwin.show_all()
|
||||
|
||||
self.set_initial_state()
|
||||
|
||||
def show(self, parent):
|
||||
@ -294,9 +292,6 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
combo = self.widget("watchdog-action")
|
||||
self.build_watchdogaction_combo(self.vm, combo)
|
||||
|
||||
# Filesystem widgets
|
||||
self.fsDetails.set_initial_state()
|
||||
|
||||
# Smartcard widgets
|
||||
combo = self.widget("smartcard-mode")
|
||||
self.build_smartcard_mode_combo(self.vm, combo)
|
||||
@ -1856,7 +1851,8 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
return self.err.val_err(_("Watchdog parameter error"), e)
|
||||
|
||||
def validate_page_filesystem(self):
|
||||
self.fsDetails.validate_page_filesystem()
|
||||
if self.fsDetails.validate_page_filesystem() is False:
|
||||
return False
|
||||
self._dev = self.fsDetails.get_dev()
|
||||
|
||||
def validate_page_smartcard(self):
|
||||
|
@ -381,6 +381,11 @@ class vmmDetails(vmmGObjectUI):
|
||||
self.snapshots = vmmSnapshotPage(self.vm, self.builder, self.topwin)
|
||||
self.widget("snapshot-placeholder").add(self.snapshots.top_box)
|
||||
|
||||
self.fsDetails = vmmFSDetails(self.vm, self.builder, self.topwin)
|
||||
self.widget("fs-alignment").add(self.fsDetails.top_box)
|
||||
self.fsDetails.connect("changed",
|
||||
lambda *x: self.enable_apply(x, EDIT_FS))
|
||||
|
||||
# Set default window size
|
||||
w, h = self.vm.get_details_window_size()
|
||||
self.topwin.set_default_size(w or 800, h or 600)
|
||||
@ -546,13 +551,6 @@ class vmmDetails(vmmGObjectUI):
|
||||
self.vm.connect("config-changed", self.refresh_vm_state)
|
||||
self.vm.connect("resources-sampled", self.refresh_resources)
|
||||
|
||||
self.fsDetails = vmmFSDetails(self.vm)
|
||||
self.fsDetails.set_initial_state()
|
||||
fsAlignment = self.widget("fs-alignment")
|
||||
fsAlignment.add(self.fsDetails.topwin)
|
||||
self.fsDetails.connect("changed", lambda *x: self.enable_apply(x,
|
||||
EDIT_FS))
|
||||
|
||||
self.populate_hw_list()
|
||||
self.repopulate_boot_list()
|
||||
|
||||
@ -593,8 +591,6 @@ class vmmDetails(vmmGObjectUI):
|
||||
if vis:
|
||||
return
|
||||
|
||||
self.fsDetails.topwin.show_all()
|
||||
|
||||
self.emit("details-opened")
|
||||
self.refresh_vm_state()
|
||||
|
||||
@ -2221,7 +2217,8 @@ class vmmDetails(vmmGObjectUI):
|
||||
ignore = add_hotplug
|
||||
|
||||
if self.edited(EDIT_FS):
|
||||
self.fsDetails.validate_page_filesystem()
|
||||
if self.fsDetails.validate_page_filesystem() is False:
|
||||
return False
|
||||
add_define(self.vm.define_filesystem, dev_id_info,
|
||||
self.fsDetails.get_dev())
|
||||
|
||||
|
@ -36,8 +36,9 @@ class vmmFSDetails(vmmGObjectUI):
|
||||
"changed": (GObject.SignalFlags.RUN_FIRST, None, [])
|
||||
}
|
||||
|
||||
def __init__(self, vm):
|
||||
vmmGObjectUI.__init__(self, "fsdetails.ui", "vmm-fs-details")
|
||||
def __init__(self, vm, builder, topwin):
|
||||
vmmGObjectUI.__init__(self, "fsdetails.ui",
|
||||
None, builder=builder, topwin=topwin)
|
||||
|
||||
self.vm = vm
|
||||
self.conn = vm.conn
|
||||
@ -58,6 +59,9 @@ class vmmFSDetails(vmmGObjectUI):
|
||||
"on_fs_target_changed": self.notify_change,
|
||||
})
|
||||
|
||||
self.set_initial_state()
|
||||
self.top_box = self.widget("vmm-fs-details")
|
||||
|
||||
def _cleanup(self):
|
||||
self.vm = None
|
||||
self.conn = None
|
||||
|
Loading…
x
Reference in New Issue
Block a user