def __remove_reminder_button_clicked(self, button): selection = self.reminders_treeview.get_selection() (reminders_model, reminders_iter) = selection.get_selected() if reminders_iter: reminder = reminders_model.get_value(reminders_iter, 0) if self.reminders.remove(reminder): reminders_model.remove(reminders_iter) gui.queue_resize(self.reminders_treeview) self.reminders.save() self.sd.search_treeview.get_selection().emit("changed")
def __add_reminder_button_clicked(self, button): reminder = self.__get_reminder() if self.reminders.add(reminder): reminders_model = self.reminders_treeview.get_model() reminders_model.append([reminder]) gui.queue_resize(self.reminders_treeview) self.reminders.save() self.add_reminder_button.set_sensitive(False) self.sd.search_treeview.get_selection().emit("changed") self.pw.update()
def __download_added(self, download_list, download): """Called when a new download is added to DownloadList. Adds the download to the treeview model and sets up the update handler.""" self.downloads_model.append([download]) download.connect("update", self.__download_update) download.connect("status-changed", self.__download_status_changed) gui.queue_resize(self.downloads_treeview) # Enable clear button if necessary if not self.clear_tool_button.props.sensitive and \ download.status == COMPLETED: self.clear_tool_button.set_sensitive(True)
def __update_reminder_button_clicked(self, button): selection = self.reminders_treeview.get_selection() (reminders_model, reminders_iter) = selection.get_selected() if not reminders_iter: self.add_reminder_button.clicked() else: current_reminder = reminders_model.get_value(reminders_iter, 0) new_reminder = self.__get_reminder() if not current_reminder is new_reminder: self.reminders.update(current_reminder, new_reminder) reminders_model.set_value(reminders_iter, 0, new_reminder) gui.queue_resize(self.reminders_treeview) self.reminders.save() self.add_reminder_button.set_sensitive(False) self.update_reminder_button.set_sensitive(False) self.sd.search_treeview.get_selection().emit("changed") self.pw.update()
def __download_removed(self, download_list, download): """Called when a download is removed from DownloadList. Removes the download from the treeview model. Also checks if there a any completed downloads in the list so the clear button can be enabled/disabled appropriately.""" downloads_iter = self.downloads_model.get_iter_first() has_completed = False iter_to_remove = None for row in self.downloads_model: if row[0].status == COMPLETED: has_completed = True if row[0] is download: iter_to_remove = downloads_iter downloads_iter = self.downloads_model.iter_next(downloads_iter) if iter_to_remove: self.downloads_model.remove(iter_to_remove) gui.queue_resize(self.downloads_treeview) self.clear_tool_button.props.sensitive = has_completed