diff options
author | Yves Duret <yduret@mandriva.com> | 2001-08-13 11:44:30 +0000 |
---|---|---|
committer | Yves Duret <yduret@mandriva.com> | 2001-08-13 11:44:30 +0000 |
commit | 624d07e6d14c2eb5f73c7b28131a76f4027e9588 (patch) | |
tree | 096ce915c52f0bc41a8fc98b8b144da19ffe31a3 | |
parent | 85966fa57d0a3ca6cbf5d30b0f6f8bc68fad95df (diff) | |
download | control-center-624d07e6d14c2eb5f73c7b28131a76f4027e9588.tar control-center-624d07e6d14c2eb5f73c7b28131a76f4027e9588.tar.gz control-center-624d07e6d14c2eb5f73c7b28131a76f4027e9588.tar.bz2 control-center-624d07e6d14c2eb5f73c7b28131a76f4027e9588.tar.xz control-center-624d07e6d14c2eb5f73c7b28131a76f4027e9588.zip |
K-bug fixed
-rwxr-xr-x | control-center | 246 |
1 files changed, 126 insertions, 120 deletions
diff --git a/control-center b/control-center index b0234687..9b82d503 100755 --- a/control-center +++ b/control-center @@ -199,6 +199,132 @@ $darea1->signal_connect( expose_event => sub { $darea1->window->draw_pixmap Gtk->main_iteration while Gtk->events_pending; Gtk->main; + +#------------------------------------------------------------- +# sub +#------------------------------------------------------------- + +sub exec_treeitem { + my ($label, $exec_string, $available) = @_; + $scrolled_global->set_usize($label eq _("Software Manager") ? 1 : 210, 0); + if (!$available) { + my $vbox = new Gtk::VBox(0, 0); + $vbox->pack_start( new Gtk::Label (_("The application cannot be loaded,\nthe file '%s' has not be found.\nTry to install it.", $exec_string)), 1, 0, 0); + $vbox->show_all; + $notebook_global->append_page($vbox, ""); + $nb_pages++; + $tree_launched{$label}->[0]=$nb_pages; + $notebook_global->set_page($nb_pages); + return; + } + if (!$tree_launched{$label}->[0]) { + + if ($label eq _("Console")) { + my $socket = new Gtk::Socket; + $notebook_global->append_page($socket, new Gtk::Label("")); + $nb_pages++; + $tree_launched{$label}->[0]=$nb_pages; + $notebook_global->set_page($nb_pages); + $socket->realize; + $socket->steal(launch_wait("rxvt", "rxvt",1)); + $notebook_global->show_all(); + $notebook_global->set_page($nb_pages-1); + return; + } + #$label eq _("Samba Conf") and system($exec_string . " & "), return; + my $vbox = new Gtk::VBox(0, 0); + $vbox->show; + my $vbox2 = new Gtk::VBox(0, 0); + $vbox2->show; + $global_vbox=\$vbox2; + $vbox->pack_start($vbox2,1,0,0); + my $label_ = new Gtk::Label (_("Please wait while loading ...")); + $vbox2->pack_start( $label_, 0, 0, 0); + $label_->show; + my $hbox = new Gtk::HBox(0, 0); + $hbox->show; + $vbox2->pack_start($hbox,0,0,0); + my $darea1= new Gtk::DrawingArea(); + $darea1->size(350,12); + $darea1->set_usize(340,12); + $frame0 = new Gtk::Frame; + $frame0->add($darea1); + $frame0->show; + $darea1->show; + $frame0->set_shadow_type('etched_out'); + $hbox->pack_start($frame0,1,0,0); + my $socket = new Gtk::Socket; + $global_socket = \$socket; + $vbox->pack_start($socket, 1, 1, 0); + $notebook_global->append_page($vbox, ""); + $nb_pages++; + $tree_launched{$label}->[0]=$nb_pages; + $notebook_global->set_page($nb_pages); + $tree_launched{$_}->[0] or ${$tree_launched{$_}->[1]} and ${$tree_launched{$_}->[1]}->set_sensitive(0) foreach (keys %tree_launched); + my $anim_nb=0; + $global_time_tag = Gtk->timeout_add(100, sub { + $darea1->window->draw_pixmap + ($darea1->style->white_gc, + $anim[$anim_nb]->[0], 0, 0, + ($darea1->allocation->[2]-340)/2, ($darea1->allocation->[3]-15)/2, + 350, 13); + $anim_nb++; + $anim_nb > 9 and $anim_nb=0; + 1; + }); + $lock_time_tag = Gtk->timeout_add(15000, sub { + Gtk->timeout_remove($global_time_tag); + ${$tree_launched{$_}->[1]} and ${$tree_launched{$_}->[1]}->set_sensitive(1) foreach (keys %tree_launched); + $vbox->pack_start(new Gtk::Label (_("After 20 sec., Failed to launch \nSee if it's installed")), 1, 1, 0); + $label_->set(_("After 15 sec., Failed to launch \nSee if it's installed")); $darea1->hide; + }); + + $socket->realize; +# $label->destroy; + my $a = $exec_string . " --embedded " . $socket->window->XWINDOW . " " . $$; + my $pid; + unless ($pid = fork) { + splash_warning(_("cannot fork: $~")) unless defined $pid; + exec("$a"); + } + $pid_launched[$nb_pages-1] = $pid; + } else { + $notebook_global->set_page($tree_launched{$label}->[0]); + } +} + +sub launch_wait { + my ($exec, $grep, $num, $zz) = @_; +# print "{{ $exec }}\n"; + my $b = "xwininfo -root -tree -int | grep '" . $grep . "'"; + my @before = split ('\n', `$b`); + unless ($pid = fork) { + die(_("cannot fork: $~")) unless defined $pid; + exec($exec); + } + $pid_launched[$nb_pages] = $pid; + $nb_pages++; + my $res = 0; + while (!$res) { + my @after = split ('\n', `$b`); + while (@after ne ($num+@before)) { + @after = split ('\n', `$b`); + } + print "@after\n"; + my $i = 0; + my $c; + foreach (@after) { +# print "[[" . $after[$i] . "]]\n" if !member($after[$i], @before); + $c = $after[$i] if !member($after[$i], @before); + $i++; + } + $c =~ /\s*([0-9]*)\s*/; + $res=$1; +# print "[" . $res . "]\n"; + } + $res; +} + #------------------------------------------------------------- # sub #------------------------------------------------------------- @@ -324,126 +450,6 @@ sub xpm_label_box { return ($box); } -sub exec_treeitem { - my ($label, $exec_string, $available) = @_; - $scrolled_global->set_usize($label eq _("Software Manager") ? 1 : 210, 0); - if (!$available) { - my $vbox = new Gtk::VBox(0, 0); - $vbox->pack_start( new Gtk::Label (_("The application cannot be loaded,\nthe file '%s' has not be found.\nTry to install it.", $exec_string)), 1, 0, 0); - $vbox->show_all; - $notebook_global->append_page($vbox, ""); - $nb_pages++; - $tree_launched{$label}->[0]=$nb_pages; - $notebook_global->set_page($nb_pages); - return; - } - if (!$tree_launched{$label}->[0]) { - - if ($label eq _("Console")) { - my $socket = new Gtk::Socket; - $notebook_global->append_page($socket, new Gtk::Label("")); - $nb_pages++; - $tree_launched{$label}->[0]=$nb_pages; - $notebook_global->set_page($nb_pages); - $socket->realize; - $socket->steal(launch_wait("rxvt", "rxvt",1)); - $notebook_global->show_all(); - $notebook_global->set_page($nb_pages); - return; - } - #$label eq _("Samba Conf") and system($exec_string . " & "), return; - my $vbox = new Gtk::VBox(0, 0); - $vbox->show; - my $vbox2 = new Gtk::VBox(0, 0); - $vbox2->show; - $global_vbox=\$vbox2; - $vbox->pack_start($vbox2,1,0,0); - my $label_ = new Gtk::Label (_("Please wait while loading ...")); - $vbox2->pack_start( $label_, 0, 0, 0); - $label_->show; - my $hbox = new Gtk::HBox(0, 0); - $hbox->show; - $vbox2->pack_start($hbox,0,0,0); - my $darea1= new Gtk::DrawingArea(); - $darea1->size(350,12); - $darea1->set_usize(340,12); - $frame0 = new Gtk::Frame; - $frame0->add($darea1); - $frame0->show; - $darea1->show; - $frame0->set_shadow_type('etched_out'); - $hbox->pack_start($frame0,1,0,0); - my $socket = new Gtk::Socket; - $global_socket = \$socket; - $vbox->pack_start($socket, 1, 1, 0); - $notebook_global->append_page($vbox, ""); - $nb_pages++; - $tree_launched{$label}->[0]=$nb_pages; - $notebook_global->set_page($nb_pages); - $tree_launched{$_}->[0] or ${$tree_launched{$_}->[1]} and ${$tree_launched{$_}->[1]}->set_sensitive(0) foreach (keys %tree_launched); - my $anim_nb=0; - $global_time_tag = Gtk->timeout_add(100, sub { - $darea1->window->draw_pixmap - ($darea1->style->white_gc, - $anim[$anim_nb]->[0], 0, 0, - ($darea1->allocation->[2]-340)/2, ($darea1->allocation->[3]-15)/2, - 350, 13); - $anim_nb++; - $anim_nb > 9 and $anim_nb=0; - 1; - }); - $lock_time_tag = Gtk->timeout_add(15000, sub { - Gtk->timeout_remove($global_time_tag); - ${$tree_launched{$_}->[1]} and ${$tree_launched{$_}->[1]}->set_sensitive(1) foreach (keys %tree_launched); - $vbox->pack_start(new Gtk::Label (_("After 20 sec., Failed to launch \nSee if it's installed")), 1, 1, 0); - $label_->set(_("After 15 sec., Failed to launch \nSee if it's installed")); $darea1->hide; - }); - - $socket->realize; -# $label->destroy; - my $a = $exec_string . " --embedded " . $socket->window->XWINDOW . " " . $$; - my $pid; - unless ($pid = fork) { - splash_warning(_("cannot fork: $~")) unless defined $pid; - exec("$a"); - } - $pid_launched[$nb_pages-1] = $pid; - } else { - $notebook_global->set_page($tree_launched{$label}->[0]); - } -} - -sub launch_wait { - my ($exec, $grep, $num, $zz) = @_; -# print "{{ $exec }}\n"; - my $b = "xwininfo -root -tree -int | grep '" . $grep . "'"; - my @before = split ('\n', `$b`); - unless ($pid = fork) { - die(_("cannot fork: $~")) unless defined $pid; - exec($exec); - } - $pid_launched[$nb_pages] = $pid; -# $nb_pages++; - my $res = 0; - while (!$res) { - my @after = split ('\n', `$b`); - while (@after ne ($num+@before)) { - @after = split ('\n', `$b`); - } - print "@after\n"; - my $i = 0; - my $c; - foreach (@after) { -# print "[[" . $after[$i] . "]]\n" if !member($after[$i], @before); - $c = $after[$i] if !member($after[$i], @before); - $i++; - } - $c =~ /\s*([0-9]*)\s*/; - $res=$1; -# print "[" . $res . "]\n"; - } - $res; -} #------------------------------------------------------------- # menu related functions |