description and other improvements for available episodes list
git-svn-id: svn://svn.berlios.de/gpodder/trunk@178 b0d088ad-0a06-0410-aad2-9ed5178a7e87
This commit is contained in:
parent
cda1c5bffe
commit
48a1a978aa
|
@ -1,3 +1,12 @@
|
|||
Mon, 20 Nov 2006 12:46:54 +0100 <thp@perli.net>
|
||||
* src/gpodder/libpodcasts.py: Added one_line_description() to
|
||||
podcastItem; modified getItemsModel to return description
|
||||
* src/gpodder/gpodder.py: Added description to "available
|
||||
episodes" list; made columns resizable and reorderable and
|
||||
added "ellipsize" property to both name and description field
|
||||
* bin/gpodder: bumped release date again (wonder if we should
|
||||
use svn:keywords on that file some time soon ;)
|
||||
|
||||
Mon, 20 Nov 2006 11:58:37 +0100 <thp@perli.net>
|
||||
* src/gpodder/libipodsync.py: Applied patch from Nick (nikosapi
|
||||
gmail com) to add file size to iTunesDB. This should fix the
|
||||
|
|
|
@ -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+svn20061117"
|
||||
__date__ = "2006-11-17"
|
||||
__version__ = "0.8.0+svn20061120"
|
||||
__date__ = "2006-11-20"
|
||||
__copyright__ = "Copyright (c) 2005-2006 %s. All rights reserved." % __author__
|
||||
__licence__ = "GPL"
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
import os
|
||||
import gtk
|
||||
import gobject
|
||||
import pango
|
||||
import sys
|
||||
|
||||
from threading import Event
|
||||
|
@ -122,8 +123,9 @@ class Gpodder(SimpleGladeApp):
|
|||
#gtk.TreeViewColumn( "", gtk.CellRendererToggle(), active=3),
|
||||
namecell = gtk.CellRendererText()
|
||||
namecell.set_property('cell-background', 'white')
|
||||
namecell.set_property('ellipsize', pango.ELLIPSIZE_END)
|
||||
namecolumn = gtk.TreeViewColumn( _("Episode"), namecell, text=1)
|
||||
namecolumn.add_attribute(namecell, "cell-background", 4)
|
||||
namecolumn.add_attribute(namecell, "cell-background", 4)
|
||||
|
||||
sizecell = gtk.CellRendererText()
|
||||
sizecell.set_property('cell-background', 'white')
|
||||
|
@ -135,7 +137,15 @@ class Gpodder(SimpleGladeApp):
|
|||
releasecolumn = gtk.TreeViewColumn( _("Released"), releasecell, text=5)
|
||||
releasecolumn.add_attribute(releasecell, "cell-background", 4)
|
||||
|
||||
for itemcolumn in ( namecolumn, sizecolumn, releasecolumn ):
|
||||
desccell = gtk.CellRendererText()
|
||||
desccell.set_property('cell-background', 'white')
|
||||
desccell.set_property('ellipsize', pango.ELLIPSIZE_END)
|
||||
desccolumn = gtk.TreeViewColumn( _("Description"), desccell, text=6)
|
||||
desccolumn.add_attribute(desccell, "cell-background", 4)
|
||||
|
||||
for itemcolumn in ( namecolumn, sizecolumn, releasecolumn, desccolumn ):
|
||||
itemcolumn.set_resizable( True)
|
||||
itemcolumn.set_reorderable( True)
|
||||
self.treeAvailable.append_column( itemcolumn)
|
||||
|
||||
# enable multiple selection support
|
||||
|
@ -240,6 +250,7 @@ class Gpodder(SimpleGladeApp):
|
|||
try:
|
||||
self.items_model = self.channels[self.active_channel].getItemsModel()
|
||||
self.treeAvailable.set_model( self.items_model)
|
||||
self.treeAvailable.columns_autosize()
|
||||
except:
|
||||
if self.items_model != None:
|
||||
self.items_model.clear()
|
||||
|
@ -657,6 +668,7 @@ class Gpodder(SimpleGladeApp):
|
|||
filename = self.get_current_channel_downloaded()
|
||||
new_model = self.ldb.getDownloadedEpisodesModelByFilename( filename)
|
||||
self.treeDownloaded.set_model( new_model)
|
||||
self.treeDownloaded.columns_autosize()
|
||||
except:
|
||||
if self.treeDownloaded.get_model() != None:
|
||||
self.treeDownloaded.get_model().clear()
|
||||
|
|
|
@ -180,7 +180,7 @@ class podcastChannel(ListType):
|
|||
return self.podcastFilenameExists( item.url)
|
||||
|
||||
def getItemsModel( self, want_color = True):
|
||||
new_model = gtk.ListStore( gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_STRING)
|
||||
new_model = gtk.ListStore( gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
|
||||
|
||||
for item in self:
|
||||
# Skip items with no download url
|
||||
|
@ -196,6 +196,7 @@ class podcastChannel(ListType):
|
|||
new_model.set( new_iter, 3, True)
|
||||
new_model.set( new_iter, 4, background_color)
|
||||
new_model.set( new_iter, 5, item.cute_pubdate())
|
||||
new_model.set( new_iter, 6, item.one_line_description())
|
||||
|
||||
return new_model
|
||||
|
||||
|
@ -343,6 +344,17 @@ class podcastItem(object):
|
|||
self.pubDate = pubDate
|
||||
if pubDate == None:
|
||||
self.pubDate = datetime.now().ctime()
|
||||
|
||||
def one_line_description( self):
|
||||
lines = self.description.strip().splitlines()
|
||||
if not lines or lines[0] == '':
|
||||
return _('No description available')
|
||||
else:
|
||||
desc = lines[0].strip()
|
||||
if len( desc) > 20:
|
||||
return desc[:80] + '...'
|
||||
else:
|
||||
return desc
|
||||
|
||||
def cute_pubdate( self):
|
||||
seconds_in_a_day = 86400
|
||||
|
|
Loading…
Reference in New Issue