Re: [PATCH 3/4] git-gui: only except numbers in the goto-line input
- From
Bert Wesarg <bert.wesarg@googlemail.com>
- Date
- Oct 16, 2011, 10:32 UTC
- Message-ID
- <CAKPyHN0r9VF9nS35+YZWbMb-DW4Xgt-MzN5JX2DH8eji7SZRpw@mail.gmail.com>
- In-Reply-To
- <87fwitkihn.fsf@fox.patthoyts.tk>
Hi,
On Sun, Oct 16, 2011 at 00:17, Pat Thoyts <patthoyts@users.sourceforge.net> wrote:
Show 53 quoted lines
> Bert Wesarg <bert.wesarg@googlemail.com> writes:
>
>>Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
>>---
>> 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.Sorry, the correct regexp would have been {^\d*$}. But your [string is integer] should completely suffice. Thanks.
> Looks like it needs theming too but that can be a separate patch.
Theming is not my field, sorry.
Bert
> -- > Pat Thoyts http://www.patthoyts.tk/ > PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD >