From aea3a13b35ee67ae9939cd001a07ce556e18c90a Mon Sep 17 00:00:00 2001 From: guinux Date: Mon, 29 Apr 2013 15:26:09 +0200 Subject: [PATCH] fix a bug when selected a filter which slowed ui --- gui/manager.glade | 45 ++++++++++++++++++++------------------------- pamac/main.py | 34 ++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 41 deletions(-) diff --git a/gui/manager.glade b/gui/manager.glade index c0faef7..d6bfb43 100644 --- a/gui/manager.glade +++ b/gui/manager.glade @@ -461,7 +461,6 @@ False - browse @@ -512,7 +511,6 @@ False - browse @@ -560,7 +558,6 @@ False - browse @@ -608,7 +605,6 @@ False - browse @@ -670,10 +666,9 @@ 0 True False + - - - + @@ -1141,24 +1136,6 @@ - - - - - - - - - - - - - - - - - - @@ -1179,6 +1156,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/pamac/main.py b/pamac/main.py index 3b5fb65..782a282 100644 --- a/pamac/main.py +++ b/pamac/main.py @@ -959,21 +959,23 @@ class Handler: current_filter = ('search', search_entry.get_text().split()) set_packages_list() - def on_list_treeview_selection_changed(self, widget): - liste, line = list_selection.get_selected() - if line: - if packages_list[line][0] != _('No package found'): - if packages_list[line][0] in transaction.localpkgs.keys(): - set_infos_list(transaction.localpkgs[packages_list[line][0]]) - set_deps_list(transaction.localpkgs[packages_list[line][0]], "local") - set_details_list(transaction.localpkgs[packages_list[line][0]], "local") - set_files_list(transaction.localpkgs[packages_list[line][0]]) - files_scrolledwindow.set_visible(True) - elif packages_list[line][0] in transaction.syncpkgs.keys(): - set_infos_list(transaction.syncpkgs[packages_list[line][0]]) - set_deps_list(transaction.syncpkgs[packages_list[line][0]], "sync") - set_details_list(transaction.syncpkgs[packages_list[line][0]], "sync") - files_scrolledwindow.set_visible(False) + def on_list_treeview_button_press_event(self, treeview, event): + if event.button == 1: # left click + treepath, viewcolumn, x, y = treeview.get_path_at_pos(int(event.x), int(event.y)) + treeiter = packages_list.get_iter(treepath) + if treeiter: + if packages_list[treeiter][0] != _('No package found'): + if packages_list[treeiter][0] in transaction.localpkgs.keys(): + set_infos_list(transaction.localpkgs[packages_list[treeiter][0]]) + set_deps_list(transaction.localpkgs[packages_list[treeiter][0]], "local") + set_details_list(transaction.localpkgs[packages_list[treeiter][0]], "local") + set_files_list(transaction.localpkgs[packages_list[treeiter][0]]) + files_scrolledwindow.set_visible(True) + elif packages_list[treeiter][0] in transaction.syncpkgs.keys(): + set_infos_list(transaction.syncpkgs[packages_list[treeiter][0]]) + set_deps_list(transaction.syncpkgs[packages_list[treeiter][0]], "sync") + set_details_list(transaction.syncpkgs[packages_list[treeiter][0]], "sync") + files_scrolledwindow.set_visible(False) def on_search_treeview_selection_changed(self, widget): global current_filter @@ -1018,7 +1020,7 @@ class Handler: def on_cellrenderertoggle1_toggled(self, widget, line): if packages_list[line][1] is True: if packages_list[line][0] in transaction.to_remove: - packages_list[line][3] =True + packages_list[line][3] = True packages_list[line][4] = installed_icon transaction.to_remove.discard(packages_list[line][0]) else: