vlc | branch: master | Felix Paul Kühne <[email protected]> | Thu Jan 31 18:34:28 
2019 +0100| [9feb7ca812d7e80053b1ab61a49241025b6c90eb] | committer: Felix Paul 
Kühne

macosx/playlist: allow multi-select and multi-delete

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9feb7ca812d7e80053b1ab61a49241025b6c90eb
---

 modules/gui/macosx/UI/VLCLibraryWindow.xib |  2 +-
 modules/gui/macosx/VLCPlaylistTableView.m  | 12 +++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/modules/gui/macosx/UI/VLCLibraryWindow.xib 
b/modules/gui/macosx/UI/VLCLibraryWindow.xib
index dabe0892db..0cfef78402 100644
--- a/modules/gui/macosx/UI/VLCLibraryWindow.xib
+++ b/modules/gui/macosx/UI/VLCLibraryWindow.xib
@@ -91,7 +91,7 @@
                                             <rect key="frame" x="0.0" y="0.0" 
width="237" height="235"/>
                                             <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <tableView 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" 
multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" 
viewBased="YES" id="Fr1-af-8gb" customClass="VLCPlaylistTableView">
+                                                <tableView 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" 
autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="Fr1-af-8gb" 
customClass="VLCPlaylistTableView">
                                                     <rect key="frame" x="0.0" 
y="0.0" width="237" height="235"/>
                                                     <autoresizingMask 
key="autoresizingMask"/>
                                                     <size 
key="intercellSpacing" width="3" height="2"/>
diff --git a/modules/gui/macosx/VLCPlaylistTableView.m 
b/modules/gui/macosx/VLCPlaylistTableView.m
index fc0fad676f..0c6034912b 100644
--- a/modules/gui/macosx/VLCPlaylistTableView.m
+++ b/modules/gui/macosx/VLCPlaylistTableView.m
@@ -61,14 +61,24 @@
     }
 
     size_t indexOfSelectedItem = self.selectedRow;
+    NSIndexSet *selectedIndexes = [self selectedRowIndexes];
 
     switch(key) {
         case NSDeleteCharacter:
         case NSDeleteFunctionKey:
         case NSDeleteCharFunctionKey:
         case NSBackspaceCharacter:
-            [[[VLCMain sharedInstance] playlistController] 
removeItemAtIndex:indexOfSelectedItem];
+        {
+            if (selectedIndexes.count == 1) {
+                [[[VLCMain sharedInstance] playlistController] 
removeItemAtIndex:indexOfSelectedItem];
+            } else {
+                VLCPlaylistController *playlistController = [[VLCMain 
sharedInstance] playlistController];
+                [selectedIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, 
BOOL * _Nonnull stop) {
+                    [playlistController removeItemAtIndex:idx];
+                }];
+            }
             break;
+        }
 
         case NSEnterCharacter:
         case NSCarriageReturnCharacter:

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to