]> git.zerfleddert.de Git - snom-frontend/blobdiff - snom.pl
purge identities
[snom-frontend] / snom.pl
diff --git a/snom.pl b/snom.pl
index 220c9d9e49dea4022f13c6828d74942beac491f0..b9e0081029a0c192163fff6c0120d47faf5a3bbb 100755 (executable)
--- a/snom.pl
+++ b/snom.pl
@@ -1,5 +1,5 @@
 #!/bin/sh
-#$Id: snom.pl,v 1.28 2006-05-22 11:22:30 michael Exp $
+#$Id: snom.pl,v 1.36 2006-05-22 12:20:15 michael Exp $
 
 # 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_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 +57,8 @@ $g_host->set_active(0);
 UpdatePhoneInfo();
 $g_host->signal_connect(changed => \&UpdatePhoneInfo);
 $g_host->show();
+$g_host->signal_connect(changed => \&SwitchIdentity);
+$g_identity->show();
 
 set_locale Gtk2;
 
@@ -145,6 +148,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 +352,30 @@ 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(defined($g_identity->get_active_text())) {
+               $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
+{
+       print "TODO: Switch Identity on <".${$Config{$sections[$g_host->get_active]}}{host}."> to ".$g_identity->get_active."!\n";
 }
 
 sub CloseAppWindow
Impressum, Datenschutz