aboutsummaryrefslogtreecommitdiffstats
path: root/rpmdrake
diff options
context:
space:
mode:
Diffstat (limited to 'rpmdrake')
-rwxr-xr-xrpmdrake20
1 files changed, 16 insertions, 4 deletions
diff --git a/rpmdrake b/rpmdrake
index 0652d171..c2c4aac0 100755
--- a/rpmdrake
+++ b/rpmdrake
@@ -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);
},