Merge pull request #1309 from gpodder/revert-1284-undownload-checkbox

Revert "Fix #864 add undownload checkbox in delete episode confirm dialog"
This commit is contained in:
auouymous 2022-06-30 00:23:16 -07:00 committed by GitHub
commit 78c2a2df91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 41 deletions

View File

@ -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')):

View File

@ -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():

View File

@ -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.