summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYves Duret <yduret@mandriva.com>2001-08-13 11:44:30 +0000
committerYves Duret <yduret@mandriva.com>2001-08-13 11:44:30 +0000
commit624d07e6d14c2eb5f73c7b28131a76f4027e9588 (patch)
tree096ce915c52f0bc41a8fc98b8b144da19ffe31a3
parent85966fa57d0a3ca6cbf5d30b0f6f8bc68fad95df (diff)
downloadcontrol-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-xcontrol-center246
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