diff options
author | Luo Jinghua <sunmoon1997@gmail.com> | 2009-12-25 23:12:15 +0800 |
---|---|---|
committer | Luo Jinghua <sunmoon1997@gmail.com> | 2009-12-25 23:12:15 +0800 |
commit | 261fe061ebb41db6c100228ff07cf061237dc51d (patch) | |
tree | f317bffb87aa648d7cb28616ade97e01488bb704 | |
parent | 0975b661acfef71ec6de1fd485c99cf0156068c6 (diff) |
totem: show number of movie and pages
-rw-r--r-- | totem/plugin/ppstream.py | 50 | ||||
-rw-r--r-- | totem/plugin/ppstream.ui | 2 |
2 files changed, 30 insertions, 22 deletions
diff --git a/totem/plugin/ppstream.py b/totem/plugin/ppstream.py index 793eb49..f78ca90 100644 --- a/totem/plugin/ppstream.py +++ b/totem/plugin/ppstream.py @@ -972,14 +972,13 @@ class PPStream (totem.Plugin): if not len (treeview): return - iter = treeview.get_iter (CATEGORY_FAVORITES) - treeview.set (iter, 4, len(self.favorites.getMovies())) + self.update_category (self.favorites) if self.films_ids == (): return clsid, subclsid = self.films_ids - if (clsid, subclsid) != (0, 0): + if (clsid, subclsid) != (CATEGORY_ID_FAVORITES, 0): return self.films_ids = () @@ -1065,9 +1064,7 @@ class PPStream (totem.Plugin): if not len (liststore): return - iter = liststore.get_iter (CATEGORY_RECENT) - liststore.set (iter, 4, len(self.recent.getMovies())) - #print 'recent num: ', self.recent.contentnum + self.update_category (self.recent) def refresh_recent (self): self.refresh_recent_num () @@ -1087,32 +1084,52 @@ class PPStream (totem.Plugin): self.clear_pages (treeview_name) for cls in self.classes: iter = treeview.append(None) - num = len(cls.getPage(self.films_page)) + s = '%d/%d' % (len(cls.getMovies()), cls.getMaxPage()) treeview.set(iter, 0, cls.id, 1, 0, 2, 0, 3, cls.title, - 4, num) + 4, s) cls.model_path = treeview.get_path(iter) def fill_categories (self, clsid): treeview_name = 'categories' treeview = self.liststore[treeview_name] + + cls = None for cls in self.ppslist.getClasses(): if cls.id == clsid: break - num = len(cls.getPages()) + if not cls: + return + + s = '%d/%d' % (len(cls.getMovies()), cls.getMaxPage()) iter = treeview.append(None) treeview.set(iter, 0, cls.id, 1, 0, 2, 0, 3, cls.title, - 4, num) + 4, s) cls.model_path = treeview.get_path(iter) #print cls.id, cls.title + def update_category (self, cls): + treeview_name = 'categories' + liststore = self.liststore[treeview_name] + iter = liststore.get_iter (cls.model_path) + s = '%d/%d' % (len(cls.getMovies()), cls.getMaxPage()) + liststore.set (iter, 4, s) + + def update_current_category (self): + if not self.films_ids: + return + cls, subcls = self.get_class_pair(*self.films_ids) + if not subcls: + subcls = cls + self.update_category (subcls) + def gettipfromfilm (self, film): tip = film.title if film.director: @@ -1238,10 +1255,7 @@ class PPStream (totem.Plugin): for film in subcls.getPage(self.films_page): self.storelist_append_film (liststore, film, clsid, subclsid) - treeview_name = 'categories' - liststore = self.liststore[treeview_name] - iter = liststore.get_iter (subcls.model_path) - liststore.set (iter, 4, len(subcls.getPages())) + self.update_category (subcls) def fill_films (self, films, clsid, subclsid): if self.films_ids != (clsid, subclsid): @@ -1251,13 +1265,7 @@ class PPStream (totem.Plugin): for film in films: self.storelist_append_film (liststore, film, clsid, subclsid) - treeview_name = 'categories' - liststore = self.liststore[treeview_name] - cls, subcls = self.get_class_pair(clsid, subclsid) - if not subcls: - subcls = cls - iter = liststore.get_iter (subcls.model_path) - liststore.set (iter, 4, len(subcls.getPages())) + self.update_current_category () def refetch_films (self, clsid = None, subclsid = None): if clsid is None and subclsid is None: diff --git a/totem/plugin/ppstream.ui b/totem/plugin/ppstream.ui index 82e4738..6942f90 100644 --- a/totem/plugin/ppstream.ui +++ b/totem/plugin/ppstream.ui @@ -13,7 +13,7 @@ <!-- column-name Title --> <column type="gchararray"/> <!-- column-name Content --> - <column type="gint"/> + <column type="gchararray"/> </columns> </object> <object class="GtkListStore" id="pps_liststore_files"> |