self.__query = query
self.__sourceEntry.set_text(query)
useFilter = self.__isFilterEnabledCheckbox.get_active()
- filterText = self.__filterEntry.get_text().decode("utf-8")
self.__filterEntry.set_sensitive(useFilter)
- if useFilter and len(filterText) > 0:
- queryWithFilter = "(%s) and (%s)" % (query, filterText)
+ if useFilter:
+ filterText = self.__filterEntry.get_text().decode("utf-8")
else:
- queryWithFilter = query
+ filterText = ""
self.__setObjectCollection(
- self.__factory.getObjectCollection(queryWithFilter))
+ self.__factory.getObjectCollection(query, filterText))
def reload(self):
self.__albums.loadAlbumTree()
self.__searchResult = SearchResult()
self.__albumMembers = AlbumMembers()
- def getObjectCollection(self, query):
+ def getObjectCollection(self, query, filterText=""):
env.debug("Object collection factory loading query: " + query);
self.__clear()
validAlbumTag = False
except BadAlbumTagError:
pass
try:
- if validAlbumTag:
+ if validAlbumTag and not filterText:
self.__albumMembers.loadAlbum(env.shelf.getAlbum(query[1:]))
return self.__albumMembers
else:
- self.__searchResult.loadQuery(query)
- env.mainwindow.unselectAlbumTree()
+ if filterText:
+ queryWithFilter = "(%s) and (%s)" % (query, filterText)
+ else:
+ queryWithFilter = query
+ self.__searchResult.loadQuery(queryWithFilter)
+ if not validAlbumTag:
+ env.mainwindow.unselectAlbumTree()
return self.__searchResult
except AlbumDoesNotExistError, tag:
errorText = "No such album tag: \"%s\"." % tag