Skip to content

Commit c681b4a

Browse files
cocoaui: Add missing Delete menu item (fixes #3155)
1 parent 292a3bd commit c681b4a

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

plugins/cocoaui/Utility/TrackContextMenu.m

+13
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ @interface TrackContextMenu()<NSMenuDelegate>
3030
@property (nonatomic) NSMenuItem *addToFrontOfQueueItem;
3131
@property (nonatomic) NSMenuItem *addToQueueItem;
3232
@property (nonatomic) NSMenuItem *removeFromQueueItem;
33+
@property (nonatomic) NSMenuItem *removeFromPlaylistItem;
3334
@property (nonatomic) NSMenuItem *convertItem;
3435

3536
@property (nonatomic) NSMenuItem *rgScanPerFileItem;
@@ -139,6 +140,10 @@ - (void)update:(ddb_playlist_t *)playlist actionContext:(ddb_action_context_t)ac
139140
self.removeFromQueueItem = [self addItemWithTitle:@"Remove from Playback Queue" action:@selector(removeFromPlaybackQueue) keyEquivalent:@""];
140141
self.removeFromQueueItem.target = self;
141142

143+
self.removeFromPlaylistItem = [self addItemWithTitle:@"Delete" action:@selector(delete:) keyEquivalent:@"\b"];
144+
self.removeFromPlaylistItem.target = self;
145+
self.removeFromPlaylistItem.keyEquivalentModifierMask = 0;
146+
142147
[self addItem:NSMenuItem.separatorItem];
143148

144149
self.convertItem = [self addItemWithTitle:@"Convert" action:@selector(convertSelection) keyEquivalent:@""];
@@ -566,4 +571,12 @@ - (void)trackProperties {
566571
[((id<TrackContextMenuDelegate>)self.delegate) trackContextMenuShowTrackProperties:self];
567572
}
568573

574+
- (void)delete:(id)sender {
575+
[self forEachTrack:^BOOL(DB_playItem_t *it) {
576+
deadbeef->plt_remove_item(self.playlist, it);
577+
return YES;
578+
}];
579+
deadbeef->sendmessage(DB_EV_PLAYLISTCHANGED, 0, DDB_PLAYLIST_CHANGE_CONTENT, 0);
580+
}
581+
569582
@end

0 commit comments

Comments
 (0)