]> git.zerfleddert.de Git - snom-frontend/blobdiff - snom.pl
combobox works
[snom-frontend] / snom.pl
diff --git a/snom.pl b/snom.pl
index 03abbb727ceb5eea9059bcb6202e8fbc19f54a1a..bcfdfe8dae361717009b7f7bbaeb8038613a679c 100755 (executable)
--- a/snom.pl
+++ b/snom.pl
@@ -1,5 +1,5 @@
 #!/bin/sh
 #!/bin/sh
-#$Id: snom.pl,v 1.26 2006-05-22 11:06:48 michael Exp $
+#$Id: snom.pl,v 1.27 2006-05-22 11:18:14 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
 
@@ -16,6 +16,7 @@ use Gtk2::Gdk::Keysyms;
 use LWP::UserAgent;
 
 my %g_key = ();
 use LWP::UserAgent;
 
 my %g_key = ();
+my $g_host = 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: $!");
@@ -39,32 +40,33 @@ while(<INIFILE>) {
 }
 close(INIFILE);
 
 }
 close(INIFILE);
 
-
 for my $section (@sections) {
 for my $section (@sections) {
-       for my $val (qw(host login password)) {
-               if (defined(${$Config{$section}}{$val})) {
-                       print "$section: $val: <" . ${$Config{$section}}{$val}.">\n";
+       if (defined(${$Config{$section}}{host})) {
+               $g_host->append_text($section);
+               if (defined(${$Config{$section}}{login}) &&
+                       defined(${$Config{$section}}{password})) {
+                       $ua->credentials(${$Config{$section}}{host}.":80",
+                               "snom",
+                               ${$Config{$section}}{login},
+                               ${$Config{$section}}{password});
                }
                }
-
        }
 }
        }
 }
-
-
-
-#$ua->credentials("${ARGV[0]}:80","snom","root","geheim");
+$g_host->set_active(0);
+$g_host->show();
 
 set_locale Gtk2;
 
 sub snom_key {
        my $key = shift;
        $key='%23' if ($key eq '#');
 
 set_locale Gtk2;
 
 sub snom_key {
        my $key = shift;
        $key='%23' if ($key eq '#');
-       my $req = HTTP::Request->new(GET => "http://${ARGV[0]}/command.htm?key=${key}");
+       my $req = HTTP::Request->new(GET => "http://".${$Config{$sections[$g_host->get_active]}}{host}."/command.htm?key=${key}");
        $ua->request($req);
 }
 
 sub snom_number {
        my $number = shift;
        $ua->request($req);
 }
 
 sub snom_number {
        my $number = shift;
-       my $req = HTTP::Request->new(GET => "http://${ARGV[0]}/command.htm?number=${number}");
+       my $req = HTTP::Request->new(GET => "http://".${$Config{$sections[$g_host->get_active]}}{host}."/command.htm?number=${number}");
        $ua->request($req);
 }
 
        $ua->request($req);
 }
 
@@ -96,11 +98,6 @@ sub gen_table {
        $table;
 }
 
        $table;
 }
 
-if (!defined($ARGV[0])) {
-       print STDERR "Usage: ${0} snom.phone.address\n";
-       exit 1
-}
-
 my $window = Gtk2::Window->new('toplevel');
 $window->set_title("snom");
 $window->signal_connect(delete_event => \&CloseAppWindow);   
 my $window = Gtk2::Window->new('toplevel');
 $window->set_title("snom");
 $window->signal_connect(delete_event => \&CloseAppWindow);   
@@ -134,13 +131,6 @@ $display->signal_connect(enter_notify_event => \&DisplayMouseOver, TRUE);
 $display->signal_connect(leave_notify_event => \&DisplayMouseOver, FALSE);
 $display->show();
 
 $display->signal_connect(leave_notify_event => \&DisplayMouseOver, FALSE);
 $display->show();
 
-my $host = Gtk2::ComboBox->new_text();
-foreach my $phone (@sections) {
-       $host->append_text($phone);
-}
-$host->set_active(0);
-$host->show();
-
 my $dispbox = Gtk2::VBox->new(0, 5);
 $dispbox->pack_start($display, 0, 0, 0);
 $dispbox->pack_start($softkeys, 0, 0, 0);
 my $dispbox = Gtk2::VBox->new(0, 5);
 $dispbox->pack_start($display, 0, 0, 0);
 $dispbox->pack_start($softkeys, 0, 0, 0);
@@ -148,7 +138,7 @@ $dispbox->pack_start($navi, 0, 0, 0);
 $dispbox->show();
 
 my $outbox = Gtk2::VBox->new(0, 0);
 $dispbox->show();
 
 my $outbox = Gtk2::VBox->new(0, 0);
-$outbox->pack_start($host, 0, 0, 0);
+$outbox->pack_start($g_host, 0, 0, 0);
 $outbox->pack_end($output, 0, 0, 0);
 $outbox->show();
 
 $outbox->pack_end($output, 0, 0, 0);
 $outbox->show();
 
Impressum, Datenschutz