summaryrefslogtreecommitdiffstats
path: root/docs
Commit message (Expand)AuthorAgeFilesLines
* kill dead emailsThierry Vignaud2012-01-273-3/+3
* Synthesized commit during git-svn import combining previous Mandriva history ...Mageia SVN-Git Migration2011-02-066-1571/+18
* update the PDF docAntoine Ginies2010-05-071-0/+0
* update the html docAntoine Ginies2010-05-071-37/+34
* fix some typoAntoine Ginies2010-05-071-3/+0
* add a noprint macroAntoine Ginies2010-05-071-0/+4
* improve pdf layoutAntoine Ginies2010-05-071-0/+0
* update the pdf docAntoine Ginies2010-05-071-0/+0
* fix titleAntoine Ginies2010-05-072-35/+35
* add mode info/warningAntoine Ginies2010-05-072-44/+55
* add a post duplication sectionAntoine Ginies2010-05-073-2/+147
* update the pdf docAntoine Ginies2010-05-071-0/+0
* update the html doc Antoine Ginies2010-05-071-281/+824
* major update of the doc, with a full step by step explanationAntoine Ginies2010-05-071-248/+812
* update the docAntoine Ginies2010-05-064-53/+57
* add a revision historyAntoine Ginies2010-02-042-32/+38
* update the html docAntoine Ginies2010-02-041-75/+63
* update the docAntoine Ginies2010-02-041-48/+36
* remove obsolete stuff from docPascal Rigaux2009-02-011-2/+0
* get rid of old obsolete doc. to build use rpmbuild (or bm) on packagesPascal Rigaux2008-10-091-126/+0
* update the *old* docPascal Rigaux2008-10-091-57/+18
* full documentation about KA methodAntoine Ginies2007-10-2610-0/+2698
* update docPascal Rigaux2007-09-201-2/+3
* update docPascal Rigaux2007-08-211-3/+3
* update some docPascal Rigaux2007-08-211-13/+2
* fix urlPascal Rigaux2007-07-021-1/+1
* fix linksPascal Rigaux2007-06-251-2/+2
* re-sync after the big svn lossPascal Rigaux2007-04-253-69/+14
* remove obsolete docsPascal Rigaux2006-03-039-1468/+0
* update auto_install doc urlPascal Rigaux2006-03-021-1/+1
* adapt to new cvs web urlPascal Rigaux2006-02-271-1/+1
* clean build requires:Thierry Vignaud2005-11-291-3/+3
* fix typoPascal Rigaux2005-10-191-1/+1
* *** empty log message ***Pascal Rigaux2005-10-181-0/+84
* *** empty log message ***Pascal Rigaux2005-09-221-0/+18
* fix requires (gtk+-1.x => gtk+-2.x)Thierry Vignaud2005-08-261-2/+2
* we need xfsdump for /sbin/dump.xfsThierry Vignaud2005-08-171-1/+1
* fixPascal Rigaux2005-08-091-1/+1
* replace mandrake with mandrivaPascal Rigaux2005-08-091-4/+4
* - updateThierry Vignaud2005-08-031-3/+3
* Document that dietlibc-devel is now required to build giRafael Garcia-Suarez2005-05-061-1/+1
* update package list regarding gtk+ bindingsThierry Vignaud2005-03-291-1/+1
* add another required package (dmraid)Thierry Vignaud2005-02-101-1/+1
* Add some more necessary RPMsRafael Garcia-Suarez2005-02-081-1/+2
* *** empty log message ***Pascal Rigaux2005-02-081-0/+22
* - drop oem & recovery code (which was broken)Pascal Rigaux2004-11-291-79/+0
* - no more kernel/all.modules, things are in kernel/all.kernelsPascal Rigaux2004-11-221-11/+4
* major switch from ramdisk to clpPascal Rigaux2004-11-161-46/+7
* adapt to new directories layout:Pascal Rigaux2004-07-261-23/+23
* replace "Mandrake Linux" with "Mandrakelinux"Pascal Rigaux2004-07-192-5/+5
g; check_rpm($in, $o->{needed_rpm}) if ref($o->{needed_rpm}); if (defined $o->{init}) { my ($res, $msg) = &{$o->{init}}; if (!$res) { $in->ask_okcancel(N("Error"), $msg); die "wizard failled" if !$::testing; } } my @steps; # steps stack # initial step: my $next = 'welcome'; my $page = $o->{pages}{welcome}; while ($next) { local $::Wizard_no_previous = $page->{no_back}; local $::Wizard_no_cancel = $page->{no_cancel} || $page->{end}; local $::Wizard_finished = $page->{end}; defined $page->{pre} and $page->{pre}($page); die qq(inexistant "$next" wizard step) if is_empty_hash_ref($page); # FIXME or the displaying fails my $data = defined $page->{data} ? (ref($page->{data}) eq 'CODE' ? $page->{data}->() : $page->{data}) : []; my $data2; foreach my $d (@$data) { $d->{val} = ${$d->{val_ref}} if $d->{val_ref}; $d->{list} = $d->{list_ref} if $d->{list_ref}; #$d->{val} = ref($d->{val}) eq 'CODE' ? $d->{val}->() : $d->{val}; if ($d->{boolean_list}) { my $i; foreach (@{$d->{boolean_list}}) { push @$data2, { text => $_, type => 'bool', val => \${$d->{val}}->[$i], disabled => $d->{disabled} }; $i++; } } else { push @$data2, $d; } } my $name = ref($page->{name}) ? $page->{name}->() : $page->{name}; my %yesno = (yes => N("Yes"), no => N("No")); my $yes = ref($page->{default}) eq 'CODE' ? $page->{default}->() : $page->{default}; $data2 = [ { val => \$yes, type => 'list', list => [ keys %yesno ], format => sub { $yesno{$_[0]} }, gtk => { use_boxradio => 1 } } ] if $page->{type} eq "yesorno"; my $a; if (ref $data2 eq 'ARRAY' && @$data2) { $a = $in->ask_from_({ title => $o->{name}, messages => $name, callbacks => { map { $_ => $page->{$_} || $default_callback{$_} } qw(focus_out complete) }, if_($page->{interactive_help_id}, interactive_help_id => $page->{interactive_help_id}), }, $data2); } else { $a = $in->ask_okcancel($o->{name}, $name, $yes || 'ok'); } # interactive->ask_yesorno does not support stepping forward or backward: $a = $yes if $a && $page->{type} eq "yesorno"; if ($a) { # step forward: push @steps, $next if !$page->{ignore} && $steps[-1] ne $next; my $current = $next; $next = defined $page->{post} ? $page->{post}($page->{type} eq "yesorno" ? $yes eq 'yes' : $a) : 0; return if $page->{end}; if (!$next) { if (!defined $o->{pages}{$next}) { $next = $page->{next}; } else { die qq(the "$next" page (from previous wizard step) is undefined) if !$next; } } die qq(Step "$current": inexistant "$next" page) if !exists $o->{pages}{$next}; } else { # step back: $next = pop @steps; } $page = $o->{pages}{$next}; } } sub safe_process { my ($w, $wiz, $in) = @_; eval { $w->process($wiz, $in) }; my $err = $@; if ($err =~ /wizcancel/) { $in->exit(0); } else { die $err if $err; } } 1;