updated TODO list
no confirmation dialog for zero elements in multiple selections re-designed the feed cache updating dialog, added progressbar git-svn-id: svn://svn.berlios.de/gpodder/trunk@129 b0d088ad-0a06-0410-aad2-9ed5178a7e87
This commit is contained in:
parent
c796c0327f
commit
851e2f64a2
|
@ -2,6 +2,14 @@ Fri, 14 Jul 2006 21:07:56 +0200 <thp@perli.net>
|
|||
* Multiple selection support for downladed items list
|
||||
* Bumped up version and release dates
|
||||
* Updated parts of README file for upcoming 0.8 release
|
||||
* Updated TODO list
|
||||
* Do nothing if zero elements are selected for the new
|
||||
multiple selection items (previously showed bogus
|
||||
confirmation message to user - not good! ;)
|
||||
* Re-designed "Updating feed cache" dialog, simplified
|
||||
it and added a progress bar to it
|
||||
* gPodderChannelReader now accepts an optional callback
|
||||
parameter for download status indication (see above)
|
||||
|
||||
Fri, 07 Jul 2006 14:21:59 +0200 <thp@perli.net>
|
||||
* Added workarounds to libopmlreader to support
|
||||
|
|
14
TODO
14
TODO
|
@ -1,10 +1,6 @@
|
|||
|
||||
== 0.8 or afterwards ==
|
||||
|
||||
* select multiple podcasts (episodes) and execute one command (ex:
|
||||
download) on all of these. (suggested by James Dorey and Haim Roitgrund)
|
||||
--> DONE for available podcasts, TODO for downloading and downloaded!
|
||||
|
||||
* in libipodsync.py: use mime magic instead of extension-based
|
||||
video detection? --> also, is mp4 always video or could it be
|
||||
aac audio too? if so, how to check what is what?
|
||||
|
@ -23,16 +19,13 @@
|
|||
* gpodder doesn't start if somebody has messed with the channels.xml file
|
||||
(or if you send the channels.xml to somebody -- greetings to steve :)
|
||||
|
||||
* Suggestions by Marius Scurtescu <marius.scurtescu at gmail dot com>:
|
||||
- add more columns to the Available Podcasts tab (date, ...)
|
||||
* Suggestion by Marius Scurtescu <marius.scurtescu at gmail dot com>:
|
||||
- add the download progress to the same Available Podcasts tab and
|
||||
then you don't need the Download Status tab at all, this will allow
|
||||
you to see what is downloaded and what not
|
||||
|
||||
* libipodsync
|
||||
-> check if ipod is connected (the automagic way)
|
||||
-> maybe delete podcasts that are deleted locally but still on ipod
|
||||
-> ............... :)
|
||||
|
||||
* do more translations (you can contribute here, of course :)
|
||||
|
||||
|
@ -49,13 +42,8 @@
|
|||
|
||||
* update "downloaded" (grey) episodes on download finish
|
||||
|
||||
* (properties: set http proxy) <--- done
|
||||
---> or use gnome's proxy setting <--- not done
|
||||
(suggested by alabrosse.ext@rd.francetelecom.fr)
|
||||
|
||||
* sort view
|
||||
|
||||
* maybe save date with downloads
|
||||
* maybe a "all channels view"
|
||||
|
||||
* consider using "--continue" for wget
|
||||
|
|
|
@ -380,14 +380,31 @@ class Gpodder(SimpleGladeApp):
|
|||
sync.clean_playlist()
|
||||
sync.close()
|
||||
|
||||
def update_feed_cache_callback( self, progressbar, position, count):
|
||||
progressbar.set_text( _("%d of %d") % ( position, count ))
|
||||
progressbar.set_fraction( ((1.00*position) / (1.00*count)))
|
||||
|
||||
def update_feed_cache(self):
|
||||
reader = gPodderChannelReader()
|
||||
#self.channels = reader.read( True)
|
||||
#self.labelStatus.set_text( "Updating feed cache...")
|
||||
please_wait = gtk.MessageDialog()
|
||||
please_wait.set_markup( _("<big><b>Updating feed cache</b></big>\n\nPlease wait while gPodder is\nupdating the feed cache..."))
|
||||
please_wait.show()
|
||||
self.channels = reader.read( True)
|
||||
please_wait = gtk.Dialog( _("Updating feed cache"), self.gPodder)
|
||||
#please_wait.vbox.set_border_width( 10)
|
||||
please_wait.vbox.set_spacing( 5)
|
||||
please_wait.set_border_width( 5)
|
||||
|
||||
label = gtk.Label( _("Please wait - gPodder is updating its feed cache..."))
|
||||
myprogressbar = gtk.ProgressBar()
|
||||
|
||||
# put it all together
|
||||
please_wait.vbox.pack_start( label)
|
||||
please_wait.vbox.pack_end( myprogressbar)
|
||||
please_wait.show_all()
|
||||
|
||||
# hide action anre and separator line
|
||||
please_wait.action_area.hide()
|
||||
please_wait.set_has_separator( False)
|
||||
|
||||
# let's get down to business..
|
||||
self.channels = reader.read( True, lambda pos, count: self.update_feed_cache_callback( myprogressbar, pos, count))
|
||||
please_wait.destroy()
|
||||
#self.labelStatus.set_text( "")
|
||||
self.updateComboBox()
|
||||
|
@ -644,6 +661,11 @@ class Gpodder(SimpleGladeApp):
|
|||
print "on_treeDownloads_row_activated called with self.%s" % widget.get_name()
|
||||
selection = self.treeDownloads.get_selection()
|
||||
selection_tuple = selection.get_selected_rows()
|
||||
if selection.count_selected_rows() == 0:
|
||||
if libgpodder.isDebugging():
|
||||
print "will not cancel any download. reason: nothing selected."
|
||||
return
|
||||
|
||||
if selection.count_selected_rows() == 1:
|
||||
msg = _("Do you really want to cancel this download?")
|
||||
else:
|
||||
|
@ -718,6 +740,11 @@ class Gpodder(SimpleGladeApp):
|
|||
selection = self.treeDownloaded.get_selection()
|
||||
selection_tuple = selection.get_selected_rows()
|
||||
model = self.treeDownloaded.get_model()
|
||||
|
||||
if selection.count_selected_rows() == 0:
|
||||
if libgpodder.isDebugging():
|
||||
print "will not remove any episode reason: nothing selected."
|
||||
return
|
||||
|
||||
if selection.count_selected_rows() == 1:
|
||||
msg = _("Do you really want to remove this episode?")
|
||||
|
|
|
@ -326,7 +326,10 @@ class gPodderChannelReader( DefaultHandler):
|
|||
def __init__( self):
|
||||
None
|
||||
|
||||
def read( self, force_update = False):
|
||||
def read( self, force_update = False, callback_proc = None):
|
||||
# callback proc should be like cb( pos, count), where pos is
|
||||
# the current position (of course) and count is how many feeds
|
||||
# will be updated. this can be used to visualize progress..
|
||||
self.channels = []
|
||||
parser = make_parser()
|
||||
parser.setContentHandler( self)
|
||||
|
@ -337,7 +340,12 @@ class gPodderChannelReader( DefaultHandler):
|
|||
reader = rssReader()
|
||||
input_channels = []
|
||||
|
||||
channel_count = len( self.channels)
|
||||
position = 0
|
||||
for channel in self.channels:
|
||||
if callback_proc != None:
|
||||
callback_proc( position, channel_count)
|
||||
|
||||
cachefile = channel.downloadRss(force_update)
|
||||
# check if download was a success
|
||||
if cachefile != None:
|
||||
|
@ -347,6 +355,12 @@ class gPodderChannelReader( DefaultHandler):
|
|||
reader.channel.shortname = channel.filename
|
||||
|
||||
input_channels.append( reader.channel)
|
||||
|
||||
position = position + 1
|
||||
|
||||
# the last call sets everything to 100% (hopefully ;)
|
||||
if callback_proc != None:
|
||||
callback_proc( position, channel_count)
|
||||
|
||||
return input_channels
|
||||
|
||||
|
|
Loading…
Reference in New Issue