diff options
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r-- | apps/playlist_viewer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index f1ed0ac0fd..940a6d77dc 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include "list.h" | 48 | #include "list.h" |
49 | #include "splash.h" | 49 | #include "splash.h" |
50 | #include "playlist_menu.h" | 50 | #include "playlist_menu.h" |
51 | #include "yesno.h" | ||
51 | 52 | ||
52 | /* Maximum number of tracks we can have loaded at one time */ | 53 | /* Maximum number of tracks we can have loaded at one time */ |
53 | #define MAX_PLAYLIST_ENTRIES 200 | 54 | #define MAX_PLAYLIST_ENTRIES 200 |
@@ -634,6 +635,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
634 | enum playlist_viewer_result ret = PLAYLIST_VIEWER_OK; | 635 | enum playlist_viewer_result ret = PLAYLIST_VIEWER_OK; |
635 | bool exit = false; /* exit viewer */ | 636 | bool exit = false; /* exit viewer */ |
636 | int button; | 637 | int button; |
638 | bool dirty = false; | ||
637 | struct gui_synclist playlist_lists; | 639 | struct gui_synclist playlist_lists; |
638 | if (!playlist_viewer_init(&viewer, filename, false)) | 640 | if (!playlist_viewer_init(&viewer, filename, false)) |
639 | goto exit; | 641 | goto exit; |
@@ -729,6 +731,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
729 | update_playlist(true); | 731 | update_playlist(true); |
730 | viewer.moving_track = -1; | 732 | viewer.moving_track = -1; |
731 | viewer.moving_playlist_index = -1; | 733 | viewer.moving_playlist_index = -1; |
734 | dirty = true; | ||
732 | } | 735 | } |
733 | else if (!viewer.playlist) | 736 | else if (!viewer.playlist) |
734 | { | 737 | { |
@@ -784,6 +787,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
784 | exit = true; | 787 | exit = true; |
785 | if (viewer.selected_track >= viewer.num_tracks) | 788 | if (viewer.selected_track >= viewer.num_tracks) |
786 | viewer.selected_track = viewer.num_tracks-1; | 789 | viewer.selected_track = viewer.num_tracks-1; |
790 | dirty = true; | ||
787 | } | 791 | } |
788 | gui_synclist_draw(&playlist_lists); | 792 | gui_synclist_draw(&playlist_lists); |
789 | break; | 793 | break; |
@@ -803,7 +807,11 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
803 | 807 | ||
804 | exit: | 808 | exit: |
805 | if (viewer.playlist) | 809 | if (viewer.playlist) |
810 | { | ||
811 | if(dirty && yesno_pop(ID2P(LANG_SAVE_CHANGES))) | ||
812 | save_playlist_screen(viewer.playlist); | ||
806 | playlist_close(viewer.playlist); | 813 | playlist_close(viewer.playlist); |
814 | } | ||
807 | return ret; | 815 | return ret; |
808 | } | 816 | } |
809 | 817 | ||