]> git.sesse.net Git - vlc/commitdiff
macosx: Add a link to the playlistitem menu to retrieve Cover Art.
authorDerk-Jan Hartman <hartman@videolan.org>
Tue, 30 Sep 2008 19:36:01 +0000 (21:36 +0200)
committerDerk-Jan Hartman <hartman@videolan.org>
Tue, 30 Sep 2008 19:36:01 +0000 (21:36 +0200)
Forward port: [1a5a6b89692f2e6761b6ecd9ae9ee6e50b6e4138]

extras/package/macosx/Resources/English.lproj/MainMenu.nib/classes.nib
extras/package/macosx/Resources/English.lproj/MainMenu.nib/info.nib
extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
modules/gui/macosx/playlist.h
modules/gui/macosx/playlist.m
modules/gui/macosx/playlistinfo.h
modules/gui/macosx/playlistinfo.m

index 996ca7a1f6051f5eb146a7989bab355e5492af0c..efa1e787ad19e05199c83286f1dee95e94a658ca 100644 (file)
                </dict>
                <dict>
                        <key>CLASS</key>
-                       <string>ITSlider</string>
+                       <string>NSObject</string>
                        <key>LANGUAGE</key>
                        <string>ObjC</string>
-                       <key>SUPERCLASS</key>
-                       <string>NSSlider</string>
                </dict>
                <dict>
                        <key>CLASS</key>
-                       <string>NSObject</string>
+                       <string>ITSlider</string>
                        <key>LANGUAGE</key>
                        <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSSlider</string>
                </dict>
                <dict>
                        <key>ACTIONS</key>
                                <string>id</string>
                                <key>deleteItem</key>
                                <string>id</string>
+                               <key>downloadCoverArt</key>
+                               <string>id</string>
                                <key>playItem</key>
                                <string>id</string>
                                <key>preparseItem</key>
                                <string>id</string>
                                <key>o_mi_delete</key>
                                <string>id</string>
+                               <key>o_mi_dl_cover_art</key>
+                               <string>id</string>
                                <key>o_mi_info</key>
                                <string>id</string>
                                <key>o_mi_play</key>
index 710f791cce16b0b0bbbd693f50a71051770d7ec9..28ddd4c93b12af457f280fa479515e789086dc7d 100644 (file)
        <integer>4</integer>
        <key>IBOpenObjects</key>
        <array>
-               <integer>3706</integer>
                <integer>29</integer>
+               <integer>21</integer>
+               <integer>3706</integer>
                <integer>3568</integer>
                <integer>915</integer>
-               <integer>21</integer>
        </array>
        <key>IBSystem Version</key>
        <string>9F33</string>
index 7b4970f331a8146c83964e67be532283f7e2a804..dbb1efc9c4aa78b92d553877edb4dcbcee993b4e 100644 (file)
Binary files a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib and b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib differ
index acf040b93fb942a442aa894515e59309626de70a..8bd96f083694c0c8f84a924b5be0c4e6294d24ea 100644 (file)
@@ -82,6 +82,7 @@
     IBOutlet id o_mi_preparse;
     IBOutlet id o_mi_revealInFinder;
     IBOutlet id o_mm_mi_revealInFinder;
+    IBOutlet id o_mi_dl_cover_art;
     IBOutlet id o_mi_selectall;
     IBOutlet id o_mi_sort_name;
     IBOutlet id o_mi_sort_author;
 - (IBAction)playItem:(id)sender;
 - (IBAction)revealItemInFinder:(id)sender;
 - (IBAction)preparseItem:(id)sender;
+- (IBAction)downloadCoverArt:(id)sender;
 - (IBAction)savePlaylist:(id)sender;
 - (IBAction)deleteItem:(id)sender;
 - (IBAction)selectAll:(id)sender;
index f9823ead7920aded2f040ade38ce6c18cfaaaffd..71ace0ecd691bef47b622f73881d4d3cd19d173b 100644 (file)
     [o_mi_delete setTitle: _NS("Delete")];
     [o_mi_recursive_expand setTitle: _NS("Expand Node")];
     [o_mi_selectall setTitle: _NS("Select All")];
-    [o_mi_info setTitle: _NS("Information...")];
+    [o_mi_info setTitle: _NS("Media Information...")];
+    [o_mi_dl_cover_art setTitle: _NS("Download Cover Art")];
     [o_mi_preparse setTitle: _NS("Fetch Meta Data")];
     [o_mi_revealInFinder setTitle: _NS("Reveal in Finder")];
     [o_mm_mi_revealInFinder setTitle: _NS("Reveal in Finder")];
     [self playlistUpdated];
 }
 
+- (IBAction)downloadCoverArt:(id)sender
+{
+    int i_count;
+    NSMutableArray *o_to_preparse;
+    intf_thread_t * p_intf = VLCIntf;
+    playlist_t * p_playlist = pl_Hold( p_intf );
+
+    o_to_preparse = [NSMutableArray arrayWithArray:[[o_outline_view selectedRowEnumerator] allObjects]];
+    i_count = [o_to_preparse count];
+
+    int i, i_row;
+    NSNumber *o_number;
+    playlist_item_t *p_item = NULL;
+
+    for( i = 0; i < i_count; i++ )
+    {
+        o_number = [o_to_preparse lastObject];
+        i_row = [o_number intValue];
+        p_item = [[o_outline_view itemAtRow:i_row] pointerValue];
+        [o_to_preparse removeObject: o_number];
+        [o_outline_view deselectRow: i_row];
+
+        if( p_item && p_item->i_children == -1 )
+        {
+            playlist_AskForArtEnqueue( p_playlist, p_item->p_input );
+        }
+    }
+    vlc_object_release( p_playlist );
+    [self playlistUpdated];
+}
+
 - (IBAction)servicesChange:(id)sender
 {
     NSMenuItem *o_mi = (NSMenuItem *)sender;
index 713810785424c59e14642ee4bb76c36b055da16e..cea5c0c34113fbdf4d908e8d58efd05f7a3e9fb0 100644 (file)
 
 - (IBAction)metaFieldChanged:(id)sender;
 - (IBAction)saveMetaData:(id)sender;
+- (IBAction)downloadCoverArt:(id)sender;
 - (void)initMediaPanelStats;
 - (void)updatePanelWithItem:(input_item_t *)_p_item;
 - (input_item_t *)item;
index 7fe67c2be6a5865d5cd6ed5f0b044b84aa5d4790..1c61ab8438ea63fa162724f6d8db0524254d4909 100644 (file)
@@ -425,6 +425,13 @@ error:
         _NS("OK"), nil, nil);
 }
 
+- (IBAction)downloadCoverArt:(id)sender
+{
+    playlist_t * p_playlist = pl_Hold( VLCIntf );
+    if( p_item) playlist_AskForArtEnqueue( p_playlist, p_item );
+    pl_Release( VLCIntf );
+}
+
 - (input_item_t *)item
 {
     if( p_item ) vlc_gc_incref( p_item );