On Mon, Apr 5, 2010 at 11:01, Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> wrote: > This adds a shortcut to stage/unstage hunks or a range of lines. Which is done > on a mouse button 1 release event and holding the control key in the diff view. > If there is currently a selection only the selected lines will be staged/unstaged. > Otherwise the hunk will be staged/unstaged. Ping. > > Signed-off-by: Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> > --- > git-gui/git-gui.sh | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh > index 7d54511..e65a0e6 100755 > --- a/git-gui/git-gui.sh > +++ b/git-gui/git-gui.sh > @@ -3452,6 +3452,22 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} { > } > bind_button3 $ui_diff [list popup_diff_menu $ctxm $ctxmmg $ctxmsm %x %y %X %Y] > > +# applies/reverses hunks or lines on button-1 release > +proc immediate_apply_hunk_or_lines {x y} { > + global current_diff_path file_states > + set ::cursorX $x > + set ::cursorY $y > + > + set has_range [expr {[$::ui_diff tag nextrange sel 0.0] != {}}] > + if {$has_range} { > + apply_range_or_line $::cursorX $:cursorY > + do_rescan > + } else { > + apply_hunk $::cursorX $::cursorY > + } > +} > +bind $ui_diff <$M1B-ButtonRelease-1> {immediate_apply_hunk_or_lines %x %y} > + > # -- Status Bar > # > set main_status [::status_bar::new .status] > -- > 1.7.0.3.418.gf56ac.dirty > > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html