play button in main dialog
git-svn-id: svn://svn.berlios.de/gpodder/trunk@210 b0d088ad-0a06-0410-aad2-9ed5178a7e87
This commit is contained in:
parent
d7e380f63b
commit
c6982417fa
|
@ -1,3 +1,10 @@
|
|||
Wed, 13 Dec 2006 00:10:11 +0100 <thp@perli.net>
|
||||
* src/gpodder/gpodder.py: Add support for "Play" button in main
|
||||
gpodder dialog (depending on which episode is selected)
|
||||
* data/gpodder.glade: Add support for "Play" button (see above)
|
||||
* TODO: Release goals for 0.8.0 updated
|
||||
* bin/gpodder: Updated release date + version
|
||||
|
||||
Mon, 11 Dec 2006 16:11:54 +0100 <thp@perli.net>
|
||||
* src/gpodder/gpodder.py: Don't treat already downloaded but
|
||||
deleted episodes as "new" when clicking on "download new" -
|
||||
|
|
3
TODO
3
TODO
|
@ -2,8 +2,9 @@
|
|||
=== Release Goals for gPodder 0.9.0 ===
|
||||
|
||||
[ ] Implement support for filesystem-based MP3 players
|
||||
[ ] Change "Download" button to "Play" on downloaded podcasts
|
||||
[X] Change "Download" button to "Play" on downloaded podcasts
|
||||
[ ] Add support for importing gPodder 0.8.0 downloaded episodes
|
||||
[ ] Re-structure main menu for better usability
|
||||
|
||||
=== Todo List for gPodder post-0.9.0 ===
|
||||
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
# PLEASE DO NOT CHANGE FORMAT OF __version__ LINE (setup.py reads this)
|
||||
|
||||
__author__ = "Thomas Perl <thp@perli.net>"
|
||||
__version__ = "0.8.0+svn20061211"
|
||||
__date__ = "2006-12-11"
|
||||
__version__ = "0.8.0+svn20061212"
|
||||
__date__ = "2006-12-12"
|
||||
__copyright__ = "Copyright (c) 2005-2006 %s. All rights reserved." % __author__
|
||||
__licence__ = "GPL"
|
||||
|
||||
|
|
|
@ -729,6 +729,8 @@
|
|||
<property name="hover_selection">False</property>
|
||||
<property name="hover_expand">False</property>
|
||||
<signal name="row_activated" handler="on_treeAvailable_row_activated" last_modification_time="Sat, 29 Oct 2005 11:49:26 GMT"/>
|
||||
<signal name="button_release_event" handler="on_treeAvailable_button_release_event" last_modification_time="Tue, 12 Dec 2006 22:51:54 GMT"/>
|
||||
<signal name="key_release_event" handler="on_treeAvailable_button_release_event" last_modification_time="Tue, 12 Dec 2006 22:54:24 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
@ -795,6 +797,22 @@
|
|||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="btnPlay">
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-media-play</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
<signal name="clicked" handler="on_btnDownloadedExecute_clicked" last_modification_time="Tue, 12 Dec 2006 22:55:31 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="btnDownload">
|
||||
<property name="visible">True</property>
|
||||
|
|
|
@ -192,6 +192,31 @@ class Gpodder(SimpleGladeApp):
|
|||
#-- Gpodder.new }
|
||||
|
||||
#-- Gpodder custom methods {
|
||||
def play_or_download( self):
|
||||
is_download_button = False
|
||||
gl = gPodderLib()
|
||||
|
||||
try:
|
||||
selection = self.treeAvailable.get_selection()
|
||||
selection_tuple = selection.get_selected_rows()
|
||||
|
||||
for apath in selection_tuple[1]:
|
||||
selection_iter = self.treeAvailable.get_model().get_iter( apath)
|
||||
url = self.treeAvailable.get_model().get_value( selection_iter, 0)
|
||||
filename = self.active_channel.getPodcastFilename( url)
|
||||
if not os.path.exists( filename):
|
||||
is_download_button = True
|
||||
break
|
||||
except:
|
||||
is_download_button = True
|
||||
|
||||
if is_download_button:
|
||||
self.btnPlay.hide_all()
|
||||
self.btnDownload.show_all()
|
||||
else:
|
||||
self.btnPlay.show_all()
|
||||
self.btnDownload.hide_all()
|
||||
|
||||
def updateComboBox( self):
|
||||
try:
|
||||
old_active = self.comboAvailable.get_active()
|
||||
|
@ -361,20 +386,21 @@ class Gpodder(SimpleGladeApp):
|
|||
current_podcast = current_channel.find_episode( url)
|
||||
filename = current_channel.getPodcastFilename( current_podcast.url)
|
||||
|
||||
if widget and widget.get_name() == 'itemPlaySelected':
|
||||
gPodderLib().openFilename( filename)
|
||||
return
|
||||
|
||||
if widget and widget.get_name() == 'treeAvailable':
|
||||
gpe = Gpodderepisode()
|
||||
gpe.set_episode( current_podcast, current_channel)
|
||||
|
||||
if os.path.exists( filename):
|
||||
gpe.set_play_callback( lambda: gPodderLib().openFilename( filename))
|
||||
else:
|
||||
gpe.set_download_callback( lambda: self.download_podcast_by_url( url, want_message_dialog, None))
|
||||
|
||||
return
|
||||
if widget:
|
||||
if widget.get_name() == 'itemPlaySelected' or widget.get_name() == 'btnPlay':
|
||||
gPodderLib().openFilename( filename)
|
||||
return
|
||||
|
||||
if widget.get_name() == 'treeAvailable':
|
||||
gpe = Gpodderepisode()
|
||||
gpe.set_episode( current_podcast, current_channel)
|
||||
|
||||
if os.path.exists( filename):
|
||||
gpe.set_play_callback( lambda: gPodderLib().openFilename( filename))
|
||||
else:
|
||||
gpe.set_download_callback( lambda: self.download_podcast_by_url( url, want_message_dialog, None))
|
||||
|
||||
return
|
||||
|
||||
if not os.path.exists( filename) and not self.download_status_manager.is_download_in_progress( current_podcast.url):
|
||||
downloadThread( current_podcast.url, filename, None, self.download_status_manager, current_podcast.title, current_channel, current_podcast, self.ldb).download()
|
||||
|
@ -605,6 +631,11 @@ class Gpodder(SimpleGladeApp):
|
|||
self.on_treeAvailable_row_activated( widget, args)
|
||||
#-- Gpodder.on_btnDownload_clicked }
|
||||
|
||||
#-- Gpodder.on_treeAvailable_button_release_event {
|
||||
def on_treeAvailable_button_release_event(self, widget, *args):
|
||||
self.play_or_download()
|
||||
#-- Gpodder.on_treeAvailable_button_release_event }
|
||||
|
||||
#-- Gpodder.on_btnDownloadNewer_clicked {
|
||||
def on_btnDownloadNewer_clicked(self, widget, *args):
|
||||
channel = self.active_channel
|
||||
|
|
|
@ -160,6 +160,11 @@ class Gpodder(SimpleGladeApp):
|
|||
print "on_treeAvailable_row_activated called with self.%s" % widget.get_name()
|
||||
#-- Gpodder.on_treeAvailable_row_activated }
|
||||
|
||||
#-- Gpodder.on_treeAvailable_button_release_event {
|
||||
def on_treeAvailable_button_release_event(self, widget, *args):
|
||||
print "on_treeAvailable_button_release_event called with self.%s" % widget.get_name()
|
||||
#-- Gpodder.on_treeAvailable_button_release_event }
|
||||
|
||||
#-- Gpodder.on_treeDownloads_row_activated {
|
||||
def on_treeDownloads_row_activated(self, widget, *args):
|
||||
print "on_treeDownloads_row_activated called with self.%s" % widget.get_name()
|
||||
|
|
Loading…
Reference in New Issue