[ontv] Code cleanup in dialogs.py
- From: Olof Kindgren <olki src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ontv] Code cleanup in dialogs.py
- Date: Sun, 26 Sep 2010 13:41:44 +0000 (UTC)
commit 30c431ea844dc47d9737538811834186a4526926
Author: Olof Kindgren <olki src gnome org>
Date: Thu Sep 16 08:58:34 2010 +0200
Code cleanup in dialogs.py
Moved stuff to preferences_dialog.ui
data/preferences_dialog.ui | 52 +++++++++++++++++++++++++++++
ontv/dialogs.py | 78 ++++++++++++-------------------------------
2 files changed, 74 insertions(+), 56 deletions(-)
---
diff --git a/data/preferences_dialog.ui b/data/preferences_dialog.ui
index b9b9f4d..bba1591 100644
--- a/data/preferences_dialog.ui
+++ b/data/preferences_dialog.ui
@@ -2,6 +2,13 @@
<interface>
<!-- interface-requires gtk+ 2.12 -->
<!-- interface-naming-policy toplevel-contextual -->
+ <object class="GtkTreeModelFilter" id="treemodelfilter1"/>
+ <object class="GtkListStore" id="channels_model">
+ <columns>
+ <!-- column-name col_obj -->
+ <column type="PyObject"/>
+ </columns>
+ </object>
<object class="GtkDialog" id="preferences_dialog">
<property name="width_request">530</property>
<property name="height_request">520</property>
@@ -58,6 +65,7 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
+ <signal name="clicked" handler="on_browse_button_clicked"/>
</object>
<packing>
<property name="left_attach">2</property>
@@ -73,6 +81,8 @@
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="invisible_char">●</property>
+ <signal name="changed" handler="on_output_file_entry_changed"/>
+ <signal name="activate" handler="on_output_file_entry_activate"/>
</object>
<packing>
<property name="left_attach">1</property>
@@ -100,6 +110,8 @@
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="invisible_char">●</property>
+ <signal name="changed" handler="on_grabber_command_entry_changed"/>
+ <signal name="activate" handler="on_grabber_command_entry_activate"/>
</object>
<packing>
<property name="left_attach">1</property>
@@ -163,6 +175,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_current_programs_checkbutton_toggled"/>
</object>
<packing>
<property name="expand">False</property>
@@ -178,6 +191,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_upcoming_programs_checkbutton_toggled"/>
</object>
<packing>
<property name="expand">False</property>
@@ -217,6 +231,7 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_upcoming_programs_below_radiobutton_toggled"/>
</object>
<packing>
<property name="position">0</property>
@@ -317,8 +332,45 @@
<object class="GtkTreeView" id="channels_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="model">channels_model</property>
<property name="headers_visible">False</property>
<property name="rules_hint">True</property>
+ <property name="search_column">2</property>
+ <signal name="row_activated" handler="on_channels_treeview_row_activated"/>
+ <child>
+ <object class="GtkTreeViewColumn" id="col_ch_selected">
+ <property name="title">Selected</property>
+ <child>
+ <object class="GtkCellRendererToggle" id="cr_toggle">
+ <property name="xpad">6</property>
+ <property name="ypad">3</property>
+ <signal name="toggled" handler="on_channels_treeview_toggled" object="channels_model"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="col_ch_logo">
+ <property name="title">Logo</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="cr_logo">
+ <property name="xpad">3</property>
+ <property name="ypad">3</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="col_ch_name">
+ <property name="title">Channel</property>
+ <child>
+ <object class="GtkCellRendererText" id="cr_name">
+ <property name="xpad">3</property>
+ <property name="ypad">3</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
diff --git a/ontv/dialogs.py b/ontv/dialogs.py
index f759456..5c29b04 100644
--- a/ontv/dialogs.py
+++ b/ontv/dialogs.py
@@ -172,8 +172,6 @@ class PreferencesDialog:
self.upcoming_programs_below_radiobutton.set_active(True)
else:
self.upcoming_programs_right_radiobutton.set_active(True)
- self.channels_image.set_from_stock(gtk.STOCK_DIALOG_INFO,
- gtk.ICON_SIZE_DIALOG)
self.__auto_reload_id = None
@@ -181,14 +179,13 @@ class PreferencesDialog:
builder = gtk.Builder()
builder.set_translation_domain(NAME.lower())
builder.add_from_file(gui.preferences_dialog_ui_file)
+ builder.connect_signals(self)
self.dialog = builder.get_object("preferences_dialog")
- self.notebook = builder.get_object("notebook")
# General tab
self.grabber_command_entry = builder.get_object("grabber_command_entry")
self.output_file_entry = builder.get_object("output_file_entry")
- self.browse_button = builder.get_object("browse_button")
self.current_programs_checkbutton = builder.get_object("current_programs_checkbutton")
self.upcoming_programs_checkbutton = builder.get_object("upcoming_programs_checkbutton")
self.position_hbox = builder.get_object("position_hbox")
@@ -197,7 +194,15 @@ class PreferencesDialog:
# Channels tab
self.channels_treeview = builder.get_object("channels_treeview")
- self.channels_image = builder.get_object("channels_image")
+
+ self.channels_model = builder.get_object("channels_model")
+
+ builder.get_object("col_ch_selected").set_cell_data_func(builder.get_object("cr_toggle"),
+ self.__crtoggle_cell_data_func)
+ builder.get_object("col_ch_logo").set_cell_data_func(builder.get_object("cr_logo"),
+ self.__crpixbuf_cell_data_func)
+ builder.get_object("col_ch_name").set_cell_data_func(builder.get_object("cr_name"),
+ self.__crtext_cell_data_func)
# Reminders tab
self.reminders_treeview = builder.get_object("reminders_treeview")
@@ -208,37 +213,10 @@ class PreferencesDialog:
self.update_reminder_button = builder.get_object("update_reminder_button")
self.remove_reminder_button = builder.get_object("remove_reminder_button")
+
def __make_channels_treeview(self):
- self.channels_model = gtk.ListStore(object)
self.channels_model.set_sort_func(0, self.__channels_model_sort_func)
self.channels_model.set_sort_column_id(0, gtk.SORT_ASCENDING)
- self.channels_treeview.set_model(self.channels_model)
-
- crtoggle = gtk.CellRendererToggle()
- crtoggle.props.xpad = 6
- crtoggle.props.ypad = 3
- crtoggle.props.activatable = True
- crtoggle.connect("toggled", self.__channels_treeview_toggled,
- self.channels_model)
- selected_column = gtk.TreeViewColumn("Selected", crtoggle)
- selected_column.set_cell_data_func(crtoggle,
- self.__crtoggle_cell_data_func)
- self.channels_treeview.append_column(selected_column)
-
- crpixbuf = gtk.CellRendererPixbuf()
- crpixbuf.props.xpad = 3
- crpixbuf.props.ypad = 3
- logo_column = gtk.TreeViewColumn("Logo", crpixbuf)
- logo_column.set_cell_data_func(crpixbuf, self.__crpixbuf_cell_data_func)
- self.channels_treeview.append_column(logo_column)
-
- crtext = gtk.CellRendererText()
- crtext.props.xpad = 3
- crtext.props.ypad = 3
- channel_column = gtk.TreeViewColumn("Channel", crtext)
- channel_column.set_cell_data_func(crtext, self.__crtext_cell_data_func)
- self.channels_treeview.append_column(channel_column)
- self.channels_treeview.set_search_column(2)
self.channels_treeview.set_search_equal_func(self.__channels_treeview_search_equal)
self.channels_treeview_menu = gtk.Menu()
@@ -254,7 +232,7 @@ class PreferencesDialog:
return utils.natcmp(channel.name.lower(), other_channel.name.lower())
return utils.natcmp(channel.lower(), other_channel.lower())
- def __channels_treeview_toggled(self, cell, path, model):
+ def on_channels_treeview_toggled(self, model, path):
channel = model[path][0]
channel.selected = not channel.selected
if channel.selected:
@@ -331,19 +309,7 @@ class PreferencesDialog:
self.dialog.connect("delete-event", self.__dialog_delete)
self.dialog.connect("response", self.__dialog_response)
- # General tab
- self.grabber_command_entry.connect("changed", self.__grabber_command_entry_changed)
- self.grabber_command_entry.connect("activate", self.__grabber_command_entry_activated)
- self.output_file_entry.connect("changed", self.__output_file_entry_changed)
- self.output_file_entry.connect("activate", self.__output_file_entry_activated)
- self.browse_button.connect("clicked", self.__browse_button_clicked)
- self.current_programs_checkbutton.connect("toggled", self.__current_programs_checkbutton_toggled)
- self.upcoming_programs_checkbutton.connect("toggled", self.__upcoming_programs_checkbutton_toggled)
- self.upcoming_programs_below_radiobutton.connect("toggled", self.__upcoming_programs_below_radiobutton_toggled)
-
# Channels tab
- self.channels_treeview.connect("row-activated",
- self.__channels_treeview_row_activated)
self.channels_treeview.connect("button-press-event",
self.__channels_treeview_button_press,
self.channels_treeview_menu)
@@ -375,19 +341,19 @@ class PreferencesDialog:
def __dialog_delete(self, dialog, event):
return True
- def __grabber_command_entry_changed(self, entry):
+ def on_grabber_command_entry_changed(self, entry):
self.config.grabber_command = entry.get_text()
- def __grabber_command_entry_activated(self, entry):
+ def on_grabber_command_entry_activate(self, entry):
self.xmltvfile.download()
- def __output_file_entry_changed(self, entry):
+ def on_output_file_entry_changed(self, entry):
self.config.xmltv_file = entry.get_text()
- def __output_file_entry_activated(self, entry):
+ def on_output_file_entry_activate(self, entry):
self.xmltvfile.load()
- def __browse_button_clicked(self, button):
+ def on_browse_button_clicked(self, button):
xml_filter = gtk.FileFilter()
xml_filter.set_name(_("XML files"))
xml_filter.add_pattern("text/xml")
@@ -401,20 +367,20 @@ class PreferencesDialog:
elif response == gtk.RESPONSE_CANCEL:
fd.hide()
- def __current_programs_checkbutton_toggled(self, checkbutton):
+ def on_current_programs_checkbutton_toggled(self, checkbutton):
self.config.display_current_programs = checkbutton.get_active()
- def __upcoming_programs_checkbutton_toggled(self, checkbutton):
+ def on_upcoming_programs_checkbutton_toggled(self, checkbutton):
active = checkbutton.get_active()
self.config.display_upcoming_programs = active
self.position_hbox.set_sensitive(active)
- def __upcoming_programs_below_radiobutton_toggled(self, radiobutton):
+ def on_upcoming_programs_below_radiobutton_toggled(self, radiobutton):
active = radiobutton.get_active()
self.config.upcoming_programs_below = active
- def __channels_treeview_row_activated(self, treeview, path, column):
- self.__channels_treeview_toggled(None, path, self.channels_model)
+ def on_channels_treeview_row_activated(self, treeview, path, column):
+ self.on_channels_treeview_toggled(None, path, self.channels_model)
def __channels_treeview_button_press(self, treeview, event, menu):
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]