From: Ricardo Mones Date: Fri, 26 Aug 2016 16:44:36 +0000 (+0200) Subject: Better handling of text entries X-Git-Tag: 0.9.0~24 X-Git-Url: http://git.claws-mail.org/?p=clawsker.git;a=commitdiff_plain;h=0480a3bd3c05b6b73806654661aa26ab3a08118d Better handling of text entries --- diff --git a/clawsker b/clawsker index e0741b4..3957fef 100755 --- a/clawsker +++ b/clawsker @@ -309,8 +309,8 @@ sub handle_string_value { } sub handle_nchar_value { - my ($widget, $event, $dataref, $minlen) = @_; - $_ = substr ($widget->get_text (), 0, $minlen); + my ($widget, $event, $dataref, $minlen, $maxlen) = @_; + $_ = substr ($widget->get_text (), 0, $maxlen); $widget->set_text ($_); $$dataref = $_; } @@ -490,18 +490,20 @@ sub new_text_box_for_nchar($$$) { my ($hash, $key, $vhash) = @_; my $name = $$hash{$key}[NAME]; my $label = $$hash{$key}[LABEL]; - my @type = split (/,/, $$hash{$key}[TYPE]); # char,minlen,maxlen + my @type = split (/,/, $$hash{$key}[TYPE]); # char,minlen,maxlen,width my $hbox = Gtk2::HBox->new (FALSE, 5); my $glabel = Gtk2::Label->new ($label); my $gentry = Gtk2::Entry->new (); $gentry->set_max_length($type[2]) if defined ($type[2]); - $gentry->set_width_chars(int ($type[2]) + 2) if defined ($type[2]); + my $width = $type[3]; + $width //= $type[2]; + $gentry->set_width_chars(int ($width) + 2) if defined ($width); my $value = $$vhash{$name}; $value //= $$hash{$key}[CMDEF]; $gentry->set_text ($value); $gentry->signal_connect('key-release-event' => sub { my ($w, $e) = @_; - handle_nchar_value ($w, $e, \$$vhash{$name}, $type[1]); + handle_nchar_value ($w, $e, \$$vhash{$name}, $type[1], $type[2]); }); set_widget_hint ($gentry, $$hash{$key}[DESC]); set_widget_sens ($gentry, $$hash{$key}[CMVER]); @@ -1914,7 +1916,7 @@ sub new_winpos_page() { 'gnutls_priority', $xl::s{l_acc_gtls_pri}, $xl::s{h_acc_gtls_pri}, - 'char,32,32', + 'char,0,256,32', '3.9.0.181', '0', undef,