From d0c4da25fab9a1719895806aadb40fb74cea5240 Mon Sep 17 00:00:00 2001 From: bjschuma Date: Wed, 29 Jul 2009 23:16:21 +0000 Subject: [PATCH] Improved startup efficiency, don't store as much for library git-svn-id: file:///home/anna/Desktop/ocarina-legacy/mithos/ocarina@49 1daee41c-8060-4895-b1f0-2197c00d777a --- trunk/src/liblist.py | 16 +++++++++++++++- trunk/src/list.py | 17 ++++++++++++++++- trunk/src/queue.py | 10 ++++++++-- trunk/src/rightPane.py | 11 +++++++++-- 4 files changed, 48 insertions(+), 6 deletions(-) diff --git a/trunk/src/liblist.py b/trunk/src/liblist.py index 1b721aa2..6591b93d 100644 --- a/trunk/src/liblist.py +++ b/trunk/src/liblist.py @@ -19,7 +19,7 @@ class LibList(List): self.populated = False #for file in self.data.library.files: # self.insert(file) - self.count = len(self.data.library.files) + self.count = self.data.library.count#len(self.data.library.files) self.makeLabel() self.makeRCMenu() @@ -55,6 +55,8 @@ class LibList(List): def filterRows(self,string): if self.updating == True: return + if self.populated == False: + self.visible("show") List.filterRows(self,string) @@ -74,3 +76,15 @@ class LibList(List): def addToQueue(self,widgit,func,data): self.selection(self.queue.insert) self.queue.filterRows("") + + + def filterQuick(self,string): + self.count = 0 + self.seconds = 0 + self.string = string + for i in range(self.data.library.count): + if self.hideRows(None,i,string) == True: + self.count+=1 + self.seconds+=self.data.library.files[i].duration + print self.count + self.makeLabel() diff --git a/trunk/src/list.py b/trunk/src/list.py index 6eab4c9f..7af80521 100644 --- a/trunk/src/list.py +++ b/trunk/src/list.py @@ -149,8 +149,23 @@ class List(gtk.ScrolledWindow): self.timeText() + def filterQuick(self,list,string): + self.count = 0 + self.seconds = 0 + self.string = string + for i in range(len(list)): + if self.hideRows(None,list[i],string) == True: + self.count+=1 + self.seconds+=self.data.library.files[i].duration + print self.count + self.makeLabel() + + def hideRows(self,list,iter,string): - file = self.data.library.files[list[iter][0]] + if list: + file = self.data.library.files[list[iter][0]] + else: + file = self.data.library.files[iter] if self.string == "": return True #elif len(self.string) == 1: diff --git a/trunk/src/queue.py b/trunk/src/queue.py index 121a32f7..4813e3ea 100644 --- a/trunk/src/queue.py +++ b/trunk/src/queue.py @@ -26,14 +26,20 @@ class Queue(List): def insert(self,file): List.insert(self,file) - self.data.curQ += [file.id] + self.data.curQ += [file] def visible(self,func): List.visible(self,func) if (func == "show") and (self.populated == False): for file in self.data.curQ: - List.insert(self,self.data.library.files[file]) + List.insert(self,file) self.populated = True self.makeLabel() self.timeText() + + + def filterRows(self,string): + if self.populated == False: + self.visible("show") + List.filterRows(self,string) diff --git a/trunk/src/rightPane.py b/trunk/src/rightPane.py index 5e9bf9f3..3ea27df2 100644 --- a/trunk/src/rightPane.py +++ b/trunk/src/rightPane.py @@ -216,7 +216,14 @@ class RightPane(gtk.VBox): def filter(self,search): - tabs = [] + if self.curTab == 0: + self.playlist.filterRows(search) + self.library.filterQuick(search) + elif self.curTab == 1: + self.queue.filterRows(search) + else: + self.library.filterRows(search) + '''tabs = [] if self.curTab == 0: #self.playlist.filterRows(search) tabs = [0,1,2] @@ -233,7 +240,7 @@ class RightPane(gtk.VBox): elif tab == 1: self.queue.filterRows(search) else: - self.library.filterRows(search) + self.library.filterRows(search)''' def setStatus(self,status):