summaryrefslogtreecommitdiffstats
path: root/perl-install/install/steps_interactive.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install/steps_interactive.pm')
-rw-r--r--perl-install/install/steps_interactive.pm29
1 files changed, 15 insertions, 14 deletions
diff --git a/perl-install/install/steps_interactive.pm b/perl-install/install/steps_interactive.pm
index 1bfea5cd0..e458c1648 100644
--- a/perl-install/install/steps_interactive.pm
+++ b/perl-install/install/steps_interactive.pm
@@ -482,34 +482,35 @@ 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.");
+ my $message = N("You can choose your workstation desktop profile.\nSelect 'Custom' for multiple desktops or package selection.");
my $default_choice = (find { $rpmsrate_flags_chosen->{"CAT_" . $_->[0]} } @l) || $l[0];
- my $choice = $default_choice;
+ my $choose = $default_choice;
+ my %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 => \$choice, list => \@l, type => 'list', format => sub { $_[0][1] } },
+ { val => \$choose, list => \@l, type => 'list', format => sub { $_[0][1] } },
]);
}
- 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 @want = map { if ($_ eq 'Custom') {
+ $$chooseGroups = $choice{$_} } else {
+ $rpmsrate_flags_chosen->{"CAT_$_"} = $choice{$_} } } keys %choice;
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 {