Beispiel #1
0
    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)
Beispiel #2
0
 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)
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
0
    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)
Beispiel #6
0
 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)
Beispiel #7
0
    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)
Beispiel #8
0
    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)
Beispiel #9
0
 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
Beispiel #10
0
 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
Beispiel #11
0
 def load_session(self):
     """"""
     api.load_session()
     self.downloads_list_gui.store_items(api.get_stopped_downloads().values())