From cae9e95f127bb8d5857d5b8dcf45ce934c82fb11 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 19 Jan 2010 14:09:43 -0500 Subject: [PATCH] util: Break out common function to conditionally set gtk property --- src/virtManager/error.py | 10 +++++----- src/virtManager/util.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/virtManager/error.py b/src/virtManager/error.py index d8c090b18..10962f121 100644 --- a/src/virtManager/error.py +++ b/src/virtManager/error.py @@ -22,14 +22,14 @@ import gtk.glade import logging +import virtManager.util as util + def safe_set_text(self, text): - try: - # pygtk < 2.10 doesn't support test property - self.get_property("text") - self.set_property("text", text) - except TypeError: + # pygtk < 2.10 doesn't support test property + if not util.safe_set_prop(self, "text", text): self.set_markup(text) + class vmmErrorDialog (gtk.MessageDialog): def __init__ (self, parent=None, flags=0, typ=gtk.MESSAGE_INFO, buttons=gtk.BUTTONS_NONE, message_format=None, diff --git a/src/virtManager/util.py b/src/virtManager/util.py index 1e5bd5b27..4300f40d5 100644 --- a/src/virtManager/util.py +++ b/src/virtManager/util.py @@ -261,3 +261,17 @@ def bind_escape_key_close(vmmobj): vmmobj.close() vmmobj.topwin.connect("key-press-event", close_on_escape) + +def safe_set_prop(self, prop, value): + """ + Make sure a gtk property is supported, and set to value + + Return True if property was sucessfully set, False otherwise + """ + + try: + self.get_property(prop) + self.set_property(prop, value) + return True + except TypeError: + return False