diff options
Diffstat (limited to 'Master/tlpkg/TeXLive')
-rw-r--r-- | Master/tlpkg/TeXLive/install-menu-perltk.pl | 53 |
1 files changed, 39 insertions, 14 deletions
diff --git a/Master/tlpkg/TeXLive/install-menu-perltk.pl b/Master/tlpkg/TeXLive/install-menu-perltk.pl index 918ea543217..db325257ad9 100644 --- a/Master/tlpkg/TeXLive/install-menu-perltk.pl +++ b/Master/tlpkg/TeXLive/install-menu-perltk.pl @@ -6,11 +6,8 @@ # This file is licensed under the GNU General Public License version 2 # or any later version. # -# This file WILL implements the text based menu system for the TeX Live installer. -# # # MISSING SUPPORT FOR: -# - update systems from net # - TEXMFHOME ??? our %vars; @@ -274,9 +271,41 @@ sub menu_select_symlink { } sub menu_select_binsystems { + our $f2r; + our $f2; + our @netarchs = (); + sub update_net_archs() { + my $oldnrnetarch = $#netarchs; + $trynet = 1; + set_platforms_supported(); + $trynet=0; + @netarchs = (); + foreach my $key (keys %vars) { + if ($key=~/netbin_(.*)/) { + push @netarchs, $1; + $from_net{"$1"}=1; + } + } + menu_update_texts(); + if ($#netarchs != $oldnrnetarch) { + # we have to destroy the old $f2r frame and make a new one + $f2r->destroy; + do_net_frame(); + } + } + sub do_net_frame { + $f2r = $f2->Frame; + if ($#netarchs >= 0) { + $f2r->Label(-text => 'On Net')->pack; + foreach my $sys (sort @netarchs) { + $f2r->Checkbutton(-variable => \$vars{"netbin_$sys"}, -text => "$sys")->pack(-anchor => 'w'); + } + $f2r->pack(-side => 'right'); + } + $f2->pack; + } my $sw = $mw->Toplevel; my @diskarchs = (); - my @netarchs = (); foreach my $key (keys %vars) { if ($key=~/diskbin_(.*)/) { push @diskarchs, $1; @@ -288,22 +317,18 @@ sub menu_select_binsystems { } } $sw->Label(-text => 'Select arch/os')->pack; - my $f2 = $sw->Frame; + $f2 = $sw->Frame; my $f2l = $f2->Frame; - my $f2r = $f2->Frame; $f2l->Label(-text => 'On Disk')->pack; foreach my $sys (sort @diskarchs) { $f2l->Checkbutton(-variable => \$vars{"diskbin_$sys"}, -text => $sys)->pack(-anchor => 'w'); } $f2l->pack(-side => 'left'); - if ($#netarchs >= 0) { - $f2r->Label(-text => 'On Net')->pack; - foreach my $sys (sort @netarchs) { - $sw->Checkbutton(-variable => \$vars{"netbin_$sys"}, -text => "$sys")->pack(-anchor => 'w'); - } - $f2r->pack(-side => 'right'); - } - $f2->pack; + do_net_frame(); + my $f4 = $sw->Frame; + $f4->pack; + $f4->Button(-text => 'Click for net bins', + -command => sub { update_net_archs(); })->pack; my $f3 = $sw->Frame; $f3->Button(-text => "Return", -command => sub { callback_select_systems() ; $sw->destroy })->pack(-side => 'left'); |