[ontv] ProgramDialog rewritten to stop depending on libglade



commit 8bba585d42266469e9f4ac375c6578066309f964
Author: Olof Kindgren <olki src gnome org>
Date:   Sun Jan 3 21:52:22 2010 +0100

    ProgramDialog rewritten to stop depending on libglade

 ontv/dialogs.py |   46 +++++++++++++++-------------------------------
 1 files changed, 15 insertions(+), 31 deletions(-)
---
diff --git a/ontv/dialogs.py b/ontv/dialogs.py
index 6ba0684..512541b 100644
--- a/ontv/dialogs.py
+++ b/ontv/dialogs.py
@@ -637,42 +637,26 @@ class PreferencesDialog:
 
 class ProgramDialog:
     def __init__(self, program):
-        self.__get_widgets()
-        self.__connect_widgets()
-        self.name_label.set_text(program.title)
-        self.channel_label.set_text(program.channel.name)
-        self.description_label.set_text(program.description)
-        self.air_time_label.set_text(("%s-%s\n%s") %
+        builder = gtk.Builder()
+        builder.add_from_file(gui.ui_file)
+
+        self.dialog = builder.get_object("program_dialog")
+        self.dialog.connect("response", lambda d, r: d.destroy())
+        self.dialog.set_title(_("Details about %s") % program.title)
+
+        builder.get_object("name_label").set_text(program.title)
+        builder.get_object("channel_label").set_text(program.channel.name)
+        builder.get_object("description_label").set_text(program.description)
+        builder.get_object("air_time_label").set_text(("%s-%s\n%s") %
                                       (program.start_time, program.stop_time,
                                        program.date))
 
-        self.dialog.set_title(_("Details about %s") % program.title)
+        channel_image = builder.get_object("channel_image")
         if program.channel.logo:
-            self.channel_image.set_from_pixbuf(program.channel.logo)
+            channel_image.set_from_pixbuf(program.channel.logo)
         else:
-            self.channel_image.set_from_icon_name(NAME.lower(),
-                                                  gtk.ICON_SIZE_DIALOG)
-
-    def __get_widgets(self):
-        xml = gtk.glade.XML(gui.glade_file, domain=NAME.lower())
-
-        self.dialog = xml.get_widget("program_dialog")
-
-        self.name_label = xml.get_widget("name_label")
-        self.channel_image = xml.get_widget("channel_image")
-        self.channel_label = xml.get_widget("channel_label")
-        self.description_label = xml.get_widget("description_label")
-        self.air_time_label = xml.get_widget("air_time_label")
-
-    def __connect_widgets(self):
-        self.dialog.connect("delete-event", self.__dialog_delete)
-        self.dialog.connect("response", self.__dialog_response)
-
-    def __dialog_response(self, dialog, response):
-        self.dialog.destroy()
-
-    def __dialog_delete(self, dialog, event):
-        return True
+            channel_image.set_from_icon_name(NAME.lower(),
+                                             gtk.ICON_SIZE_DIALOG)
 
     def show(self):
         self.dialog.show()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]