Exemple #1
0
    def on_file_popup_menu(self, widget, event):

        set_treeview_selected_row(widget, event)

        self.selected_files = []
        self.FileTreeView.get_selection().selected_foreach(self.selected_files_callback)

        files = True
        multiple = False

        if len(self.selected_files) > 1:
            multiple = True

        if len(self.selected_files) >= 1:
            files = True
        else:
            files = False

        items = self.file_popup_menu.get_children()

        if self.user == self.frame.np.config.sections["server"]["login"]:
            items[2].set_sensitive(files)  # Downloads
            items[3].set_sensitive(files)  # Uploads
            items[5].set_sensitive(not multiple and files)  # Copy URL
            items[6].set_sensitive(files)  # Send to player
        else:
            items[2].set_sensitive(files)  # Downloads
            items[4].set_sensitive(not multiple and files)  # Copy URL

        self.FileTreeView.stop_emission_by_name("button_press_event")
        self.file_popup_menu.popup(None, None, None, None, event.button, event.time)

        return True
Exemple #2
0
    def on_hates_list_clicked(self, widget, event):

        if triggers_context_menu(event):
            set_treeview_selected_row(widget, event)
            return self.on_popup_hates_menu(widget)

        return False
Exemple #3
0
    def on_popup_menu(self, widget, event):

        if event.button != 3:
            return False

        set_treeview_selected_row(widget, event)
        self.select_results()

        items = self.popup_menu.get_children()
        users = len(self.selected_users) > 0
        files = len(self.selected_results) > 0

        for i in range(0, 5):
            items[i].set_sensitive(files)

        items[0].set_sensitive(False)
        items[1].set_sensitive(False)
        items[4].set_sensitive(False)
        items[6].set_sensitive(False)
        items[7].set_sensitive(files)
        items[8].set_sensitive(users)

        for result in self.selected_results:
            if not result[1].endswith('\\'):
                # At least one selected result is a file, activate file-related items
                items[0].set_sensitive(True)
                items[1].set_sensitive(True)
                items[4].set_sensitive(True)
                items[6].set_sensitive(True)
                break

        self.popup_menu.popup(None, None, None, None, event.button, event.time)
        widget.stop_emission_by_name("button_press_event")

        return True
Exemple #4
0
    def on_popup_menu(self, widget, event):

        if event.button != 3:
            return False

        set_treeview_selected_row(widget, event)
        self.select_results()

        items = self.popup_menu.get_children()
        users = len(self.selected_users) > 0
        files = len(self.selected_results) > 0

        items[0].set_sensitive(False)  # Download File
        items[1].set_sensitive(False)  # Download File To
        items[4].set_sensitive(files)  # Browse Folder
        items[5].set_sensitive(False)  # File Properties
        items[7].set_sensitive(files)  # Copy File Path
        items[8].set_sensitive(False)  # Copy URL
        items[9].set_sensitive(files)  # Copy Folder URL
        items[11].set_sensitive(users)  # Users

        for result in self.selected_results:
            if not result[1].endswith('\\'):
                # At least one selected result is a file, activate file-related items
                items[0].set_sensitive(True)  # Download File
                items[1].set_sensitive(True)  # Download File To
                items[5].set_sensitive(True)  # File Properties
                items[8].set_sensitive(True)  # Copy URL
                break

        self.popup_menu.popup(None, None, None, None, event.button, event.time)
        widget.stop_emission_by_name("button_press_event")

        return True
Exemple #5
0
    def on_file_popup_menu(self, widget, event):

        set_treeview_selected_row(widget, event)
        self.select_files()

        if len(self.selected_files) >= 1:
            files = True
        else:
            files = False

        items = self.file_popup_menu.get_children()

        if self.user == self.frame.np.config.sections["server"]["login"]:
            items[2].set_sensitive(files)  # Downloads
            items[3].set_sensitive(files)  # Uploads
            items[5].set_sensitive(files)  # Send to player
            items[7].set_sensitive(files)  # File Properties
            items[9].set_sensitive(files)  # Copy File Path
            items[10].set_sensitive(files)  # Copy URL
        else:
            items[2].set_sensitive(files)  # Downloads
            items[4].set_sensitive(files)  # File Properties
            items[6].set_sensitive(files)  # Copy File Path
            items[7].set_sensitive(files)  # Copy URL

        self.FileTreeView.stop_emission_by_name("button_press_event")
        self.file_popup_menu.popup(None, None, None, None, event.button,
                                   event.time)

        return True
    def on_popup_menu(self, widget, event, kind):

        if kind == "mouse":
            if event.button == 3:
                set_treeview_selected_row(widget, event)

            else:
                pathinfo = widget.get_path_at_pos(event.x, event.y)

                if pathinfo is None:
                    widget.get_selection().unselect_all()

                elif event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
                    self.double_click(event)

                return False

        self.select_transfers()

        users = len(self.selected_users) > 0
        files = len(self.selected_transfers) > 0

        items = self.popup_menu.get_children()
        if users:
            items[6].set_sensitive(True)  # Users Menu
        else:
            items[6].set_sensitive(False)  # Users Menu

        if files:
            act = True
        else:
            # Disable options
            # Copy URL, Copy Folder URL, Send to player, View Meta, File manager, Search filename
            act = False

        for i in range(0, 6):
            items[i].set_sensitive(act)

        if not users or not files:
            # Disable options
            # Abort, Abort and Remove, retry, clear
            act = False
        else:
            act = True

        for i in range(8, 13):
            items[i].set_sensitive(act)

        self.popup_menu.popup(None, None, None, None, 3, event.time)

        if kind == "keyboard":
            widget.stop_emission_by_name("key_press_event")
        elif kind == "mouse":
            widget.stop_emission_by_name("button_press_event")

        return True
Exemple #7
0
    def on_list_clicked(self, widget, event):

        if triggers_context_menu(event):
            set_treeview_selected_row(widget, event)
            return self.on_popup_menu(widget)

        if event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
            self.double_click(event)
            return True

        return False
Exemple #8
0
    def on_folder_clicked(self, widget, event):

        if triggers_context_menu(event):
            set_treeview_selected_row(widget, event)
            return self.on_folder_popup_menu(widget)

        if event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
            if self.user != self.frame.np.config.sections["server"]["login"]:
                self.on_download_directory(widget)
                return True

        return False
Exemple #9
0
    def on_ru_list_clicked(self, widget, event):

        if triggers_context_menu(event):
            set_treeview_selected_row(widget, event)
            return self.on_popup_ru_menu(widget)

        if event.type == Gdk.EventType._2BUTTON_PRESS:
            user = self.get_selected_item(widget)

            if user is not None:
                self.frame.privatechats.send_message(user)
                self.frame.change_main_page("private")
                return True

        return False
Exemple #10
0
    def on_list_clicked(self, widget, event):

        set_treeview_selected_row(widget, event)

        if triggers_context_menu(event):
            return self.on_popup_menu(widget)

        if event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
            room = self.get_selected_room(widget)

            if room is not None and room not in self.joined_rooms:
                self.popup_room = room
                self.on_popup_join(widget)
                return True

        return False
Exemple #11
0
    def on_list_clicked(self, widget, event):

        if triggers_context_menu(event):
            set_treeview_selected_row(widget, event)
            return self.on_popup_menu(widget)

        pathinfo = widget.get_path_at_pos(event.x, event.y)

        if pathinfo is None:
            widget.get_selection().unselect_all()

        elif event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
            self.select_results()
            self.on_download_files(widget)
            self.ResultsList.get_selection().unselect_all()
            return True

        return False