#!/bin/sh
-#$Id: snom.pl,v 1.28 2006-05-22 11:22:30 michael Exp $
+#$Id: snom.pl,v 1.38 2006-05-22 12:22:53 michael Exp $
# http://developer.gnome.org/doc/API/2.2/gtk/gtk-migrating-GtkComboBox.html
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: $!");
UpdatePhoneInfo();
$g_host->signal_connect(changed => \&UpdatePhoneInfo);
$g_host->show();
+$g_identity->signal_connect(changed => \&SwitchIdentity);
+$g_identity->show();
set_locale Gtk2;
$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();
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
+{
+ print "TODO: Switch Identity on <".${$Config{$sections[$g_host->get_active]}}{host}."> to ".$g_identity->get_active."!\n";
}
sub CloseAppWindow