def selectionChanged(self, selected, deselected): #overridden slot QTreeView.selectionChanged(self, selected, deselected) BTN = 0 rows = self.get_selected_rows() self.parent.stop[BTN].setEnabled(False) self.parent.start[BTN].setEnabled(False) if len(rows) == 1: #single selection. row_index = rows[0] id_item = self.items[row_index][0] self.parent.stop[BTN].setEnabled(True) self.parent.start[BTN].setEnabled(False) stopped_downloads = api.get_stopped_downloads() try: item = stopped_downloads[id_item] self.parent.stop[BTN].setEnabled(False) self.parent.start[BTN].setEnabled(True) except KeyError: pass elif rows: #multi selection self.parent.stop[BTN].setEnabled(True) self.parent.start[BTN].setEnabled(True)
def on_selected(self, widget): """ Activa o desactiva los botones de comenzar y detener, dependiendo de que archivo se selecciono. Posiblemente seria mejor implementar este metodo en la clase List, pero habria que pasarle los botones que cambiaran de estado. TODO: para modificar los multiples seleccionados, se necesita transformar rows en un treerowreference, ver docs del get_selected_rows. """ #model, rows = self.list_gui.treeView.get_selection().get_selected_rows() model, rows = widget.get_selected_rows() self.stop.set_sensitive(False) self.start.set_sensitive(False) if len(rows) == 1: #single selection. row = rows[0] id_item = model[row][0] # model[rows[row]] #self.list_gui.row_selected = model[row] #actualizar atributo del list_gui con el row seleccionado. self.stop.set_sensitive(True) self.start.set_sensitive(False) #self.start.set_icon_widget(gtk.ToolButton(gtk.STOCK_MEDIA_STOP)) #if file_name in [download_item.name for download_item in self.downloadmanager.stopped_downloads + self.downloadmanager.complete_downloads]: stopped_downloads = api.get_stopped_downloads() try: item = stopped_downloads[id_item] self.stop.set_sensitive(False) self.start.set_sensitive(True) except KeyError: pass elif rows: #multi selection self.stop.set_sensitive(True) self.start.set_sensitive(True)
def has_segments_left(self, name): """""" for download_item in api.get_active_downloads().values( ) + api.get_queue_downloads().values() + api.get_stopped_downloads( ).values(): m = re.match(unrar.RAR_FILE_PATTERN, download_item.name) if m is not None: if name == m.group('name'): return True return False
def has_segments_left(self, name, pattern): """""" NAME, PART, EXT = range(3) for download_item in api.get_active_downloads().values( ) + api.get_queue_downloads().values() + api.get_stopped_downloads( ).values(): match_name = re.match(pattern, download_item.name) if match_name is not None: if name == match_name.groups()[NAME]: return True return False
def on_selected(self, current, previous): rows = self.downloads.get_selected_rows() self.stop[BTN].setEnabled(False) self.start[BTN].setEnabled(False) if len(rows) == 1: #single selection. items = self.downloads.items row = rows[0] id_item = items[row][0] self.stop[BTN].setEnabled(True) self.start[BTN].setEnabled(False) stopped_downloads = api.get_stopped_downloads() try: item = stopped_downloads[id_item] self.stop[BTN].setEnabled(False) self.start[BTN].setEnabled(True) except KeyError: pass elif rows: #multi selection self.stop[BTN].setEnabled(True) self.start[BTN].setEnabled(True)
def selectionChanged(self, selected, deselected): #overridden slot QTreeView.selectionChanged(self, selected, deselected) BTN = 0 rows = self.get_selected_rows() if len(rows) == 1: # single selection. row_index = rows[0] id_item = self.items[row_index][0] stopped_downloads = api.get_stopped_downloads() if id_item in stopped_downloads: self.parent.stop[BTN].setEnabled(False) self.parent.start[BTN].setEnabled(True) else: self.parent.stop[BTN].setEnabled(True) self.parent.start[BTN].setEnabled(False) elif rows: # multi selection self.parent.stop[BTN].setEnabled(True) self.parent.start[BTN].setEnabled(True) else: # no selection self.parent.stop[BTN].setEnabled(False) self.parent.start[BTN].setEnabled(False)
def has_segments_left(self, name): """""" for download_item in api.get_active_downloads().values() + api.get_queue_downloads().values() + api.get_stopped_downloads().values(): m = re.match(unrar.RAR_FILE_PATTERN, download_item.name) if m is not None: if name == m.group('name'): return True return False
def has_segments_left(self, name, pattern): """""" NAME, PART, EXT = range(3) for download_item in api.get_active_downloads().values() + api.get_queue_downloads().values() + api.get_stopped_downloads().values(): match_name = re.match(pattern, download_item.name) if match_name is not None: if name == match_name.groups()[NAME]: return True return False
def load_session(self): """""" api.load_session() self.downloads_list_gui.store_items(api.get_stopped_downloads().values())