diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2001-02-23 21:35:08 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2001-02-23 21:35:08 +0000 |
commit | 2b8b0d8eed2f7acea593bf79a45b0dbd0fbf3443 (patch) | |
tree | f361b49877b4cae89e712de368454833a21f5edf | |
parent | 2812763c984bdfdbdfa63a6e79570555cddcee1c (diff) | |
download | drakx-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.pm | 16 |
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); |