From: Ed Page Date: Sun, 16 May 2010 04:58:24 +0000 (-0500) Subject: Various bug fixes to work on Maemo X-Git-Url: http://git.maemo.org/git/?p=watersofshiloah;a=commitdiff_plain;h=b761267f92e54d931c3350a801a29d7e0e852051 Various bug fixes to work on Maemo --- diff --git a/src/mormonchannel_gtk.py b/src/mormonchannel_gtk.py index 2445f95..5e3d0a0 100755 --- a/src/mormonchannel_gtk.py +++ b/src/mormonchannel_gtk.py @@ -67,7 +67,7 @@ class MormonChannelProgram(hildonize.get_app_class()): self._osso_c = None self._deviceState = None - self._sourceSelector = windows.source.SourceSelector(self._player, self._store, self._index) + self._sourceSelector = windows.source.SourceSelector(self, self._player, self._store, self._index) self._sourceSelector.window.connect("destroy", self._on_destroy) self._sourceSelector.show() self._load_settings() diff --git a/src/windows/_base.py b/src/windows/_base.py index 303b6b8..3f06913 100644 --- a/src/windows/_base.py +++ b/src/windows/_base.py @@ -1,4 +1,4 @@ -# @todo Add icons to buttons/rows to indicate that the currently playing track is coming from that +from __future__ import with_statement import ConfigParser import logging @@ -49,10 +49,11 @@ class BasicWindow(gobject.GObject, go_utils.AutoSignal): ), } - def __init__(self, player, store): + def __init__(self, app, player, store): gobject.GObject.__init__(self) self._isDestroyed = False + self._app = app self._player = player self._store = store @@ -67,7 +68,7 @@ class BasicWindow(gobject.GObject, go_utils.AutoSignal): self._window = gtk.Window() go_utils.AutoSignal.__init__(self, self.window) self._window.add(self._layout) - self._window = hildonize.hildonize_window(self, self._window) + self._window = hildonize.hildonize_window(self._app, self._window) self._window.set_icon(self._store.get_pixbuf_from_store(self._store.STORE_LOOKUP["icon"])) self._window.connect("key-press-event", self._on_key_press) @@ -79,6 +80,7 @@ class BasicWindow(gobject.GObject, go_utils.AutoSignal): return self._window def show(self): + hildonize.window_to_portrait(self._window) self._window.show_all() def save_settings(self, config, sectionName): @@ -164,8 +166,8 @@ class BasicWindow(gobject.GObject, go_utils.AutoSignal): class ListWindow(BasicWindow): - def __init__(self, player, store, node): - BasicWindow.__init__(self, player, store) + def __init__(self, app, player, store, node): + BasicWindow.__init__(self, app, player, store) self._node = node self.connect_auto(self._player, "title-change", self._on_player_title_change) diff --git a/src/windows/conferences.py b/src/windows/conferences.py index 096959d..6542bad 100644 --- a/src/windows/conferences.py +++ b/src/windows/conferences.py @@ -18,8 +18,8 @@ _moduleLogger = logging.getLogger(__name__) class ConferencesWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -65,7 +65,7 @@ class ConferencesWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - sessionsWindow = ConferenceSessionsWindow(self._player, self._store, node) + sessionsWindow = ConferenceSessionsWindow(self._app, self._player, self._store, node) sessionsWindow.window.set_modal(True) sessionsWindow.window.set_transient_for(self._window) sessionsWindow.window.set_default_size(*self._window.get_size()) @@ -87,8 +87,8 @@ gobject.type_register(ConferencesWindow) class ConferenceSessionsWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -128,7 +128,7 @@ class ConferenceSessionsWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - sessionsWindow = ConferenceTalksWindow(self._player, self._store, node) + sessionsWindow = ConferenceTalksWindow(self._app, self._player, self._store, node) sessionsWindow.window.set_modal(True) sessionsWindow.window.set_transient_for(self._window) sessionsWindow.window.set_default_size(*self._window.get_size()) @@ -150,8 +150,8 @@ gobject.type_register(ConferenceSessionsWindow) class ConferenceTalksWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -191,7 +191,7 @@ class ConferenceTalksWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - sessionsWindow = ConferenceTalkWindow(self._player, self._store, node) + sessionsWindow = ConferenceTalkWindow(self._app, self._player, self._store, node) sessionsWindow.window.set_modal(True) sessionsWindow.window.set_transient_for(self._window) sessionsWindow.window.set_default_size(*self._window.get_size()) @@ -213,8 +213,8 @@ gobject.type_register(ConferenceTalksWindow) class ConferenceTalkWindow(windows._base.BasicWindow): - def __init__(self, player, store, node): - windows._base.BasicWindow.__init__(self, player, store) + def __init__(self, app, player, store, node): + windows._base.BasicWindow.__init__(self, app, player, store) self._node = node self._playerNode = self._player.node self._nextSearch = None @@ -302,8 +302,9 @@ class ConferenceTalkWindow(windows._base.BasicWindow): self._updateSeek.start(seconds=1) else: self._seekbar.hide() - self._updateSeek.cancel() - self._updateSeek = None + if self._updateSeek is not None: + self._updateSeek.cancel() + self._updateSeek = None if not self._presenterNavigation.is_active(): self._set_context(newState) diff --git a/src/windows/magazines.py b/src/windows/magazines.py index fa089d6..fb80968 100644 --- a/src/windows/magazines.py +++ b/src/windows/magazines.py @@ -18,8 +18,8 @@ _moduleLogger = logging.getLogger(__name__) class MagazinesWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -90,7 +90,7 @@ class MagazinesWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - issuesWindow = MagazineIssuesWindow(self._player, self._store, node) + issuesWindow = MagazineIssuesWindow(self._app, self._player, self._store, node) issuesWindow.window.set_modal(True) issuesWindow.window.set_transient_for(self._window) issuesWindow.window.set_default_size(*self._window.get_size()) @@ -112,8 +112,8 @@ gobject.type_register(MagazinesWindow) class MagazineIssuesWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -181,7 +181,7 @@ class MagazineIssuesWindow(windows._base.ListWindow): self._model.row_changed((i, ), treeiter) def _window_from_node(self, node): - issuesWindow = MagazineArticlesWindow(self._player, self._store, node) + issuesWindow = MagazineArticlesWindow(self._app, self._player, self._store, node) issuesWindow.window.set_modal(True) issuesWindow.window.set_transient_for(self._window) issuesWindow.window.set_default_size(*self._window.get_size()) @@ -203,8 +203,8 @@ gobject.type_register(MagazineIssuesWindow) class MagazineArticlesWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -244,7 +244,7 @@ class MagazineArticlesWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - issuesWindow = MagazineArticleWindow(self._player, self._store, node) + issuesWindow = MagazineArticleWindow(self._app, self._player, self._store, node) issuesWindow.window.set_modal(True) issuesWindow.window.set_transient_for(self._window) issuesWindow.window.set_default_size(*self._window.get_size()) @@ -266,8 +266,8 @@ gobject.type_register(MagazineArticlesWindow) class MagazineArticleWindow(windows._base.BasicWindow): - def __init__(self, player, store, node): - windows._base.BasicWindow.__init__(self, player, store) + def __init__(self, app, player, store, node): + windows._base.BasicWindow.__init__(self, app, player, store) self._node = node self._playerNode = self._player.node self._nextSearch = None diff --git a/src/windows/radio.py b/src/windows/radio.py index 0f80479..122e183 100644 --- a/src/windows/radio.py +++ b/src/windows/radio.py @@ -16,8 +16,8 @@ _moduleLogger = logging.getLogger(__name__) class RadioWindow(windows._base.BasicWindow): - def __init__(self, player, store, node): - windows._base.BasicWindow.__init__(self, player, store) + def __init__(self, app, player, store, node): + windows._base.BasicWindow.__init__(self, app, player, store) self._node = node self._childNode = None diff --git a/src/windows/scriptures.py b/src/windows/scriptures.py index 587e4e8..93d17e4 100644 --- a/src/windows/scriptures.py +++ b/src/windows/scriptures.py @@ -18,8 +18,8 @@ _moduleLogger = logging.getLogger(__name__) class ScripturesWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -59,7 +59,7 @@ class ScripturesWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - booksWindow = ScriptureBooksWindow(self._player, self._store, node) + booksWindow = ScriptureBooksWindow(self._app, self._player, self._store, node) booksWindow.window.set_modal(True) booksWindow.window.set_transient_for(self._window) booksWindow.window.set_default_size(*self._window.get_size()) @@ -81,8 +81,8 @@ gobject.type_register(ScripturesWindow) class ScriptureBooksWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -122,7 +122,7 @@ class ScriptureBooksWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - booksWindow = ScriptureChaptersWindow(self._player, self._store, node) + booksWindow = ScriptureChaptersWindow(self._app, self._player, self._store, node) booksWindow.window.set_modal(True) booksWindow.window.set_transient_for(self._window) booksWindow.window.set_default_size(*self._window.get_size()) @@ -144,8 +144,8 @@ gobject.type_register(ScriptureBooksWindow) class ScriptureChaptersWindow(windows._base.ListWindow): - def __init__(self, player, store, node): - windows._base.ListWindow.__init__(self, player, store, node) + def __init__(self, app, player, store, node): + windows._base.ListWindow.__init__(self, app, player, store, node) self._window.set_title(self._node.title) @classmethod @@ -185,7 +185,7 @@ class ScriptureChaptersWindow(windows._base.ListWindow): self._errorBanner.push_message(str(exception)) def _window_from_node(self, node): - booksWindow = ScriptureChapterWindow(self._player, self._store, node) + booksWindow = ScriptureChapterWindow(self._app, self._player, self._store, node) booksWindow.window.set_modal(True) booksWindow.window.set_transient_for(self._window) booksWindow.window.set_default_size(*self._window.get_size()) @@ -207,8 +207,8 @@ gobject.type_register(ScriptureChaptersWindow) class ScriptureChapterWindow(windows._base.BasicWindow): - def __init__(self, player, store, node): - windows._base.BasicWindow.__init__(self, player, store) + def __init__(self, app, player, store, node): + windows._base.BasicWindow.__init__(self, app, player, store) self._node = node self._playerNode = self._player.node self._nextSearch = None @@ -296,8 +296,9 @@ class ScriptureChapterWindow(windows._base.BasicWindow): self._updateSeek.start(seconds=1) else: self._seekbar.hide() - self._updateSeek.cancel() - self._updateSeek = None + if self._updateSeek is not None: + self._updateSeek.cancel() + self._updateSeek = None if not self._presenterNavigation.is_active(): self._set_context(newState) diff --git a/src/windows/source.py b/src/windows/source.py index acf964e..15b01e2 100644 --- a/src/windows/source.py +++ b/src/windows/source.py @@ -17,8 +17,8 @@ _moduleLogger = logging.getLogger(__name__) class SourceSelector(windows._base.BasicWindow): - def __init__(self, player, store, index): - windows._base.BasicWindow.__init__(self, player, store) + def __init__(self, app, player, store, index): + windows._base.BasicWindow.__init__(self, app, player, store) self._languages = [] self._index = index @@ -117,7 +117,7 @@ class SourceSelector(windows._base.BasicWindow): Source = windows.magazines.MagazinesWindow elif node.id == stream_index.SOURCE_SCRIPTURES: Source = windows.scriptures.ScripturesWindow - sourceWindow = Source(self._player, self._store, node) + sourceWindow = Source(self._app, self._player, self._store, node) sourceWindow.window.set_modal(True) sourceWindow.window.set_transient_for(self._window) sourceWindow.window.set_default_size(*self._window.get_size())