X-Git-Url: http://git.maemo.org/git/?p=watersofshiloah;a=blobdiff_plain;f=src%2Fmormonchannel_gtk.py;h=f2b7166224d6008420cd1e483f5cd437f4c8dcf1;hp=64762d3d734ba7bde4382091e309388eadb22c6a;hb=ca348c0558e040574fb19e06f0a71a08afc41acc;hpb=e724d29ea307e3c0c1af0703ea5ed98cd4a46e08 diff --git a/src/mormonchannel_gtk.py b/src/mormonchannel_gtk.py index 64762d3..f2b7166 100755 --- a/src/mormonchannel_gtk.py +++ b/src/mormonchannel_gtk.py @@ -2,23 +2,29 @@ # -*- coding: utf-8 -*- """ -@todo Switch presenters to show Play when not active rather than Stop -@todo Implement Jump TO -@todo Implement highlighting of current track -@todo Restructure so there is a windows/ folder with a file per source -@todo Add additional sources -@bug All connect's need disconnects or else we will leak a bunch of objects -@todo Track recent +@todo Fix scrollto for Fremantle +@todo backgrounds need some resizing +@todo Icons on source selector need work +@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 """ from __future__ import with_statement +import os import gc import logging import ConfigParser import gobject +import dbus +import dbus.mainloop.glib import gtk try: @@ -32,7 +38,7 @@ import util.misc as misc_utils import imagestore import player -import index +import stream_index import windows @@ -44,13 +50,15 @@ class MormonChannelProgram(hildonize.get_app_class()): def __init__(self): super(MormonChannelProgram, self).__init__() - self._store = imagestore.ImageStore("../data", "../data") - self._index = index.AudioIndex() + currentPath = os.path.abspath(__file__) + storePath = os.path.join(os.path.split(os.path.dirname(currentPath))[0], "data") + self._store = imagestore.ImageStore(storePath, constants._cache_path_) + self._index = stream_index.AudioIndex() self._player = player.Player(self._index) + self._store.start() self._index.start() try: - if not hildonize.IS_HILDON_SUPPORTED: _moduleLogger.info("No hildonization support") @@ -63,12 +71,14 @@ class MormonChannelProgram(hildonize.get_app_class()): self._osso_c = None self._deviceState = None - self._sourceSelector = windows.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.window.set_default_size(400, 800) self._sourceSelector.show() self._load_settings() except: self._index.stop() + self._store.stop() raise def _save_settings(self): @@ -107,6 +117,7 @@ class MormonChannelProgram(hildonize.get_app_class()): self._save_settings() self._index.stop() + self._store.stop() try: self._deviceState.close() @@ -137,6 +148,7 @@ class MormonChannelProgram(hildonize.get_app_class()): def run(): gobject.threads_init() gtk.gdk.threads_init() + l = dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) hildonize.set_application_title(constants.__pretty_app_name__) app = MormonChannelProgram()