def contextMenuEvent(self, event): """Create the context menu for the diff display.""" menu = QtGui.QMenu(self) staged, modified, unmerged, untracked = cola.selection() if self.mode == self.model.mode_worktree: if modified and modified[0] in cola.model().submodules: menu.addAction(qtutils.icon('add.svg'), self.tr('Stage'), SLOT(signals.stage, modified)) menu.addAction(qtutils.git_icon(), self.tr('Launch git-cola'), SLOT(signals.open_repo, os.path.abspath(modified[0]))) elif modified: menu.addAction(qtutils.icon('add.svg'), self.tr('Stage Section'), self.stage_section) menu.addAction(self.action_stage_selection) menu.addSeparator() menu.addAction(qtutils.icon('undo.svg'), self.tr('Revert Section...'), self.revert_section) menu.addAction(self.action_revert_selection) elif self.mode == self.model.mode_index: if staged and staged[0] in cola.model().submodules: menu.addAction(qtutils.icon('remove.svg'), self.tr('Unstage'), SLOT(signals.unstage, staged)) menu.addAction(qtutils.git_icon(), self.tr('Launch git-cola'), SLOT(signals.open_repo, os.path.abspath(staged[0]))) else: menu.addAction(qtutils.icon('remove.svg'), self.tr('Unstage Section'), self.unstage_section) menu.addAction(self.action_unstage_selection) elif self.mode == self.model.mode_branch: menu.addAction(qtutils.apply_icon(), self.tr('Apply Diff to Work Tree'), self.stage_section) menu.addAction(self.action_apply_selection) elif self.mode == self.model.mode_grep: menu.addAction(qtutils.icon('open.svg'), self.tr('Launch Editor'), lambda: guicmds.goto_grep(self.selected_line())) menu.addSeparator() menu.addAction(qtutils.icon('edit-copy.svg'), 'Copy', self.copy) menu.addAction(qtutils.icon('edit-select-all.svg'), 'Select All', self.selectAll) menu.exec_(self.mapToGlobal(event.pos()))
def diff_context_menu_setup(self): """Set up the context menu for the diff display.""" menu = QtGui.QMenu(self) staged, modified, unmerged, untracked = cola.selection() if self.mode == self.model.mode_worktree: if modified and modified[0] in cola.model().submodules: menu.addAction(self.tr('Stage'), SLOT(signals.stage, modified)) menu.addAction(self.tr('Launch git-cola'), SLOT(signals.open_repo, os.path.abspath(modified[0]))) elif modified: menu.addAction(self.tr('Stage &Hunk For Commit'), self.stage_hunk) menu.addAction(self.tr('Stage &Selected Lines'), self.stage_hunk_selection) menu.addSeparator() menu.addAction(self.tr('Undo Hunk'), self.undo_hunk) menu.addAction(self.tr('Undo Selected Lines'), self.undo_selection) elif self.mode == self.model.mode_index: if staged and staged[0] in cola.model().submodules: menu.addAction(self.tr('Unstage'), SLOT(signals.unstage, staged)) menu.addAction(self.tr('Launch git-cola'), SLOT(signals.open_repo, os.path.abspath(staged[0]))) else: menu.addAction(self.tr('Unstage &Hunk From Commit'), self.unstage_hunk) menu.addAction(self.tr('Unstage &Selected Lines'), self.unstage_hunk_selection) elif self.mode == self.model.mode_branch: menu.addAction(self.tr('Apply Diff to Work Tree'), self.stage_hunk) menu.addAction(self.tr('Apply Diff Selection to Work Tree'), self.stage_hunk_selection) elif self.mode == self.model.mode_grep: menu.addAction(self.tr('Go Here'), lambda: guicmds.goto_grep(self.selected_line())) menu.addSeparator() menu.addAction(self.tr('Copy'), self.copy_display) return menu
def __init__(self, hint, parent): HintedTextView.__init__(self, hint, parent) self.goto_action = qtutils.add_action( self, 'Launch Editor', lambda: guicmds.goto_grep(self.selected_line())) self.goto_action.setShortcut(defs.editor_shortcut) qtutils.add_action(self, 'Up', lambda: self.move(QtGui.QTextCursor.Up), Qt.Key_K) qtutils.add_action(self, 'Down', lambda: self.move(QtGui.QTextCursor.Down), Qt.Key_J) qtutils.add_action(self, 'Left', lambda: self.move(QtGui.QTextCursor.Left), Qt.Key_H) qtutils.add_action(self, 'Right', lambda: self.move(QtGui.QTextCursor.Right), Qt.Key_L) qtutils.add_action(self, 'StartOfLine', lambda: self.move(QtGui.QTextCursor.StartOfLine), Qt.Key_0) qtutils.add_action(self, 'EndOfLine', lambda: self.move(QtGui.QTextCursor.EndOfLine), Qt.Key_Dollar) qtutils.add_action(self, 'WordLeft', lambda: self.move(QtGui.QTextCursor.WordLeft), Qt.Key_B) qtutils.add_action(self, 'WordRight', lambda: self.move(QtGui.QTextCursor.WordRight), Qt.Key_W) qtutils.add_action(self, 'PageUp', lambda: self.page(-self.height()/2), 'Shift+Space') qtutils.add_action(self, 'PageDown', lambda: self.page(self.height()/2), Qt.Key_Space)
def edit(self): guicmds.goto_grep(self.result_txt.selected_line()),