diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2010-04-12 22:04:49 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2010-04-12 22:04:49 +0200 |
commit | f458dd4227fce9689a26909e988a7d39d6369206 (patch) | |
tree | 52d7b8d407b2b4085fe7bb7af66b6299385670e9 /portato/gui/windows/main.py | |
parent | 52c61821a1eca27c4406374174e8836593b68e52 (diff) | |
download | portato-f458dd4227fce9689a26909e988a7d39d6369206.tar.gz portato-f458dd4227fce9689a26909e988a7d39d6369206.tar.bz2 portato-f458dd4227fce9689a26909e988a7d39d6369206.zip |
Fixed jumping and searching. Fixes bug #559480
Diffstat (limited to 'portato/gui/windows/main.py')
-rw-r--r-- | portato/gui/windows/main.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index 0ec35a2..cad0015 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -1124,6 +1124,9 @@ class MainWindow (Window): col = 1 model = self.pkgList.get_model() + if not len(model): # model is no real list, so "not model" won't work + return + if name: if self._jump_check_search(model, pos, lambda r: r[col] != name): debug("Pkg path does not match. Searching...") @@ -1143,6 +1146,9 @@ class MainWindow (Window): col = 0 model = self.catList.get_model() + if not len(model): # model is no real list, so "not model" won't work + return + if name: if self.cfg.get_boolean("collapseCats", "GUI"): sname = name.split("-", 1) @@ -1170,6 +1176,8 @@ class MainWindow (Window): if r[col] == sname[0]: row = r break + else: + row = model[0] else: row = model[p] @@ -1180,7 +1188,8 @@ class MainWindow (Window): pos = ":".join(map(str,path)) break - self.catList.expand_to_path(pos) + if ":" in pos: + self.catList.expand_to_path(pos) debug("Selecting cat path '%s'. Value: '%s'", pos, model[pos][col]) self.catList.get_selection().select_path(pos) @@ -1580,11 +1589,11 @@ class MainWindow (Window): def cb_search_clicked (self, entry): """Do a search.""" text = entry.get_text() - if text != "": - if not "*" in text: - text = ".*%s.*" % text - - packages = system.find_packages(text, with_version = False) + if text: + oldr = self.db.restrict + self.db.restrict = text + packages = list("/".join((p.cat,p.pkg)) for p in self.db.get_cat()) + self.db._restrict = oldr # don't do the rewriting again if packages == []: dialogs.nothing_found_dialog() |