This reverts commit 5eeda318f4
.
This commit is contained in:
parent
b1bd429be0
commit
15fa2d4be9
|
@ -115,27 +115,16 @@ class BuilderWidget(GtkBuilderWidget):
|
|||
else:
|
||||
gpodder.user_extensions.on_notification_show(title, message)
|
||||
|
||||
def show_confirmation_extended(self, message, title=None, checkbox=None, default_checked=False):
|
||||
def show_confirmation(self, message, title=None):
|
||||
dlg = Gtk.MessageDialog(self.main_window, Gtk.DialogFlags.MODAL, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO)
|
||||
if title:
|
||||
dlg.set_title(str(title))
|
||||
dlg.set_markup('<span weight="bold" size="larger">%s</span>\n\n%s' % (title, message))
|
||||
else:
|
||||
dlg.set_markup('<span weight="bold" size="larger">%s</span>' % (message))
|
||||
if checkbox:
|
||||
cb = Gtk.CheckButton.new_with_label(checkbox)
|
||||
cb.set_active(default_checked)
|
||||
dlg.get_message_area().pack_end(cb, False, False, 0)
|
||||
dlg.get_widget_for_response(Gtk.ResponseType.NO).grab_focus()
|
||||
dlg.show_all()
|
||||
response = dlg.run()
|
||||
checked = checkbox and cb.get_active()
|
||||
dlg.destroy()
|
||||
return dict(confirmed=response == Gtk.ResponseType.YES, checked=checked)
|
||||
|
||||
def show_confirmation(self, message, title=None):
|
||||
return self.show_confirmation_extended(
|
||||
message, title=title)["confirmed"]
|
||||
return response == Gtk.ResponseType.YES
|
||||
|
||||
def show_text_edit_dialog(self, title, prompt, text=None, empty=False,
|
||||
is_url=False, affirmative_text=_('_OK')):
|
||||
|
|
|
@ -2934,7 +2934,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
|
|||
titles.append('+%(count)d more…' % {'count': len(things) - max_things})
|
||||
return '\n'.join(titles) + '\n\n' + message
|
||||
|
||||
def delete_episode_list(self, episodes, confirm=True, callback=None, undownload=False):
|
||||
def delete_episode_list(self, episodes, confirm=True, callback=None):
|
||||
if self.wNotebook.get_current_page() > 0:
|
||||
selection = self.treeDownloads.get_selection()
|
||||
(model, paths) = selection.get_selected_rows()
|
||||
|
@ -2965,20 +2965,8 @@ class gPodder(BuilderWidget, dbus.service.Object):
|
|||
|
||||
message = self.format_delete_message(message, episodes, 5, 60)
|
||||
|
||||
if confirm:
|
||||
undownloadable = len([e for e in episodes if e.can_undownload()])
|
||||
if undownloadable:
|
||||
checkbox = N_("Mark downloaded episodes as new, after deletion, to allow downloading again",
|
||||
"Mark downloaded episodes as new, after deletion, to allow downloading again",
|
||||
undownloadable)
|
||||
else:
|
||||
checkbox = None
|
||||
res = self.show_confirmation_extended(
|
||||
message, title,
|
||||
checkbox=checkbox, default_checked=undownload)
|
||||
if not res["confirmed"]:
|
||||
return False
|
||||
undownload = res["checked"]
|
||||
if confirm and not self.show_confirmation(message, title):
|
||||
return False
|
||||
|
||||
self.on_item_cancel_download_activate(force=True)
|
||||
|
||||
|
@ -3006,17 +2994,10 @@ class gPodder(BuilderWidget, dbus.service.Object):
|
|||
progress.on_progress(idx / len(episodes))
|
||||
if not episode.archive:
|
||||
progress.on_message(episode.title)
|
||||
# ep_undownload must be computed before delete_from_disk
|
||||
ep_undownload = undownload and episode.can_undownload()
|
||||
episode.delete_from_disk()
|
||||
episode_urls.add(episode.url)
|
||||
channel_urls.add(episode.channel.url)
|
||||
episodes_status_update.append(episode)
|
||||
if ep_undownload:
|
||||
# Undelete and mark episode as new
|
||||
episode.state = gpodder.STATE_NORMAL
|
||||
episode.is_new = True
|
||||
episode.save()
|
||||
|
||||
# Notify the web service about the status update + upload
|
||||
if self.mygpo_client.can_access_webservice():
|
||||
|
|
|
@ -513,12 +513,6 @@ class PodcastEpisode(PodcastModelObject):
|
|||
"""
|
||||
return self.download_task and self.download_task.can_cancel()
|
||||
|
||||
def can_undownload(self):
|
||||
"""
|
||||
gPodder.on_btnUndownload_clicked() filters selection with this method.
|
||||
"""
|
||||
return self.was_downloaded(and_exists=True) and not self.archive
|
||||
|
||||
def can_delete(self):
|
||||
"""
|
||||
gPodder.delete_episode_list() filters out locked episodes, and cancels all unlocked tasks in selection.
|
||||
|
|
Loading…
Reference in New Issue