'Show the context menu.'

@pyqtSlot('QPoint')
def show_context_menu(self, point):

    index = self.indexAt(point)
    if index.isValid():
        item = self.model().data(index, downloads.ModelRole.item)
    else:
        item = None
    self._menu = QMenu(self)
    actions = self._get_menu_actions(item)
    for (name, handler) in actions:
        if ((name is None) and (handler is None)):
            self._menu.addSeparator()
        else:
            action = self._menu.addAction(name)
            action.triggered.connect(handler)
    if actions:
        self._menu.popup(self.viewport().mapToGlobal(point))
