]> git.zerfleddert.de Git - snom-frontend/blobdiff - snom.pl
purge identities
[snom-frontend] / snom.pl
diff --git a/snom.pl b/snom.pl
index bcfdfe8dae361717009b7f7bbaeb8038613a679c..b9e0081029a0c192163fff6c0120d47faf5a3bbb 100755 (executable)
--- a/snom.pl
+++ b/snom.pl
@@ -1,5 +1,5 @@
 #!/bin/sh
-#$Id: snom.pl,v 1.27 2006-05-22 11:18:14 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: $!");
@@ -53,7 +54,11 @@ for my $section (@sections) {
        }
 }
 $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;
 
@@ -143,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();
 
@@ -344,6 +350,34 @@ sub KBDInput
        return FALSE;
 }
 
+sub UpdatePhoneInfo
+{
+       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
 {
        $window->destroy;
Impressum, Datenschutz