Example #1
0
    def __init__(self, parent=None):
        """"""
        gtk.VBox.__init__(self)

        self.__parent = parent

        scroll = gtk.ScrolledWindow()
        scroll.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)

        self.store = self.create_model()  #crear columnas y
        self.update_flag = False  #flag para que el update de la lista se haga solo si ya no esta corriendo. False = detenido. True = Corriendo.
        self.active_tab_flag = True
        #self.rows_buffer = {} #{id_item: row_obj, }

        #arma el cuadro con los items
        self.treeView = DnDTreeView(self.store)
        self.treeView.set_rules_hint(True)  #turna el color de los items, creo.
        #self.treeView.set_reorderable(True) #change order by drag'n'drop.
        scroll.add(self.treeView)

        self.rows_buffer = self.treeView.rows_buffer  #{id_item: row_obj, }

        #self.treeView.get_selection().set_mode(gtk.SELECTION_MULTIPLE)

        #Columns item names. Host = 3 columns in 1
        col_list = [
            "hidden_id_item",
            _("Status"),
            _("File Name"),
            _("Host"),
            _("Size"),
            _("Complete"),
            _("Progress"),
            _("Time"),
            _("Remain"),
            _("Speed"),
            _("Status Message")
        ]  #podria usar un frozenset, no se si lo soporta cython.
        self.create_columns(col_list)

        #status icons
        self.icons_dict = self.get_icons(
        )  #return dict {cons.status_running: icon, }

        #self.treeView.add_events(gtk.gdk.KEY_PRESS)
        self.treeView.connect("key_press_event", self.keyboard_event)

        #Context Menu (pop-up)
        open_folder_item = (gtk.MenuItem(), _("Open destination folder"),
                            self.on_open_folder)
        copy_link_item = (gtk.MenuItem(), _("Copy link"), self.on_copy_link)
        password_item = (gtk.MenuItem(), _("Add password"), self.on_password)
        delete_item = (gtk.MenuItem(), _("Delete"), self.on_delete)

        clear_completed_item = (gtk.MenuItem(), _("Clear Completed"),
                                self.on_clear_completed)
        start_all_item = (gtk.MenuItem(), _("Start all"), self.on_start_all)
        stop_all_item = (gtk.MenuItem(), _("Stop all"), self.on_stop_all)

        self.menu_items = (open_folder_item, copy_link_item, password_item,
                           delete_item)
        menu_generic_items = (None, start_all_item, stop_all_item,
                              clear_completed_item)
        self.ctx_menu = Menu(self.menu_items +
                             menu_generic_items)  #items selected
        self.treeView.connect("button-press-event", self.on_context_menu)

        self.pack_start(scroll)