X-Git-Url: http://git.maemo.org/git/?p=watersofshiloah;a=blobdiff_plain;f=src%2Fmormonchannel_gtk.py;h=1624f1c7828cb869815d116a660da6fbde91ed24;hp=fcbff6f24e6719ab2da89fe78ab065a9dfcb121f;hb=fc543aa8cc332c7b60bd37be65a3e3006beac70e;hpb=ef2705e913a5b77ca8052a1ebeaea0e3bb827a0c diff --git a/src/mormonchannel_gtk.py b/src/mormonchannel_gtk.py index fcbff6f..1624f1c 100755 --- a/src/mormonchannel_gtk.py +++ b/src/mormonchannel_gtk.py @@ -2,14 +2,19 @@ # -*- coding: utf-8 -*- """ -@bug For some reason, the back/close button doesn't work when I nest multiple levels @todo Need to confirm id's are persistent (not just for todos but broken behavior on transition) @todo Track recent @todo Persisted Pause @todo Favorites @todo Sleep timer -@todo Reverse order option. Toggle between playing ascending/descending chronological order @todo Podcast integration + @todo Default with BYU Devotionals, http://speeches.byu.edu/?act=help&page=podcast + @todo Mormon Messages +@todo Reverse order option. Toggle between playing ascending/descending chronological order +@todo Jump to website +@todo Offline mode +@todo Re-use windows for better performance +@todo Make radio program updates only happen when the app has focus to reduce CPU wakes """ from __future__ import with_statement @@ -107,25 +112,26 @@ class MormonChannelProgram(hildonize.get_app_class()): @misc_utils.log_exception(_moduleLogger) def _on_destroy(self, widget = None, data = None): - self.quit() + try: + self.quit() + finally: + gtk.main_quit() def quit(self): - try: - self._save_settings() + self._save_settings() - self._index.stop() - self._store.stop() + self._player.stop() + self._index.stop() + self._store.stop() - try: - self._deviceState.close() - except AttributeError: - pass # Either None or close was removed (in Fremantle) - try: - self._osso_c.close() - except AttributeError: - pass # Either None or close was removed (in Fremantle) - finally: - gtk.main_quit() + try: + self._deviceState.close() + except AttributeError: + pass # Either None or close was removed (in Fremantle) + try: + self._osso_c.close() + except AttributeError: + pass # Either None or close was removed (in Fremantle) @misc_utils.log_exception(_moduleLogger) def _on_show_about(self, widget = None, data = None): @@ -147,7 +153,7 @@ def run(): gtk.gdk.threads_init() l = dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - hildonize.set_application_title(constants.__pretty_app_name__) + hildonize.set_application_name("FMRadio") # Playback while silent on Maemo 5 app = MormonChannelProgram() if not PROFILE_STARTUP: try: @@ -155,6 +161,8 @@ def run(): except KeyboardInterrupt: app.quit() raise + else: + app.quit() if __name__ == "__main__":