diff options
author | Luo Jinghua <sunmoon1997@gmail.com> | 2010-01-22 00:20:05 +0800 |
---|---|---|
committer | Luo Jinghua <sunmoon1997@gmail.com> | 2010-01-22 00:20:05 +0800 |
commit | 19393718b3ebfb43fa928f92ac92d59f48d7abfe (patch) | |
tree | 175f5dcf6c0c38dc13d9598f04af0b42f2556e8d | |
parent | 98ec4a0f1ad625b241091be7d46740b7c5240d3a (diff) |
ppstream: wip for file pages navigation
-rw-r--r-- | totem/plugin/ppstream.py | 86 |
1 files changed, 68 insertions, 18 deletions
diff --git a/totem/plugin/ppstream.py b/totem/plugin/ppstream.py index ebcbb48..4248f5a 100644 --- a/totem/plugin/ppstream.py +++ b/totem/plugin/ppstream.py @@ -632,6 +632,7 @@ class PPStream (totem.Plugin): #print title, class_path self.movies_page = 0 + self.movies_page = 0 self.show_movies (class_path) self.notebook.set_current_page (1) @@ -1006,7 +1007,7 @@ class PPStream (totem.Plugin): return path + qs def storelist_append_movie (self, treeview, movie, class_path, pos = -1): - files = movie.getFiles() + files = movie.getFiles(self.files_page) #if not movie.getFiles(): # return f = None @@ -1042,13 +1043,13 @@ class PPStream (totem.Plugin): treeview_name = 'files' self.clear_pages (treeview_name) treeview = self.liststore[treeview_name] - for f in movie.getFiles(): + for f in movie.getFiles(self.files_page): no = str(f.ci + 1) + '/' + str(movie.cn) it = treeview.append ([no, f.title, self.recode_mrl (f.url), f.url]) def show_files (self, movie): self.current_movie = movie - if movie.getFiles(): + if movie.getFiles(self.files_page): self.fill_files(movie) else: self.clear_pages('files') @@ -1332,6 +1333,7 @@ class PPStream (totem.Plugin): selection = treeview.get_selection () selection.set_mode (gtk.SELECTION_MULTIPLE) + self.files_page = 0 self.files_count = 0 def on_files_treeview_row_activated(self, treeview, path, view_column, data=None): @@ -1374,7 +1376,7 @@ class PPStream (totem.Plugin): index = model.get_path(iter)[0] movie = cls.getPage(self.movies_page)[index] - if not movie.getFiles(): + if not movie.getFiles(self.files_page): all_files_fetched = False if row != rows[0]: self.fetch_files(movie, False) @@ -1404,12 +1406,12 @@ class PPStream (totem.Plugin): index = model.get_path(iter)[0] movie = cls.getPage(self.movies_page)[index] - if not movie.getFiles(): + if not movie.getFiles(self.files_page): all_files_fetched = False else: url = model.get(iter, 2)[0] if not url: - url = movie.getFiles()[0].url + url = movie.getFiles(self.files_page)[0].url model.set(iter, 2, self.recode_mrl(url)) model.set(iter, 5, url) @@ -1418,7 +1420,7 @@ class PPStream (totem.Plugin): else: self.add_to_favorites_button.set_sensitive(all_files_fetched) - def movie_goto_first_page(self): + def movies_goto_first_page(self): cls = self.get_movie_class(self.movie_class_path) if self.movies_page == 0: @@ -1427,24 +1429,41 @@ class PPStream (totem.Plugin): self.show_movies(self.movie_class_path, force = True) + def files_goto_first_page(self): + if self.files_page == 0: + return + self.files_page = 0 + self.show_files(self.current_movie) + def on_first_page_clicked(self, *args): if self.movie_class_path == (): return - self.movie_goto_first_page() + if self.current_treeview_name == 'movies': + self.movies_goto_first_page() + elif self.current_treeview_name == 'files': + self.files_goto_first_page() - def movie_goto_prev_page(self): + def movies_goto_prev_page(self): if self.movies_page < 1: return self.movies_page -= 1 - self.show_movies(self.movie_class_path, force = True) + def files_goto_prev_page(self): + if self.files_page < 1: + return + self.files_page -= 1 + self.show_files(self.current_movie) + def on_prev_page_clicked(self, *args): if self.movie_class_path == (): return - self.movie_goto_prev_page() + if self.current_treeview_name == 'movies': + self.movies_goto_prev_page() + elif self.current_treeview_name == 'files': + self.files_goto_prev_page() - def movie_goto_next_page(self): + def movies_goto_next_page(self): cls = self.get_movie_class(self.movie_class_path) if self.movies_page >= cls.getMaxPage() - 1: @@ -1453,12 +1472,21 @@ class PPStream (totem.Plugin): self.show_movies(self.movie_class_path, force = True) + def files_goto_next_page(self): + if self.files_page >= self.current_movie.getMaxPage() - 1: + return + self.files_page += 1 + self.show_files(self.current_movie) + def on_next_page_clicked(self, *args): if self.movie_class_path == (): return - self.movie_goto_next_page() + if self.current_treeview_name == 'movies': + self.movies_goto_next_page() + elif self.current_treeview_name == 'files': + self.files_goto_next_page() - def movie_goto_last_page(self): + def movies_goto_last_page(self): cls = self.get_movie_class(self.movie_class_path) if self.movies_page == cls.getMaxPage() - 1: @@ -1467,12 +1495,21 @@ class PPStream (totem.Plugin): self.show_movies(self.movie_class_path, force = True) + def files_goto_last_page(self): + if self.files_page == self.current_movie.getMaxPage() - 1: + return + self.files_page = self.current_movie.getMaxPage() - 1 + self.show_files(self.current_movie) + def on_last_page_clicked(self, *args): if self.movie_class_path == (): return - self.movie_goto_last_page() + if self.current_treeview_name == 'movies': + self.movies_goto_last_page() + elif self.current_treeview_name == 'files': + self.files_goto_last_page() - def movie_goto_page(self, page): + def movies_goto_page(self, page): cls = self.get_movie_class(self.movie_class_path) if page >= cls.getMaxPage(): return @@ -1481,12 +1518,24 @@ class PPStream (totem.Plugin): self.movies_page = page self.show_movies(self.movie_class_path, force = True) + def files_goto_page(self, page): + movie = self.current_movie + if page >= movie.getMaxPage(): + return + if page == self.files_page: + return + self.files_page = page + self.show_files(movie) + def on_goto_page_clicked(self, *args): if self.movie_class_path == (): return page = self.which_page_button.get_value_as_int() - 1 - self.movie_goto_page(page) + if self.current_treeview_name == 'movies': + self.movies_goto_first_page() + elif self.current_treeview_name == 'files': + self.files_goto_first_page() def set_page_max(self, max_page): adjustment = self.which_page_button.get_adjustment() @@ -1631,7 +1680,7 @@ class PPStream (totem.Plugin): cls = self.get_movie_class(class_path) movie = cls.getPage(self.movies_page)[path[0]] - files = movie.getFiles() + files = movie.getFiles(self.files_page) if not files: return False @@ -1735,6 +1784,7 @@ class PPStream (totem.Plugin): self.search.keyword = self.search_entry.get_text () self.search_terms = '' self.movies_page = 0 + self.files_page = 0 self.show_movies ((CATEGORY_ID_SEARCH,), True, True) self.notebook.set_current_page (1) else: |