From patchwork Sat Mar 15 18:19:58 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: hgk: enable selected patch text on Windows From: Andrew Shadura X-Patchwork-Id: 3947 Message-Id: To: mercurial-devel@selenic.com Date: Sat, 15 Mar 2014 19:19:58 +0100 # HG changeset patch # User Andrew Shadura # Date 1394894691 -3600 # Sat Mar 15 15:44:51 2014 +0100 # Node ID d1ef724df3b4d403338d986cf25a7e8bd5a67264 # Parent 242d091f03284062f1ca4c270e7020f117d79eb5 hgk: enable selected patch text on Windows Port a patch from gitk. Original description: On windows, mouse input follows the keyboard focus, so to allow selecting text from the patch canvas we must not shift focus back to the top level. This change has no negative impact on X, so we don't explicitly test for Win32 on this change. This provides similar selection capability as already available using X-Windows. Signed-off-by: Mark Levedahl Signed-off-by: Paul Mackerras diff --git a/contrib/hgk b/contrib/hgk --- a/contrib/hgk +++ b/contrib/hgk @@ -795,8 +795,8 @@ proc bindkey {ev script} { # set the focus back to the toplevel for any click outside # the entry widgets proc click {w} { - global entries - foreach e $entries { + global ctext entries + foreach e [concat $entries $ctext] { if {$w == $e} return } focus . @@ -2546,6 +2546,7 @@ proc selectline {l isnew} { proc selnextline {dir} { global selectedline + focus . if {![info exists selectedline]} return set l [expr $selectedline + $dir] unmarkmatches @@ -2583,6 +2584,7 @@ proc addtohistory {cmd} { proc goback {} { global history historyindex + focus . if {$historyindex > 1} { incr historyindex -1 @@ -2597,6 +2599,7 @@ proc goback {} { proc goforw {} { global history historyindex + focus . if {$historyindex < [llength $history]} { set cmd [lindex $history $historyindex]