Esempio n. 1
0
    def on_r_list_clicked(self, widget, event):

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

        return False
Esempio n. 2
0
    def _callback(self, controller, pos_x, pos_y):

        menu = None
        menu_model = self
        callback = self.callback
        self.update_model()

        if isinstance(self.parent, Gtk.TreeView):
            if pos_x and pos_y:
                from pynicotine.gtkgui.widgets.treeview import set_treeview_selected_row

                bin_x, bin_y = self.parent.convert_widget_to_bin_window_coords(
                    pos_x, pos_y)
                set_treeview_selected_row(self.parent, bin_x, bin_y)

                if not self.parent.get_path_at_pos(bin_x, bin_y):
                    # Special case for column header menu

                    menu_model = self.parent.column_menu
                    menu = menu_model.create_context_menu(menu_model.parent)
                    callback = menu_model.callback

            elif not self.parent.get_selection().count_selected_rows():
                # No rows selected, don't show menu
                return False

        if callback:
            cancel = callback(menu_model, self.parent)

            if cancel:
                return False

        self.popup(pos_x, pos_y, controller, menu=menu)
        return False
Esempio n. 3
0
    def _callback(self, controller, x, y):

        if isinstance(self.widget, Gtk.TreeView):
            if x and y:
                from pynicotine.gtkgui.widgets.treeview import set_treeview_selected_row

                bin_x, bin_y = self.widget.convert_widget_to_bin_window_coords(
                    x, y)
                set_treeview_selected_row(self.widget, bin_x, bin_y)

                if not self.widget.get_path_at_pos(bin_x, bin_y):
                    # Stop here to allow column header menus to appear
                    return

            elif not self.widget.get_selection().count_selected_rows():
                # No rows selected, don't show menu
                return

        if self.callback:
            cancel = self.callback(self, self.widget)

            if cancel:
                return

        self.popup(x, y, controller)

        if controller:
            controller.set_state(Gtk.EventSequenceState.CLAIMED)
Esempio n. 4
0
    def on_list_clicked(self, widget, event):

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

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

        return False
Esempio n. 5
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 != config.sections["server"]["login"]:
                self.on_download_directory()
                return True

        return False
Esempio n. 6
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.type == Gdk.EventType._2BUTTON_PRESS:
            user = self.get_selected_username(widget)

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

        return False
Esempio n. 7
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()
                return True

        return False
Esempio n. 8
0
    def on_file_clicked(self, widget, event):

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

        if event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
            self.select_files()

            if self.user == config.sections["server"]["login"]:
                self.on_play_files()
            else:
                self.on_download_files()
            return True

        return False
Esempio n. 9
0
    def on_list_clicked(self, widget, event):

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

        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()
            self.ResultsList.get_selection().unselect_all()
            return True

        return False