Closes #221: deselect selected items on download deletion when in offline mode

This commit is contained in:
Sumner Evans
2020-08-02 11:38:17 -06:00
parent b96b009555
commit f3e09d930d
2 changed files with 10 additions and 2 deletions

View File

@@ -857,6 +857,12 @@ class PlaylistDetailPanel(Gtk.Overlay):
tree,
self.offline_mode,
on_download_state_change=on_download_state_change,
on_remove_downloads_click=(
lambda: (
self.offline_mode
and self.playlist_songs.get_selection().unselect_all()
)
),
extra_menu_items=[
(
Gtk.ModelButton(

View File

@@ -190,6 +190,7 @@ def show_song_popover(
offline_mode: bool,
position: Gtk.PositionType = Gtk.PositionType.BOTTOM,
on_download_state_change: Callable[[str], None] = lambda _: None,
on_remove_downloads_click: Callable[[], Any] = lambda: None,
on_playlist_state_change: Callable[[], None] = lambda: None,
show_remove_from_playlist_button: bool = False,
extra_menu_items: List[Tuple[Gtk.ModelButton, Any]] = None,
@@ -201,11 +202,12 @@ def show_song_popover(
on_song_download_complete=on_download_state_change,
)
def on_remove_downloads_click(_: Any):
def do_on_remove_downloads_click(_: Any):
AdapterManager.cancel_download_songs(song_ids)
AdapterManager.batch_delete_cached_songs(
song_ids, on_song_delete=on_download_state_change,
)
on_remove_downloads_click()
def on_add_to_playlist_click(_: Any, playlist: Playlist):
update_playlist_result = AdapterManager.update_playlist(
@@ -304,7 +306,7 @@ def show_song_popover(
browse_to_song,
Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL),
(download_song_button, on_download_songs_click),
(remove_download_button, on_remove_downloads_click),
(remove_download_button, do_on_remove_downloads_click),
Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL),
Gtk.ModelButton(
text=f"Add {pluralize('song', song_count)} to playlist",