]> git.zerfleddert.de Git - snom-frontend/blobdiff - snom.pl
change identity works
[snom-frontend] / snom.pl
diff --git a/snom.pl b/snom.pl
index 220c9d9e49dea4022f13c6828d74942beac491f0..da06ee53ae26731c7549e5d9a7a948ed8d9acd7e 100755 (executable)
--- a/snom.pl
+++ b/snom.pl
@@ -1,7 +1,5 @@
 #!/bin/sh
-#$Id: snom.pl,v 1.28 2006-05-22 11:22:30 michael Exp $
-
-# http://developer.gnome.org/doc/API/2.2/gtk/gtk-migrating-GtkComboBox.html
+#$Id: snom.pl,v 1.39 2006-05-22 12:27:16 michael Exp $
 
 PATH=/opt/csw/bin:/opt/local/bin:/usr/bin:/bin exec perl -w -x "$0" "$@"
 
@@ -17,6 +15,7 @@ use LWP::UserAgent;
 
 my %g_key = ();
 my $g_host = Gtk2::ComboBox->new_text();
+my $g_identity = Gtk2::ComboBox->new_text();
 my $ua = LWP::UserAgent->new;
 
 open(INIFILE,"<$ENV{HOME}/.snomrc") || die("can't open config: $ENV{HOME}/.snomrc: $!");
@@ -56,6 +55,8 @@ $g_host->set_active(0);
 UpdatePhoneInfo();
 $g_host->signal_connect(changed => \&UpdatePhoneInfo);
 $g_host->show();
+$g_identity->signal_connect(changed => \&SwitchIdentity);
+$g_identity->show();
 
 set_locale Gtk2;
 
@@ -145,6 +146,7 @@ $outbox->pack_end($output, 0, 0, 0);
 $outbox->show();
 
 my $specialbox = Gtk2::VBox->new(0, 0);
+$specialbox->pack_start($g_identity, 0, 0, 0);
 $specialbox->pack_end($special, 0, 0, 0);
 $specialbox->show();
 
@@ -348,7 +350,31 @@ sub KBDInput
 
 sub UpdatePhoneInfo
 {
-       print "TODO: Update PhoneInfo from <".${$Config{$sections[$g_host->get_active]}}{host}."> here!\n";
+       my $req = HTTP::Request->new(GET => "http://".${$Config{$sections[$g_host->get_active]}}{host}."/");
+       my $response = $ua->request($req);
+       
+       $g_identity->set_active(0);
+       while($g_identity->get_active() == 0) {
+               $g_identity->remove_text(0);
+               $g_identity->set_active(0);
+       }
+       my @lines=split("\n", $response->content());
+       foreach (@lines) {
+               chomp;
+               #<option value="1" selected>51@stargate.gernoth.loc</option>
+               #<option value="2">89@asterix.ear-projekt.de</option>
+               #<option value="3">41@grumpy.gernoth.loc</option>
+               if (m/^\<option value=\"(.+)\"( selected)?\>([^<]*)\<\/option\>$/) {
+                       $g_identity->append_text("${3}");
+                       $g_identity->set_active(${1}-1) if(defined($2));
+               }
+       }
+}
+
+sub SwitchIdentity
+{
+       my $req = HTTP::Request->new(GET => "http://".${$Config{$sections[$g_host->get_active]}}{host}."/dummy.htm?SETTINGS=Set&active_line=".($g_identity->get_active+1));
+       $ua->request($req);
 }
 
 sub CloseAppWindow
Impressum, Datenschutz