diff options
-rw-r--r-- | NEWS | 2 | ||||
-rwxr-xr-x | rpmdrake | 11 | ||||
-rw-r--r-- | rpmdrake.pm | 4 |
3 files changed, 15 insertions, 2 deletions
@@ -4,6 +4,8 @@ o added dependencies section in package details panel (#39491) o enable to apply priority updates without trying to select any package + o search + * enable to disable use of regular expression (default is: disabled) Version 5.17 - 1 June 2009, Thierry Vignaud @@ -56,6 +56,9 @@ my %elems; sub do_search($$$$$$$) { my ($find_entry, $tree, $tree_model, $options, $current_search_type, $urpm, $pkgs) = @_; my $entry = $find_entry->get_text or return; + if (!$use_regexp->[0]) { + $entry = quotemeta $entry; + } # remove leading/trailing spacing when pasting: if ($entry !~ /\S\s\S/) { # if spacing in middle, likely a string search in description @@ -523,6 +526,7 @@ sub run_treeview_dialog { my $auto_string = N("/_Options") . N("/_Select dependencies without asking"); my $noclean_string = N("/_Options") . "/" . N("Clear download cache after successfull install"); my $updates_string = N("/_Options") . N("/_Compute updates on startup"); + my $regexp_search_string = N("/_Options") . "/" . N("Use _regular expressions in searches"); my ($menu, $factory) = create_factory_menu( $w->{real_window}, [ N("/_File"), undef, undef, undef, '<Branch>' ], @@ -566,9 +570,13 @@ sub run_treeview_dialog { [ N("/_Options") . N("/_Show automatically selected packages"), undef, sub { $dont_show_selections->[0] = !$checkbox_show_autoselect->get_active; }, undef, '<CheckItem>' ], + [ $updates_string, undef, sub { $compute_updates->[0] = $check_boxes{$updates_string}->get_active; }, undef, '<CheckItem>' ], + [ $regexp_search_string, undef, sub { + $use_regexp->[0] = $check_boxes{$regexp_search_string}->get_active; + }, undef, '<CheckItem>' ], ), [ N("/_View"), undef, undef, undef, '<Branch>' ], (map { @@ -618,7 +626,8 @@ sub run_treeview_dialog { %check_boxes = map { $_ => $factory->get_widget("<main>" . $get_path->($_)); - } ($auto_string, $noclean_string, $updates_string); + } ($auto_string, $noclean_string, $updates_string, $regexp_search_string); + $check_boxes{$regexp_search_string}->set_active($use_regexp->[0]); if (!$>) { $check_boxes{$auto_string}->set_active($::rpmdrake_options{auto}); $check_boxes{$updates_string}->set_active($compute_updates->[0]); diff --git a/rpmdrake.pm b/rpmdrake.pm index c593fe22..d8177885 100644 --- a/rpmdrake.pm +++ b/rpmdrake.pm @@ -60,6 +60,7 @@ our @EXPORT = qw( $rpmdrake_width $tree_flat $tree_mode + $use_regexp $typical_width add_distrib_update_media add_medium_and_check @@ -158,7 +159,7 @@ $ENV{HOME} = $> == 0 ? $root->[7] : $ENV{HOME} || '/root'; $ENV{HOME} = $::env if $::env = $Rpmdrake::init::rpmdrake_options{env}[0]; our $configfile = "$ENV{HOME}/.rpmdrake"; -our ($changelog_first_config, $compute_updates, $filter, $max_info_in_descr, $mode, $tree_flat, $tree_mode); +our ($changelog_first_config, $compute_updates, $filter, $max_info_in_descr, $mode, $tree_flat, $tree_mode, $use_regexp); our ($mandrakeupdate_wanted_categories, $ignore_debug_media, $offered_to_add_sources, $no_confirmation); our ($rpmdrake_height, $rpmdrake_width, $mandrivaupdate_height, $mandrivaupdate_width); our %config = ( @@ -178,6 +179,7 @@ our %config = ( rpmdrake_width => { var => \$rpmdrake_width, default => [ 0 ] }, tree_flat => { var => \$tree_flat, default => [ 0 ] }, tree_mode => { var => \$tree_mode, default => [ qw(gui_pkgs) ] }, + use_regexp => { var => \$use_regexp, default => [ 0 ] }, ); sub readconf() { |