]> git.zerfleddert.de Git - snom-frontend/blobdiff - snom.pl
get identities
[snom-frontend] / snom.pl
diff --git a/snom.pl b/snom.pl
index 220c9d9e49dea4022f13c6828d74942beac491f0..7079772bf215dc768008949192f9e378f7fc2223 100755 (executable)
--- a/snom.pl
+++ b/snom.pl
@@ -1,5 +1,5 @@
 #!/bin/sh
 #!/bin/sh
-#$Id: snom.pl,v 1.28 2006-05-22 11:22:30 michael Exp $
+#$Id: snom.pl,v 1.34 2006-05-22 12:11:55 michael Exp $
 
 # http://developer.gnome.org/doc/API/2.2/gtk/gtk-migrating-GtkComboBox.html
 
 
 # http://developer.gnome.org/doc/API/2.2/gtk/gtk-migrating-GtkComboBox.html
 
@@ -17,6 +17,7 @@ use LWP::UserAgent;
 
 my %g_key = ();
 my $g_host = Gtk2::ComboBox->new_text();
 
 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: $!");
 my $ua = LWP::UserAgent->new;
 
 open(INIFILE,"<$ENV{HOME}/.snomrc") || die("can't open config: $ENV{HOME}/.snomrc: $!");
@@ -56,6 +57,8 @@ $g_host->set_active(0);
 UpdatePhoneInfo();
 $g_host->signal_connect(changed => \&UpdatePhoneInfo);
 $g_host->show();
 UpdatePhoneInfo();
 $g_host->signal_connect(changed => \&UpdatePhoneInfo);
 $g_host->show();
+$g_host->signal_connect(changed => \&SwitchIdentity);
+$g_identity->show();
 
 set_locale Gtk2;
 
 
 set_locale Gtk2;
 
@@ -145,6 +148,7 @@ $outbox->pack_end($output, 0, 0, 0);
 $outbox->show();
 
 my $specialbox = Gtk2::VBox->new(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();
 
 $specialbox->pack_end($special, 0, 0, 0);
 $specialbox->show();
 
@@ -349,6 +353,33 @@ sub KBDInput
 sub UpdatePhoneInfo
 {
        print "TODO: Update PhoneInfo from <".${$Config{$sections[$g_host->get_active]}}{host}."> here!\n";
 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);
+        if ($response->is_error) {
+                die("Can't retrieve line information: ", $ua->response->status_line);
+        }
+       
+       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\>$/) {
+                       if(defined($2)) {
+                               print "*".$1." ".$3."\n";
+                       } else {
+                               print $1." ".$3."\n";
+                       }
+               }
+       }
+       $g_identity->append_text("\@line1");
+       $g_identity->set_active(0);
+}
+
+sub SwitchIdentity
+{
+       print "TODO: Switch Identity on <".${$Config{$sections[$g_host->get_active]}}{host}."> to ".$g_identity->get_active."!\n";
 }
 
 sub CloseAppWindow
 }
 
 sub CloseAppWindow
Impressum, Datenschutz