threads / patch / 12947

v2git-gui: Add shortcut keys for Show More/Less Context

Subject: [PATCH v2] git-gui: Add shortcut keys for Show More/Less Context

## tl;dr

3 messages between Apr 1, 2008 and Apr 2, 2008. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Jonathan del Strother· Apr 1, 2008, 10:54 UTC · lore
Bound to Ctrl/Cmd + left & right square brackets, depending on your platform.
Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
---
Second attempt to add Show Context shortcuts to git gui.  This new version also adds the items to the Commit menu, complete with accelerator keys to make the shortcut more visible.
 git-gui/git-gui.sh |   36 ++++++++++++++++++++++++++++--------
 1 files changed, 28 insertions(+), 8 deletions(-)
Show changes to git-gui/git-gui.sh +28 −8
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 5e97fbf..9ee2d32 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -1845,7 +1845,21 @@ proc add_range_to_selection {w x y} {
 	}
 	$w tag add in_sel $begin.0 [expr {$end + 1}].0
 }
+proc show_more_context {} {
+	global repo_config
+	if {$repo_config(gui.diffcontext) < 99} {
+		incr repo_config(gui.diffcontext)
+		reshow_diff
+	}
+}
 
+proc show_less_context {} {
+	global repo_config
+	if {$repo_config(gui.diffcontext) >= 1} {
+		incr repo_config(gui.diffcontext) -1
+		reshow_diff
+	}
+}
 ######################################################################
 ##
 ## ui construction
@@ -2046,6 +2060,16 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
 
 	.mbar.commit add separator
 
+	.mbar.commit add command -label [mc "Show Less Context"] \
+		-command show_less_context \
+		-accelerator $M1T-\[
+
+	.mbar.commit add command -label [mc "Show More Context"] \
+		-command show_more_context \
+		-accelerator $M1T-\]
+
+	.mbar.commit add separator
+
 	.mbar.commit add command -label [mc "Sign Off"] \
 		-command do_signoff \
 		-accelerator $M1T-S
@@ -2593,17 +2617,11 @@ lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
 $ctxm add separator
 $ctxm add command \
 	-label [mc "Show Less Context"] \
-	-command {if {$repo_config(gui.diffcontext) >= 1} {
-		incr repo_config(gui.diffcontext) -1
-		reshow_diff
-	}}
+	-command show_less_context
 lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
 $ctxm add command \
 	-label [mc "Show More Context"] \
-	-command {if {$repo_config(gui.diffcontext) < 99} {
-		incr repo_config(gui.diffcontext)
-		reshow_diff
-	}}
+	-command show_more_context
 lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
 $ctxm add separator
 $ctxm add command \
@@ -2695,6 +2713,8 @@ bind $ui_comm <$M1B-Key-v> {tk_textPaste %W; %W see insert; break}
 bind $ui_comm <$M1B-Key-V> {tk_textPaste %W; %W see insert; break}
 bind $ui_comm <$M1B-Key-a> {%W tag add sel 0.0 end;break}
 bind $ui_comm <$M1B-Key-A> {%W tag add sel 0.0 end;break}
+bind $ui_comm <$M1B-Key-\[> {show_less_context;break}
+bind $ui_comm <$M1B-Key-\]> {show_more_context;break}
 
 bind $ui_diff <$M1B-Key-x> {tk_textCopy %W;break}
 bind $ui_diff <$M1B-Key-X> {tk_textCopy %W;break}
-- 
1.5.5.rc2.1.g107f.dirty
Jonathan del Strother· Apr 1, 2008, 13:59 UTC · re: Jonathan del Strother · lore

Re: [PATCH v2] git-gui: Add shortcut keys for Show More/Less Context

On Tue, Apr 1, 2008 at 11:54 AM, Jonathan del Strother <maillist@steelskies.com> wrote:

Show 7 quoted lines
> Bound to Ctrl/Cmd + left & right square brackets, depending on your platform.
>
>  Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
>  ---
>
>  Second attempt to add Show Context shortcuts to git gui.  This new version also adds the items to the Commit menu, complete with accelerator keys to make the shortcut more visible.
>

... I've just noticed that the shortcut keys don't apply while the diff view has keyboard focus. Shall I replace "bind $ui_comm ... " with "bind all ..." ?

Shawn O. Pearce· Apr 2, 2008, 05:34 UTC · re: Jonathan del Strother · lore

Re: [PATCH v2] git-gui: Add shortcut keys for Show More/Less Context

Jonathan del Strother <maillist@steelskies.com> wrote:
> On Tue, Apr 1, 2008 at 11:54 AM, Jonathan del Strother
> <maillist@steelskies.com> wrote:
> > Bound to Ctrl/Cmd + left & right square brackets, depending on your platform.
Thanks.
 
> ... I've just noticed that the shortcut keys don't apply while the
> diff view has keyboard focus.  Shall I replace "bind $ui_comm ... "
> with "bind all ..."  ?
No, "bind .".  I squashed this into your patch:
Show changes to diff +2 −0
@@ -2758,6 +2760,8 @@ bind .   <$M1B-Key-t> do_add_selection
 bind .   <$M1B-Key-T> do_add_selection
 bind .   <$M1B-Key-i> do_add_all
 bind .   <$M1B-Key-I> do_add_all
+bind .   <$M1B-Key-\[> {show_less_context;break}
+bind .   <$M1B-Key-\]> {show_more_context;break}
 bind .   <$M1B-Key-Return> do_commit
 foreach i [list $ui_index $ui_workdir] {
        bind $i <Button-1>       "toggle_or_diff         $i %x %y; break"
-- 
Shawn.

← back to recent threads