diff options
Diffstat (limited to 'rpmdrake')
-rwxr-xr-x | rpmdrake | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -53,6 +53,14 @@ our $statusbar; my %elems; +my ($results_ok, $results_none) = (N("Search results"), N("Search results (none)")); + +sub clear_search { + my ($options) = @_; + $options->{delete_category}->($_) foreach $results_ok, $results_none; + $options->{state}{flat} and $options->{delete_all}->(); +} + sub do_search($$$$$$$) { my ($find_entry, $tree, $tree_model, $options, $current_search_type, $urpm, $pkgs) = @_; my $entry = $find_entry->get_text or return; @@ -63,9 +71,7 @@ sub do_search($$$$$$$) { $entry =~ s/^\s*$//; } my $entry_rx = eval { qr/$entry/i } or return; - my ($results_ok, $results_none) = (N("Search results"), N("Search results (none)")); - $options->{delete_category}->($_) foreach $results_ok, $results_none; - $options->{state}{flat} and $options->{delete_all}->(); + clear_search($options); $tree->collapse_all; my @search_results; if ($current_search_type eq 'normal') { @@ -655,7 +661,13 @@ sub run_treeview_dialog { 'icon-press' => sub { my (undef, $pos, $event) = @_; # emulate Sexy::IconEntry's clear_button: - $find_entry->set_text('') if $pos eq 'secondary'; + if ($pos eq 'secondary') { + $find_entry->set_text(''); + clear_search($options); + # clear package list: + #$options->{add_nodes}->(); IF search_ok|none SELECTED + + } return if $pos ne 'primary'; $search_menu->popup(undef, undef, undef, undef, $event->button, $event->time); }, |