From f8b6be73c7d664a5b3e87ce6e363f76a17788b79 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 25 Nov 2013 02:34:54 +0100 Subject: (reset_selection) split it out (needed for next commits) --- rpmdrake | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) (limited to 'rpmdrake') diff --git a/rpmdrake b/rpmdrake index 0f95dca4..15425d05 100755 --- a/rpmdrake +++ b/rpmdrake @@ -226,6 +226,28 @@ sub quit() { real_quit(); } +sub reset_selection { + my ($tree) = @_; + if ($MODE ne 'remove') { + my $db = eval { open_rpm_db() }; + if (!ref($db)) { + statusbar_msg(N("Reset aborted (RPM DB is locked by another process)"), 1); + return; + } + $urpm->disable_selected( + $db, $urpm->{state}, + map { if_($pkgs->{$_}{selected}, $pkgs->{$_}{pkg}) } keys %$pkgs, + ); + } + undef $pkgs->{$_}{selected} foreach keys %$pkgs; + reset_search(); + $size_selected = 0; + $force_displaying_group = 1; + my $tree_selection = $tree->get_selection; + $tree_selection->select_path(Gtk3::TreePath->new_from_string('0')) if !$tree_selection->get_selected; + $tree_selection->signal_emit('changed'); +} + sub show_about_dlg { my $license = formatAlaTeX(translate($::license)); $license =~ s/\n/\n\n/sg; # nicer formatting @@ -574,26 +596,7 @@ sub run_treeview_dialog { and $reload_db_and_clear_all->(); }, undef, '' ] ), - [ N("_File") . N("_Reset the selection"), undef, sub { - if ($MODE ne 'remove') { - my $db = eval { open_rpm_db() }; - if (!ref($db)) { - statusbar_msg(N("Reset aborted (RPM DB is locked by another process)"), 1); - return; - } - $urpm->disable_selected( - $db, $urpm->{state}, - map { if_($pkgs->{$_}{selected}, $pkgs->{$_}{pkg}) } keys %$pkgs, - ); - } - undef $pkgs->{$_}{selected} foreach keys %$pkgs; - reset_search(); - $size_selected = 0; - $force_displaying_group = 1; - my $tree_selection = $tree->get_selection; - $tree_selection->select_path(Gtk3::TreePath->new_from_string('0')) if !$tree_selection->get_selected; - $tree_selection->signal_emit('changed'); - }, undef, '' ], + [ N("_File") . N("_Reset the selection"), undef, sub { reset_selection($tree) }, undef, '' ], [ N("_File") . N("Reload the _packages list"), undef, $reload_db_and_clear_all, undef, '' ], [ N("_File") . N("_Quit"), N("Q"), \&quit, undef, '', ], #[ N("_View"), undef, undef, undef, '' ], -- cgit v1.2.1