X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/snom-frontend/blobdiff_plain/2c2eba100d0708fffdcce8cf1c15e327d599c3e0..3cb02741a3740f1ebfbc60e20ff1fde79429e84b:/snom.pl diff --git a/snom.pl b/snom.pl index 9dcd536..6f580ab 100755 --- a/snom.pl +++ b/snom.pl @@ -1,5 +1,5 @@ #!/bin/sh -#$Id: snom.pl,v 1.42 2006-05-22 13:06:47 michael Exp $ +#$Id: snom.pl,v 1.44 2006/05/24 14:31:16 michael Exp $ PATH=/opt/csw/bin:/opt/local/bin:/usr/bin:/bin exec perl -w -x "$0" "$@" @@ -55,9 +55,8 @@ for my $section (@sections) { $g_host->set_active(0); UpdatePhoneInfo(); $g_host->signal_connect(changed => \&UpdatePhoneInfo); -$g_host->show(); +$g_host->show() if($#sections); $g_identity->signal_connect(changed => \&SwitchIdentity); -$g_identity->show(); set_locale Gtk2; @@ -70,6 +69,7 @@ sub snom_key { sub snom_number { my $number = shift; + $number =~ s/[^\d]//g; my $req = HTTP::Request->new(GET => "http://".${$Config{$sections[$g_host->get_active]}}{host}."/command.htm?number=${number}"); $ua->request($req); } @@ -149,8 +149,16 @@ $display->signal_connect(enter_notify_event => \&DisplayMouseOver, TRUE); $display->signal_connect(leave_notify_event => \&DisplayMouseOver, FALSE); $display->show(); +my $cbextern = Gtk2::CheckButton->new("extern"); +$cbextern->show(); + +my $dialbox = Gtk2::HBox->new(0, 30); +$dialbox->pack_start($display, 0, 0, 0); +$dialbox->pack_start($cbextern, 0, 0, 0); +$dialbox->show(); + my $dispbox = Gtk2::VBox->new(0, 5); -$dispbox->pack_start($display, 0, 0, 0); +$dispbox->pack_start($dialbox, 0, 0, 0); $dispbox->pack_start($softkeys, 0, 0, 0); $dispbox->pack_start($navi, 0, 0, 0); $dispbox->show(); @@ -191,6 +199,8 @@ $mainbox->pack_start($ubox, 0, 0, 0); $mainbox->pack_start($lbox, 0, 0, 0); $mainbox->show(); + + $window->add($mainbox); $window->show(); @@ -250,8 +260,12 @@ sub KeyPressed sub DialNumber { my ($entry) = @_; - - snom_number($entry->get_text()); + my ($num) = $entry->get_text(); + if ($cbextern->get_active){ + snom_number("09".$num) + } else { + snom_number($num); + } return TRUE; } @@ -289,7 +303,7 @@ sub KBDInput } } - if (!$event->state || $event->state eq 'shift-mask') { + if (!$event->state || !($event->state & "control-mask" || $event->state & "mod1-mask")) { if ($keyval == $Gtk2::Gdk::Keysyms{asterisk}) {snom_key('*'); return TRUE;} if ($keyval == $Gtk2::Gdk::Keysyms{KP_Multiply}) {snom_key('*'); return TRUE;} if ($keyval == $Gtk2::Gdk::Keysyms{numbersign}) {snom_key('#'); return TRUE;} @@ -342,7 +356,7 @@ sub KBDInput } } } else { - if ($event->state eq 'mod1-mask') { + if ($event->state & "mod1-mask") { for (my $i=1; $i<13; $i++) { if ($keyval == $Gtk2::Gdk::Keysyms{"F${i}"}) { snom_key("P${i}"); @@ -374,6 +388,7 @@ sub UpdatePhoneInfo $g_identity->set_active(0); } my @lines=split("\n", $response->content()); + my $num = 0; foreach (@lines) { chomp; # @@ -383,8 +398,14 @@ sub UpdatePhoneInfo my $line = $3; $g_identity->append_text("${3}"); $g_identity->set_active(${1}-1) if(defined($2)); + $num++; } } + if ($num > 1) { + $g_identity->show; + } else { + $g_identity->hide; + } } sub SwitchIdentity