diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/tlpkg/dev/tlmgrgui2.pl | 207 |
1 files changed, 123 insertions, 84 deletions
diff --git a/Master/tlpkg/dev/tlmgrgui2.pl b/Master/tlpkg/dev/tlmgrgui2.pl index 4e4eeac435d..60d13547435 100644 --- a/Master/tlpkg/dev/tlmgrgui2.pl +++ b/Master/tlpkg/dev/tlmgrgui2.pl @@ -144,23 +144,25 @@ $::action_button_state = ($::we_can_save ? "normal" : "disabled"); my $tlmgrrev = give_version(); chomp($tlmgrrev); -our $top = $mw->Frame; +#our $top = $mw->Frame; my $menu = $mw->Menu(); my $menu_file = $menu->Menu(); my $menu_options = $menu->Menu(); my $menu_actions = $menu->Menu(); my $menu_help = $menu->Menu(); -$menu->add('cascade', -label => "File", -menu => $menu_file); -$menu->add('cascade', -label => "Options", -menu => $menu_options); -$menu->add('cascade', -label => "Actions", -menu => $menu_actions); -$menu->add('cascade', -label => "Help", -menu => $menu_help); -$menu->add('separator'); -$menu->add('command', -label => "Loaded repository: none", - -command => sub { $location = $tlpdb_location; - update_loaded_location_string(); - run_update_functions(); - }); +$menu->add('cascade', -label => __("File"), -menu => $menu_file); +$menu->add('cascade', -label => __("Options"), -menu => $menu_options); +$menu->add('cascade', -label => __("Actions"), -menu => $menu_actions); +# on win32 people expect to have the Help button on the right side +if (win32()) { $menu->add('separator'); } +$menu->add('cascade', -label => __("Help"), -menu => $menu_help); +#$menu->add('separator'); +#$menu->add('command', -label => __("Loaded repository:") . __("none"), +# -command => sub { $location = $tlpdb_location; +# update_loaded_location_string(); +# run_update_functions(); +# }); # -activebackground => $menu->cget(-background)); # @@ -174,20 +176,20 @@ $menu_file->add('command', run_update_functions(); }); if (defined($cmdline_location)) { - $menu_file->add('command', -label => "Load cmd line repository: $cmdline_location", + $menu_file->add('command', -label => __("Load cmd line repository:") . " $cmdline_location", -command => sub { $location = $cmdline_location; update_loaded_location_string(); run_update_functions(); }); } -$menu_file->add('command', -label => "Load default net repository: $TeXLiveURL", +$menu_file->add('command', -label => __("Load default net repository:") . " $TeXLiveURL", -command => sub { $location = $TeXLiveURL; update_loaded_location_string(); run_update_functions(); }); -$menu_file->add('command', -label => "Load other repository ...", +$menu_file->add('command', -label => __("Load other repository ..."), -command => sub { menu_edit_location(); }); $menu_file->add('separator'); $menu_file->add('command', -label => __("Quit"), @@ -200,8 +202,10 @@ $menu_options->add('command', -label => __("General ..."), -command => sub { do_general_settings(); }); $menu_options->add('command', -label => __("Paper ..."), -command => sub { do_paper_settings(); }); -$menu_options->add('command', -label => __("Architectures ..."), - -command => sub { do_arch_settings(); }); +if (!win32()) { + $menu_options->add('command', -label => __("Architectures ..."), + -command => sub { do_arch_settings(); }); +} $menu_options->add('separator'); $menu_options->add('checkbutton', -label => __("Debug"), -onvalue => ($::opt_verbosity == 0 ? 1 : $::opt_verbosity), @@ -305,7 +309,7 @@ $mw->configure(-menu => $menu); our $back_f1 = $mw->Frame(); # pack .top .back -side top -fill both -expand 1 -$top->pack(-fill => 'x', @p_ii); +#$top->pack(-fill => 'x', @p_ii); $back_f1->pack(@x_xy); #require ("do_listframe.pl"); @@ -316,18 +320,25 @@ my $list_frame = $back_f1->Labelframe(-text => "Packages"); my $g = $list_frame->Scrolled('HList', -scrollbars => "se", -bd => 0, -command => \&show_extended_info, # does not work, double click! -columns => 7, -header => 1, - -borderwidth => 0, -padx => 0, -pady => 0, + -borderwidth => 0, #-padx => 0, -pady => 0, -separator => "/", -selectmode => "none"); +my $loaded_button = $back_f1->Button(-text => __("Loaded repository:") . __(" none"), + -relief => 'flat', + -command => sub { $location = $tlpdb_location; + update_loaded_location_string(); + run_update_functions(); + }); +$loaded_button->pack(-anchor => 'e', -padx => 0, -pady => 0, -ipadx => 0, -ipady => 0); # install screen -my $top_frame = $back_f1->Labelframe(-text => "Display configuration"); -$top_frame->pack(@x_x, @p_ii); +my $top_frame = $back_f1->Labelframe(-text => __("Display configuration")); +$top_frame->pack(@x_x, -padx => '2m'); my $filter_frame = $top_frame->Frame(); $filter_frame->pack; -my $filter_status = $filter_frame->Labelframe(-text => "Status"); +my $filter_status = $filter_frame->Labelframe(-text => __("Status")); $filter_status->pack(@left, @p_ii); my $status_all = 0; @@ -335,65 +346,80 @@ my $status_only_installed = 1; my $status_only_not_installed = 2; my $status_only_updated = 3; my $status_value = 0; -$filter_status->Radiobutton(-text => "all", -command => \&update_grid, +$filter_status->Radiobutton(-text => __("all"), -command => \&update_grid, -variable => \$status_value, -value => $status_all)->pack(@a_w); -$filter_status->Radiobutton(-text => "installed", -command => \&update_grid, +$filter_status->Radiobutton(-text => __("installed"), -command => \&update_grid, -variable => \$status_value, -value => $status_only_installed)->pack(@a_w); -$filter_status->Radiobutton(-text => "not installed", -command => \&update_grid, +$filter_status->Radiobutton(-text => __("not installed"), -command => \&update_grid, -variable => \$status_value, -value => $status_only_not_installed)->pack(@a_w); -$filter_status->Radiobutton(-text => "with updates", -command => \&update_grid, +$filter_status->Radiobutton(-text => __("with updates"), -command => \&update_grid, -variable => \$status_value, -value => $status_only_updated)->pack(@a_w); -my $filter_category = $filter_frame->Labelframe(-text => "Category"); +my $filter_category = $filter_frame->Labelframe(-text => __("Category")); $filter_category->pack(@left, @x_y, @p_ii); my $show_packages = 1; my $show_collections = 1; my $show_schemes = 1; -$filter_category->Checkbutton(-text => "packages", -command => \&update_grid, +$filter_category->Checkbutton(-text => __("packages"), -command => \&update_grid, -variable => \$show_packages)->pack(@a_w); -$filter_category->Checkbutton(-text => "collections", -command => \&update_grid, +$filter_category->Checkbutton(-text => __("collections"), -command => \&update_grid, -variable => \$show_collections)->pack(@a_w); -$filter_category->Checkbutton(-text => "schemes", -command => \&update_grid, +$filter_category->Checkbutton(-text => __("schemes"), -command => \&update_grid, -variable => \$show_schemes)->pack(@a_w); -my $filter_match = $filter_frame->Labelframe(-text => "Match"); +my $filter_match = $filter_frame->Labelframe(-text => __("Match")); $filter_match->pack(@left, @x_y, @p_ii); my $match_string = 0; -$filter_match->Checkbutton(-text => "matching:", +$filter_match->Checkbutton(-text => __("matching:"), + -command => \&update_grid, -variable => \$match_string)->pack(@a_w); my $match_entry = $filter_match->Entry(-width => 15, -validate => 'key', )->pack(@a_w, -padx => '2m', @x_x); $match_entry->configure(-validate => 'key', - -validatecommand => sub { $match_string = 1; update_grid(); return 1; }); + -validatecommand => sub { my $new_val = shift; + if (!$new_val) { + $match_string = 0; + } else { + $match_string = 1; + } + update_grid(); return 1; }); -my $filter_selection = $filter_frame->Labelframe(-text => "Selection"); +my $filter_selection = $filter_frame->Labelframe(-text => __("Selection")); $filter_selection->pack(@left, @x_y, @p_ii); my $selection_value = 0; $filter_selection->Radiobutton(-text => "all", -command => \&update_grid, -variable => \$selection_value, -value => 0)->pack(@a_w); -$filter_selection->Radiobutton(-text => "selected", -command => \&update_grid, - -variable => \$selection_value, -value => 1)->pack(@a_w); -$filter_selection->Radiobutton(-text => "not selected", -command => \&update_grid, - -variable => \$selection_value, -value => 2)->pack(@a_w); +$filter_selection->Radiobutton(-text => __("selected"), + -command => \&update_grid, -variable => \$selection_value, -value => 1) + ->pack(@a_w); +$filter_selection->Radiobutton(-text => __("not selected"), + -command => \&update_grid, -variable => \$selection_value, -value => 2) + ->pack(@a_w); -my $filter_button = $filter_frame->Labelframe(-text => "Action"); +my $filter_button = $filter_frame->Frame; +#my $filter_button = $filter_frame->Labelframe(-text => __("Action")); $filter_button->pack(@left, @x_y, @p_ii); -#$filter_button->Button(-text => "Apply filters", +#$filter_button->Button(-text => __("Apply filters"), # -command => sub { update_grid(); })->pack(@a_c, @p_ii); -$filter_button->Button(-text => "Reset filters", +$filter_button->Button(-text => __("Select all"), + -command => [ \&update_grid, 1 ])->pack(@x_x, @a_c); +$filter_button->Button(-text => __("Select none"), + -command => [ \&update_grid, 0 ])->pack(@x_x, @a_c); + +$filter_button->Button(-text => __("Reset filters"), -command => sub { $status_value = $status_all; $show_packages = 1; $show_collections = 1; $show_schemes = 1; $selection_value = 0; $match_string = 0; update_grid(); - })->pack(@left, @a_c, @p_ii); + })->pack(@x_x, @a_c); ########## Packages ####################### -#my $list_frame = $back_f1->Labelframe(-text => "Packages"); +#my $list_frame = $back_f1->Labelframe(-text => __("Packages"); $list_frame->pack(@x_xy, @p_ii); #my $g = $list_frame->Scrolled('HList', -scrollbars => "se", -bd => 0, # -command => \&show_extended_info, # does not work, double click! @@ -413,23 +439,23 @@ my @htype = qw/-relief ridge/; #my $all_none; #$all_none = $g->Checkbutton(-command => [\&update_grid, $all_none->{'Value'} ]); #$g->headerCreate(0, @htype, -itemtype => 'window', -widget => $all_none); -my $f = $g->Frame(); -my $bi = $f->Button(-padx => 1, -pady => 3, - -text => 'all', -command => [ \&update_grid, 1 ]); -my $bii= $f->Button(-padx => 1, -pady => 3, - -text => 'none', -command => [ \&update_grid, 0 ]); -$bi->pack(@left); -$bii->pack(@right); -$g->headerCreate(0, @htype, -itemtype => 'window', -widget => $f); -$g->headerCreate(1, @htype, -itemtype => 'text', -text => "Package"); -$g->headerCreate(2, @htype, -itemtype => 'text', -text => "Local\nRevision"); -$g->headerCreate(3, @htype, -itemtype => 'text', -text => "Remote\nRevision"); -$g->headerCreate(4, @htype, -itemtype => 'text', -text => "Local\nVersion"); -$g->headerCreate(5, @htype, -itemtype => 'text', -text => "Remote\nVersion"); -$g->headerCreate(6, @htype, -itemtype => 'text', -text => "Short Desc"); - -$g->columnWidth(4, -char => 10); -$g->columnWidth(5, -char => 10); +#my $f = $g->Frame(); +#my $bi = $f->Button(-padx => 1, -pady => 3, +# -text => 'all', -command => [ \&update_grid, 1 ]); +#my $bii= $f->Button(-padx => 1, -pady => 3, +# -text => 'none', -command => [ \&update_grid, 0 ]); +#$bi->pack(@left); +#$bii->pack(@right); +#$g->headerCreate(0, @htype, -itemtype => 'window', -widget => $f); +$g->headerCreate(0, @htype, -itemtype => 'text', -text => ""); +$g->headerCreate(1, @htype, -itemtype => 'text', -text => __("Package name")); +$g->headerCreate(2, @htype, -itemtype => 'text', -text => __("Local rev. (ver.)")); +$g->headerCreate(3, @htype, -itemtype => 'text', -text => __("Remote rev. (ver.)")); +$g->headerCreate(4, @htype, -itemtype => 'text', -text => __("Short description")); + +$g->columnWidth(0, 40); +$g->columnWidth(2, -char => 15); +$g->columnWidth(3, -char => 15); setup_list(); update_grid(); @@ -441,12 +467,12 @@ sub show_extended_info { my $sw = $mw->Toplevel(-title => __("Details on:") . $p); $sw->transient($mw); - $sw->Label(-text => "Package:")->grid( + $sw->Label(-text => __("Package:"))->grid( $sw->Label(-text => $p), -sticky => "nw"); - $sw->Label(-text => "Category:")->grid( + $sw->Label(-text => __("Category:"))->grid( $sw->Label(-text => $Packages{$p}{'tlp'}->category), -sticky => "nw"); - $sw->Label(-text => "Short Desc:")->grid( + $sw->Label(-text => __("Short description:"))->grid( $sw->Label(-wraplength => '500', -justify => 'left', -text => $Packages{$p}{'tlp'}->shortdesc), -sticky => "nw"); @@ -455,19 +481,29 @@ sub show_extended_info { # -width => 50, -wrap => 'word', -relief => 'flat'); #$t->insert("1.0", $Packages{$p}{'tlp'}->longdesc); #$sw->Label(-text => "Long Desc:")->grid($t, -sticky => 'nw'); - $sw->Label(-text => "Long Desc:")->grid( + $sw->Label(-text => __("Long description:"))->grid( $sw->Label(-wraplength => '500', -justify => 'left', -text => $Packages{$p}{'tlp'}->longdesc), -sticky => "nw"); - $sw->Label(-text => "Installed:")->grid( - $sw->Label(-text => ($Packages{$p}{'installed'} ? "Yes" : "No")), + $sw->Label(-text => __("Installed:"))->grid( + $sw->Label(-text => ($Packages{$p}{'installed'} ? __("Yes") : __("No"))), -sticky => "nw"); - $sw->Label(-text => "Local Revision:")->grid( + $sw->Label(-text => __("Local Revision:"))->grid( $sw->Label(-text => $Packages{$p}{'localrevision'}), -sticky => "nw"); - $sw->Label(-text => "Remote Revision:")->grid( + if (defined($Packages{$p}{'localcatalogueversion'})) { + $sw->Label(-text => __("Local Catalogue Version:"))->grid( + $sw->Label(-text => $Packages{$p}{'localcatalogueversion'}), + -sticky => "nw"); + } + $sw->Label(-text => __("Remote Revision:"))->grid( $sw->Label(-text => $Packages{$p}{'remoterevision'}), -sticky => "nw"); + if (defined($Packages{$p}{'remotecatalogueversion'})) { + $sw->Label(-text => __("Remote Catalogue Version:"))->grid( + $sw->Label(-text => $Packages{$p}{'remotecatalogueversion'}), + -sticky => "nw"); + } $sw->Button(-text => __("Ok"), -width => 10, -command => sub { $sw->destroy; })->grid(-columnspan => 2); @@ -516,15 +552,17 @@ sub update_grid { $Packages{$p}{'cb'}->configure(-background => ($i%2?'gray90':'gray70')); $g->itemCreate($p, 1, -itemtype => 'text', -style => $st, -text => $Packages{$p}{'displayname'}); - $g->itemCreate($p, 2, -itemtype => 'text', -style => $st, - -text => ($Packages{$p}{'localrevision'} || '')); - $g->itemCreate($p, 3, -itemtype => 'text', -style => $st, - -text => ($Packages{$p}{'remoterevision'} || '')); + my $t = ($Packages{$p}{'localrevision'} || ''); + if ($Packages{$p}{'localcatalogueversion'}) { + $t .= " ($Packages{$p}{'localcatalogueversion'})"; + } + $g->itemCreate($p, 2, -itemtype => 'text', -style => $st, -text => $t); + $t = ($Packages{$p}{'remoterevision'} || ''); + if ($Packages{$p}{'remotecatalogueversion'}) { + $t .= " ($Packages{$p}{'remotecatalogueversion'})"; + } + $g->itemCreate($p, 3, -itemtype => 'text', -style => $st, -text => $t); $g->itemCreate($p, 4, -itemtype => 'text', -style => $st, - -text => ($Packages{$p}{'localcatalogueversion'} || '')); - $g->itemCreate($p, 5, -itemtype => 'text', -style => $st, - -text => ($Packages{$p}{'remotecatalogueversion'} || '')); - $g->itemCreate($p, 6, -itemtype => 'text', -style => $st, -text => $Packages{$p}{'tlp'}->shortdesc); $i++; } @@ -597,13 +635,14 @@ sub MatchesFilters { ####### actions frame -my $bot_frame = $back_f1->Labelframe(-text => "Actions"); +#my $bot_frame = $back_f1->Labelframe(-text => "Actions"); +my $bot_frame = $back_f1->Frame; $bot_frame->pack(@x_x, @p_ii); my $actions_frame = $bot_frame->Frame; $actions_frame->pack(); -my $with_sel_frame = $actions_frame->Labelframe(-text => "with selected"); +my $with_sel_frame = $actions_frame->Labelframe(-text => __("with selected")); $with_sel_frame->pack(@left, @p_ii); @@ -621,26 +660,26 @@ my $action_apply_filter = 1; # -variable => \$action_apply_filter, -value => 0)->pack(@left, @p_ii); # -$with_sel_frame->Button(-text => 'Install', +$with_sel_frame->Button(-text => __('Install'), -state => $::action_button_state, -command => sub { install_selected_packages(); } )->pack(@left, @p_ii); -$with_sel_frame->Button(-text => 'Update', +$with_sel_frame->Button(-text => __('Update'), -state => $::action_button_state, -command => sub { update_selected_packages(); } )->pack(@left, @p_ii); -$with_sel_frame->Button(-text => 'Remove', +$with_sel_frame->Button(-text => __('Remove'), -state => $::action_button_state, -command => sub { remove_selected_packages(); } )->pack(@left, @p_ii); -$with_sel_frame->Button(-text => 'Backup', +$with_sel_frame->Button(-text => __('Backup'), -state => $::action_button_state, -command => sub { backup_selected_packages(); } )->pack(@left, @p_ii); -my $with_all_frame = $actions_frame->Labelframe(-text => "with all"); +my $with_all_frame = $actions_frame->Labelframe(-text => __("with all")); $with_all_frame->pack(@left, @p_ii); -$with_all_frame->Button(-text => 'Update all', +$with_all_frame->Button(-text => __('Update all'), -state => $::action_button_state, -command => sub { update_all_packages(); } )->pack(@a_c,@left,@p_ii); @@ -1558,7 +1597,7 @@ sub menu_edit_location { sub update_loaded_location_string { my $arg = shift; $arg || ($arg = $location); - $menu->entryconfigure('end', -label => "Loaded repository: $arg"); + $loaded_button->configure(-text => "Loaded repository: $arg"); } sub run_update_functions { |