~ubuntu-branches/ubuntu/karmic/ontv/karmic

« back to all changes in this revision

Viewing changes to ontv/SearchDialog.py

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Guitton
  • Date: 2008-04-07 00:48:03 UTC
  • mfrom: (1.1.6 upstream) (2.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080407004803-6swpemlxhg2pdw09
Tags: 3.0.0-2
Added gnome-control-center-dev  and removed
libgnome-settings-daemon-dev, gnome-control-center,
from Build-Depends. Closes: #473938.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
import gobject
25
25
 
26
26
import GUI
 
27
from GUI import ProgramContextMenu
27
28
from ProgramDialog import ProgramDialog
28
29
from Reminders import Reminder
29
30
from ontv import NAME
80
81
        program_column.set_cell_data_func(crtext, self.__crtext_cell_data_func)
81
82
        self.search_treeview.append_column(program_column)
82
83
 
83
 
        self.search_treeview_menu = gtk.Menu()
84
 
        self.details_imi = gtk.ImageMenuItem(gtk.STOCK_INFO)
85
 
        self.details_imi.child.set_markup_with_mnemonic(_("_Details"))
86
 
        self.details_imi.show()
87
 
        self.search_treeview_menu.append(self.details_imi)
88
 
 
89
 
        self.add_reminder_imi = gtk.ImageMenuItem("gnome-stock-timer")
90
 
        self.add_reminder_imi.child.set_markup_with_mnemonic(_("_Add reminder"))
91
 
        self.add_reminder_imi.show()
92
 
        self.search_treeview_menu.append(self.add_reminder_imi)
93
 
 
94
84
    def __crt_cell_data_func(self, column, cell, model, iter):
95
85
        program = model.get_value(iter, 0)
96
86
        markup = "<b>%s-%s</b>\n<i>%s</i>"
112
102
        selection.connect("changed", self.__search_treeview_selection_changed)
113
103
        self.search_treeview.connect("row-activated",
114
104
                                     self.__search_treeview_row_activated)
115
 
        self.search_treeview.connect("button-press-event",
116
 
                                     self.__search_treeview_button_press,
117
 
                                     self.search_treeview_menu)
118
 
        self.details_imi.connect("activate", self.__details_imi_activate)
119
 
        self.add_reminder_imi.connect("activate",
120
 
                                      self.__add_reminder_imi_activate)
121
105
 
122
106
        self.close_button.connect("clicked", self.__close_button_clicked)
123
107
        self.details_button.connect("clicked", self.__details_button_clicked)
168
152
            reminder = Reminder(program.title,
169
153
                                program.channel.markup_escaped_name)
170
154
            if not reminder in self.reminders.reminders:
171
 
                self.add_reminder_imi.set_sensitive(True)
 
155
                self.search_treeview_menu.add_reminder_imi.set_sensitive(True)
172
156
            else:
173
 
                self.add_reminder_imi.set_sensitive(False)
 
157
                self.search_treeview_menu.add_reminder_imi.set_sensitive(False)
174
158
        else:
175
159
            self.details_button.set_sensitive(False)
176
 
            self.add_reminder_imi.set_sensitive(False)
 
160
            self.search_treeview_menu.add_reminder_imi.set_sensitive(False)
177
161
 
178
162
    def __search_treeview_row_activated(self, treeview, path, column):
179
163
        self.details_button.emit("clicked")
184
168
            path = treeview.get_path_at_pos(int(event.x), int(event.y))[0]
185
169
            program = search_model[path][0]
186
170
            if program.description and program.description != "":
187
 
                self.details_imi.set_sensitive(True)
 
171
                self.search_treeview_menu.details_imi.set_sensitive(True)
188
172
            else:
189
 
                self.details_imi.set_sensitive(False)
 
173
                self.search_treeview_menu.details_imi.set_sensitive(False)
190
174
 
191
175
            menu.popup(None, None, None, event.button, event.time)
192
176
 
193
 
    def __details_imi_activate(self, menuitem):
194
 
        program = GUI.get_selected_value(self.search_treeview)
195
 
        self.__show_program_dialog(program)
196
 
 
197
 
    def __add_reminder_imi_activate(self, menuitem):
198
 
        program = GUI.get_selected_value(self.search_treeview)
199
 
        reminder = Reminder(program.title, program.channel.markup_escaped_name)
200
 
        if self.reminders.add(reminder):
201
 
            self.reminders_model.append([reminder])
202
 
            self.reminders.save()
203
 
            self.add_reminder_imi.set_sensitive(False)
204
 
 
205
177
    def __close_button_clicked(self, button):
206
178
        self.dialog.hide()
207
179
 
227
199
                break
228
200
            channels_iter = channels_model.iter_next(channels_iter)
229
201
 
 
202
    def create_search_treeview_menu(self, reminders_model):
 
203
        self.search_treeview_menu = ProgramContextMenu(self.get_program,
 
204
                                                       self.reminders,
 
205
                                                       reminders_model)
 
206
        self.search_treeview.connect("button-press-event",
 
207
                                     self.__search_treeview_button_press,
 
208
                                     self.search_treeview_menu)
 
209
 
 
210
    def get_program(self):
 
211
        return GUI.get_selected_value(self.search_treeview)
 
212
 
230
213
    def show(self, uicomponent=None, verb=None):
231
214
        self.present()
232
215