summaryrefslogtreecommitdiff
path: root/apps/playlist_viewer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r--apps/playlist_viewer.c8
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
804exit: 808exit:
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