[virt-tools-list] [PATCH 1/2] error: new helper function to embed customized widget into dialog
Guannan Ren
gren at redhat.com
Mon Jun 24 10:11:01 UTC 2013
helper function: show_info_with_widget()
Widget argument has to be type of Gtk.VBox
---
virtManager/error.py | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/virtManager/error.py b/virtManager/error.py
index e30d121..cbaf51a 100644
--- a/virtManager/error.py
+++ b/virtManager/error.py
@@ -28,11 +28,15 @@ from virtManager.baseclass import vmmGObject
def _launch_dialog(dialog, primary_text, secondary_text, title,
- sync=True):
+ widget=None, sync=True):
dialog.set_property("text", primary_text)
dialog.format_secondary_text(secondary_text or None)
dialog.set_title(title)
+ if widget:
+ # widget is of type Gtk.VBox
+ dialog.get_content_area().add(widget)
+
res = False
if sync:
res = dialog.run()
@@ -92,7 +96,7 @@ class vmmErrorDialog(vmmGObject):
###################################
def _simple_dialog(self, dialog_type, buttons, text1,
- text2, title, async=False):
+ text2, title, widget=None, async=False):
dialog = Gtk.MessageDialog(self.get_parent(),
flags=Gtk.DialogFlags.DESTROY_WITH_PARENT,
@@ -104,6 +108,7 @@ class vmmErrorDialog(vmmGObject):
return _launch_dialog(self._simple,
text1, text2 or "", title or "",
+ widget=widget,
sync=not async)
def val_err(self, text1, text2=None, title=_("Input Error"), async=True):
@@ -121,13 +126,19 @@ class vmmErrorDialog(vmmGObject):
self._simple_dialog(dtype, buttons,
str(text1),
text2 and str(text2) or "",
- str(title), async)
+ str(title), None, async)
return False
def show_info(self, text1, text2=None, title="", async=True):
dtype = Gtk.MessageType.INFO
buttons = Gtk.ButtonsType.OK
- self._simple_dialog(dtype, buttons, text1, text2, title, async)
+ self._simple_dialog(dtype, buttons, text1, text2, title, None, async)
+ return False
+
+ def show_info_with_widget(self, text1, widget, text2=None, title="", async=True):
+ dtype = Gtk.MessageType.INFO
+ buttons = Gtk.ButtonsType.OK
+ self._simple_dialog(dtype, buttons, text1, text2, title, widget, async)
return False
def yes_no(self, text1, text2=None, title=None):
--
1.8.1.4
More information about the virt-tools-list
mailing list