From 2707019e8d43f78fd3913c0ca5f2d79d2fa20cc1 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 10 Jan 2003 13:38:50 +0000 Subject: simplify and factorize (now works on 1.upgrade 2.install 3.install + change existing config) --- perl-install/Xconfig/main.pm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'perl-install/Xconfig/main.pm') diff --git a/perl-install/Xconfig/main.pm b/perl-install/Xconfig/main.pm index 0e9f335c5..546ae6e64 100644 --- a/perl-install/Xconfig/main.pm +++ b/perl-install/Xconfig/main.pm @@ -140,6 +140,25 @@ sub configure_chooser { 'config_changed'; } +sub configure_everything_or_configure_chooser { + my ($in, $options, $auto, $keyboard, $mouse) = @_; + my $raw_X = Xconfig::xfree->read; + my $default = Xconfig::default::configure($keyboard, $mouse); + my $has_conf = @{$raw_X->{xfree3}} || @{$raw_X->{xfree4}}; + $raw_X->{xfree3} = $default->{xfree3} if !@{$raw_X->{xfree3}}; + $raw_X->{xfree4} = $default->{xfree4} if !@{$raw_X->{xfree4}}; + + return $raw_X if $has_conf && $auto; + + if ($has_conf) { + Xconfig::main::configure_chooser($in, $raw_X, $in->do_pkgs, $options) or return; + } else { + Xconfig::main::configure_everything($in, $raw_X, $in->do_pkgs, $auto, $options) or return; + } + $raw_X; +} + + sub may_write { my ($in, $raw_X, $X, $ok) = @_; -- cgit v1.2.1