diff --git a/src/screen_play.c b/src/screen_play.c
index 5cc3457592878492362a7ff04df9390b759922a9..ceb13616662197b076a0316e9fdfbb3dc735a971 100644 (file)
--- a/src/screen_play.c
+++ b/src/screen_play.c
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include "screen_play.h"
+#include "screen_interface.h"
#include "screen_file.h"
#include "config.h"
#include "i18n.h"
#include "utils.h"
#include "strfsong.h"
#include "wreadln.h"
-#include "command.h"
#include "colors.h"
#include "screen.h"
#include "screen_utils.h"
-#include "screen_play.h"
+#include "screen_song.h"
+#include "screen_lyrics.h"
#ifndef NCMPC_MINI
#include "hscroll.h"
#include <mpd/client.h>
#include <ctype.h>
-#include <stdlib.h>
#include <string.h>
-#include <time.h>
#include <glib.h>
#define MAX_SONG_LENGTH 512
mpdclient_cmd_play(c, lw->selected);
return true;
case CMD_DELETE:
- {
- int i = lw->selected_end, start = lw->selected_start;
- for(; i >= start; --i)
- mpdclient_cmd_delete(c, i);
-
- i++;
- if(i >= (int)playlist_length(&c->playlist))
- i--;
- lw->selected = i;
- lw->selected_start = i;
- lw->selected_end = i;
- lw->range_selection = false;
+ if (lw->range_selection) {
+ mpdclient_cmd_delete_range(c, lw->selected_start,
+ lw->selected_end + 1);
+ } else {
+ mpdclient_cmd_delete(c, lw->selected);
+ }
- playlist_save_selection();
+ lw->selected = lw->selected_end = lw->selected_start;
+ lw->range_selection = false;
return true;
- }
+
case CMD_SAVE_PLAYLIST:
playlist_save(c, NULL, NULL);
return true;