Re: [PATCH 3/4] git-gui: only except numbers in the goto-line input

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> writes:

>Signed-off-by: Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx>
>---
> lib/line.tcl |   16 ++++++++++++++--
> 1 files changed, 14 insertions(+), 2 deletions(-)
>
>diff --git a/lib/line.tcl b/lib/line.tcl
>index 692485a..70785e1 100644
>--- a/lib/line.tcl
>+++ b/lib/line.tcl
>@@ -15,7 +15,11 @@ constructor new {i_w i_text args} {
> 
> 	${NS}::frame  $w
> 	${NS}::label  $w.l       -text [mc "Goto Line:"]
>-	entry  $w.ent -textvariable ${__this}::linenum -background lightgreen
>+	entry  $w.ent \
>+		-textvariable ${__this}::linenum \
>+		-background lightgreen \
>+		-validate key \
>+		-validatecommand [cb _validate %P]
> 	${NS}::button $w.bn      -text [mc Go] -command [cb _incrgoto]
> 
> 	pack   $w.l   -side left
>@@ -26,7 +30,7 @@ constructor new {i_w i_text args} {
> 	grid remove $w
> 
> 	bind $w.ent <Return> [cb _incrgoto]
>-	bind $w.ent <Escape> [list linebar::hide $this]
>+	bind $w.ent <Escape> [cb hide]
> 
> 	bind $w <Destroy> [list delete_this $this]
> 	return $this
>@@ -55,6 +59,14 @@ method editor {} {
> 	return $w.ent
> }
> 
>+method _validate {P} {
>+	# only accept numbers as input
>+	if {[regexp {\d*} $P]} {
>+		return 1
>+	}
>+	return 0
>+}
>+
> method _incrgoto {} {
> 	if {$linenum ne {}} {
> 		$ctext see $linenum.0

This one doesn't actually work when I try it it accepts alphanumeric
input. However, replacing the validate body with
  string is integer $P
fixes it to operate as intended so I'll replace it with this.
Looks like it needs theming too but that can be a separate patch.
-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD
--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]