summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-02-23 21:35:08 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-02-23 21:35:08 +0000
commit2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443 (patch)
treef361b49877b4cae89e712de368454833a21f5edf
parent2812763c984bdfdbdfa63a6e79570555cddcee1c (diff)
downloaddrakx-2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443.tar
drakx-2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443.tar.gz
drakx-2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443.tar.bz2
drakx-2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443.tar.xz
drakx-2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443.zip
(@graphical_steps): specify which step should be interactive
-rw-r--r--perl-install/install_steps_auto_install.pm16
1 files changed, 13 insertions, 3 deletions
diff --git a/perl-install/install_steps_auto_install.pm b/perl-install/install_steps_auto_install.pm
index 9eae1794d..3fadfc6ad 100644
--- a/perl-install/install_steps_auto_install.pm
+++ b/perl-install/install_steps_auto_install.pm
@@ -3,10 +3,12 @@ package install_steps_auto_install; # $Id$
use diagnostics;
use strict;
use lang;
-use vars qw(@ISA $graphical);
+use vars qw(@ISA $graphical @graphical_steps);
@ISA = qw(install_steps);
+@graphical_steps = qw(enteringStep installPackages);
+
use modules;
@@ -22,8 +24,16 @@ sub new {
if ($graphical) {
require install_steps_gtk;
- undef *enteringStep; *enteringStep = \&install_steps_gtk::enteringStep;
- undef *installPackages; *installPackages = \&install_steps_gtk::installPackages;
+ push @ISA, 'interactive_gtk';
+ foreach my $f (@graphical_steps) {
+ no strict 'refs';
+ my $pkg = $install_steps_gtk::{$f} ? 'install_steps_gtk' : 'install_steps_interactive';
+ log::l("install_steps_auto_install: adding function ", $pkg, "::", $f);
+ *{"install_steps_auto_install::$f"} = sub {
+ local @ISA = ('install_steps_gtk', @ISA);
+ &{$pkg . '::' . $f};
+ };
+ }
goto &install_steps_gtk::new;
} else {
(bless {}, ref $type || $type)->SUPER::new($o);