diff --git a/virtManager/delete.py b/virtManager/delete.py index 2a1f55877..f51a15bc9 100644 --- a/virtManager/delete.py +++ b/virtManager/delete.py @@ -30,9 +30,7 @@ STORAGE_ROW_ICON_SIZE = 6 STORAGE_ROW_TOOLTIP = 7 -class vmmDeleteDialog(vmmGObjectUI): - - disk = None +class _vmmDeleteBase(vmmGObjectUI): @classmethod def show_instance(cls, parentobj, vm): try: @@ -46,6 +44,7 @@ class vmmDeleteDialog(vmmGObjectUI): def __init__(self): vmmGObjectUI.__init__(self, "delete.ui", "vmm-delete") self.vm = None + self.disk = None self.builder.connect_signals({ "on_vmm_delete_delete_event": self.close, @@ -58,6 +57,9 @@ class vmmDeleteDialog(vmmGObjectUI): self._init_state() + def _get_dialog_title(self): + raise NotImplementedError + def _init_state(self): blue = Gdk.Color.parse("#0072A8")[1] self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue) @@ -77,8 +79,6 @@ class vmmDeleteDialog(vmmGObjectUI): self._set_vm(None) return 1 - def set_disk(self, disk): - self.disk = disk def _cleanup(self): pass @@ -99,10 +99,7 @@ class vmmDeleteDialog(vmmGObjectUI): def _reset_state(self): # Set VM name or disk.target in title' - if self.disk: - text = self.disk.target - else: - text = self.vm.get_name() + text = self._get_dialog_title() title_str = ("%s '%s'" % (_("Delete"), xmlutil.xml_escape(text))) @@ -282,6 +279,20 @@ class vmmDeleteDialog(vmmGObjectUI): vm.remove_device(dev) +class vmmDeleteDialog(_vmmDeleteBase): + def _get_dialog_title(self): + return self.vm.get_name() + + +class vmmDeleteStorage(_vmmDeleteBase): + def __init__(self, disk): + _vmmDeleteBase.__init__(self) + self.disk = disk + + def _get_dialog_title(self): + return self.disk.target + + ################### # UI init helpers # ################### diff --git a/virtManager/details/details.py b/virtManager/details/details.py index 339924ff3..01458dd84 100644 --- a/virtManager/details/details.py +++ b/virtManager/details/details.py @@ -1115,9 +1115,8 @@ class vmmDetails(vmmGObjectUI): self.remove_device(devobj) def remove_disk(self, disk): - from ..delete import vmmDeleteDialog - dialog = vmmDeleteDialog() - dialog.set_disk(disk) + from ..delete import vmmDeleteStorage + dialog = vmmDeleteStorage(disk) dialog.show(self.topwin, self.vm) def remove_xml_dev(self, src_ignore):