Added showConfirmation, ask user if she really wants to delete a channel / an episode

git-svn-id: svn://svn.berlios.de/gpodder@53 b0d088ad-0a06-0410-aad2-9ed5178a7e87
This commit is contained in:
Thomas Perl 2006-03-29 13:49:10 +00:00
parent 09bbebbd30
commit b58de3cd63
3 changed files with 26 additions and 2 deletions

View File

@ -2,6 +2,8 @@ Wed, 29 Mar 2006 15:21:32 +0200 <thp@perli.net>
* Re-designed gPodder properties dialog
+ Added option to create a symlink on users' desktop to downloaddir
* Added "Download to" field to gPodder channel editor
* Added showConfirmation function to main gPodder window
* Ask for confirmation on channel / episode delete
Wed, 29 Mar 2006 13:29:51 +0200 <thp@perli.net>
* Only create one localDB object in the main gPodder window

View File

@ -3,7 +3,7 @@
# Python module src/gpodder/gpodder.py
# Autogenerated from gpodder.glade
# Generated on Wed Mar 29 15:29:19 2006
# Generated on Wed Mar 29 15:45:16 2006
# Warning: Do not modify any context comment such as #--
# They are required to keep user's code
@ -222,6 +222,21 @@ class Gpodder(SimpleGladeApp):
dlg.run()
dlg.destroy()
def showConfirmation( self, message = "Do you really want to do this?", title = "gPodder confirmation"):
myresult = False
dlg = gtk.MessageDialog( self.gPodder, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO)
dlg.set_title( title)
dlg.set_markup( message)
if gtk.RESPONSE_YES == dlg.run():
myresult = True
dlg.destroy()
if libgpodder.isDebugging():
print "I Asked: " + message
print "User answered: " + str(myresult)
return myresult
def set_icon(self):
icon = self.get_icon('gpodder')
self.main_widget.set_icon(icon)
@ -398,7 +413,10 @@ class Gpodder(SimpleGladeApp):
def on_itemRemoveChannel_activate(self, widget, *args):
if libgpodder.isDebugging():
print "on_itemRemoveChannel_activate called with self.%s" % widget.get_name()
try:
if self.showConfirmation( "Do you really want to remove this channel?\n\n" + self.channels[self.active_channel].title) == False:
return
self.channels.remove( self.channels[self.active_channel])
gPodderChannelWriter().write( self.channels)
self.channels = gPodderChannelReader().read( False)
@ -559,6 +577,7 @@ class Gpodder(SimpleGladeApp):
def on_btnDownloadedDelete_clicked(self, widget, *args):
if libgpodder.isDebugging():
print "on_btnDownloadedDelete_clicked called with self.%s" % widget.get_name()
# Note: same code as in on_treeDownloaded_row_activated()
selection_iter = self.comboDownloaded.get_active_iter()
channel_filename = self.comboDownloaded.get_model().get_value( selection_iter, 0)
@ -570,6 +589,9 @@ class Gpodder(SimpleGladeApp):
title = self.treeDownloaded.get_model().get_value( selection_iter, 1)
filename_final = localDB().getLocalFilenameByPodcastURL( channel_filename, url)
current_channel = self.downloaded_channels[self.comboDownloaded.get_active()]
if self.showConfirmation( "Do you really want to remove this episode?\n\n" + title) == False:
return
if current_channel.deleteDownloadedItemByUrlAndTitle( url, title):
gPodderLib().deleteFilename( filename_final)
# clear local db cache so we can re-read it

View File

@ -3,7 +3,7 @@
# Python module src/gpodder/gpodder.py
# Autogenerated from gpodder.glade
# Generated on Wed Mar 29 15:29:19 2006
# Generated on Wed Mar 29 15:45:16 2006
# Warning: Do not modify any context comment such as #--
# They are required to keep user's code