summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Jinghua <sunmoon1997@gmail.com>2010-01-22 00:20:05 +0800
committerLuo Jinghua <sunmoon1997@gmail.com>2010-01-22 00:20:05 +0800
commit19393718b3ebfb43fa928f92ac92d59f48d7abfe (patch)
tree175f5dcf6c0c38dc13d9598f04af0b42f2556e8d
parent98ec4a0f1ad625b241091be7d46740b7c5240d3a (diff)
ppstream: wip for file pages navigation
-rw-r--r--totem/plugin/ppstream.py86
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: