diff options
Diffstat (limited to 'perl-install/install/steps_interactive.pm')
-rw-r--r-- | perl-install/install/steps_interactive.pm | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/perl-install/install/steps_interactive.pm b/perl-install/install/steps_interactive.pm index e458c1648..1bfea5cd0 100644 --- a/perl-install/install/steps_interactive.pm +++ b/perl-install/install/steps_interactive.pm @@ -482,35 +482,34 @@ sub _chooseDesktop { my @l = group_by2( KDE => N("KDE"), GNOME => N("GNOME"), - MATE => N("MATE"), - XFCE => N("XFCE"), - LXDE => N("LXDE"), - RAZOR => N("RAZOR"), - E17 => N("E17"), Custom => N("Custom"), ); - my $title = N("Desktop Selection"); - my $message = N("You can choose your workstation desktop profile.\nSelect 'Custom' for multiple desktops or package selection."); + my $message = N("You can choose your workstation desktop profile."); my $default_choice = (find { $rpmsrate_flags_chosen->{"CAT_" . $_->[0]} } @l) || $l[0]; - my $choose = $default_choice; - my %choice; + my $choice = $default_choice; if ($o->isa('interactive::gtk')) { # perl_checker: require install::steps_gtk - %choice = install::steps_gtk::reallyChooseDesktop($o, $title, $message, \@l, $default_choice); + $choice = install::steps_gtk::reallyChooseDesktop($o, $title, $message, \@l, $default_choice); } else { $o->ask_from_({ title => $title, message => $message }, [ - { val => \$choose, list => \@l, type => 'list', format => sub { $_[0][1] } }, + { val => \$choice, list => \@l, type => 'list', format => sub { $_[0][1] } }, ]); } - - my @want = map { if ($_ eq 'Custom') { - $$chooseGroups = $choice{$_} } else { - $rpmsrate_flags_chosen->{"CAT_$_"} = $choice{$_} } } keys %choice; + my $desktop = $choice->[0]; + log::l("chosen Desktop: $desktop"); + my @desktops = ('KDE', 'GNOME'); + if (member($desktop, @desktops)) { + my ($want, $dontwant) = ($desktop, grep { $desktop ne $_ } @desktops); + $rpmsrate_flags_chosen->{"CAT_$want"} = 1; + $rpmsrate_flags_chosen->{"CAT_$dontwant"} = 0; my @flags = map_each { if_($::b, $::a) } %$rpmsrate_flags_chosen; log::l("flags ", join(' ', sort @flags)); install::any::unselectMostPackages($o); + } else { + $$chooseGroups = 1; + } } sub chooseGroups { |