[vlc-commits] [Git][videolan/vlc][master] macosx: add named image accessors to NSImage+VLCAdditions

Steve Lhomme (@robUx4) gitlab at videolan.org
Wed Apr 22 17:15:15 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
bd7d1037 by Serhii Bykov at 2026-04-22T17:01:08+00:00
macosx: add named image accessors to NSImage+VLCAdditions

Introduces typed class properties on NSImage (VLCAdditions) for all
VLC-specific custom image assets, replacing scattered imageNamed: string
literals across 16 call-site files. Also normalises the inconsistent
"noart" vs "noart.png" usage to a single accessor.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>

- - - - -


18 changed files:

- modules/gui/macosx/extensions/NSImage+VLCAdditions.h
- modules/gui/macosx/extensions/NSImage+VLCAdditions.m
- modules/gui/macosx/library/VLCLibraryImageCache.m
- modules/gui/macosx/library/VLCLibrarySegment.m
- modules/gui/macosx/library/VLCLibraryWindowPlayQueueSidebarViewController.m
- modules/gui/macosx/library/favorites-library/VLCLibraryFavoritesViewController.m
- modules/gui/macosx/library/groups-library/VLCLibraryGroupsViewController.m
- modules/gui/macosx/library/home-library/VLCLibraryHomeViewController.m
- modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.m
- modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistViewController.m
- modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
- modules/gui/macosx/main/VLCApplication.m
- modules/gui/macosx/menus/VLCStatusBarIcon.m
- modules/gui/macosx/menus/renderers/VLCRendererMenuController.m
- modules/gui/macosx/panels/VLCInformationWindowController.m
- modules/gui/macosx/windows/VLCOpenWindowController.m
- modules/gui/macosx/windows/controlsbar/VLCControlsBarCommon.m
- modules/gui/macosx/windows/controlsbar/VLCMainWindowControlsBar.m


Changes:

=====================================
modules/gui/macosx/extensions/NSImage+VLCAdditions.h
=====================================
@@ -26,7 +26,40 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface NSImage (VLCAdditions)
 
-+ (void)quickLookPreviewForLocalPath:(NSString *)path 
+// App images
+ at property (class, readonly) NSImage *VLCAppIconImage;
+ at property (class, readonly) NSImage *VLCXmasAppIconImage;
+ at property (class, readonly) NSImage *VLCStatusBarIconImage;
+
+// Sidebar images
+ at property (class, readonly) NSImage *VLCSidebarMovieImage;
+ at property (class, readonly) NSImage *VLCSidebarMusicImage;
+
+// B&W media source images
+ at property (class, readonly) NSImage *VLCBWHomeImage;
+ at property (class, readonly) NSImage *VLCBWMusicImage;
+ at property (class, readonly) NSImage *VLCBWServer1Image;
+ at property (class, readonly) NSImage *VLCBWServer2Image;
+ at property (class, readonly) NSImage *VLCBWUsb1Image;
+ at property (class, readonly) NSImage *VLCBWUsb2Image;
+ at property (class, readonly) NSImage *VLCDefaultAppIconImage;
+ at property (class, readonly) NSImage *VLCFollowImage;
+
+// Placeholder images
+ at property (class, readonly) NSImage *VLCNoArtImage;
+ at property (class, readonly) NSImage *VLCPlaceholderVideoImage;
+ at property (class, readonly) NSImage *VLCPlaceholderGroupImage;
+ at property (class, readonly) NSImage *VLCGenericImage;
+
+// Playback control images
+ at property (class, readonly) NSImage *VLCVolumeOffTemplateImage;
+ at property (class, readonly) NSImage *VLCShuffleOffImage;
+ at property (class, readonly) NSImage *VLCShuffleOnImage;
+ at property (class, readonly) NSImage *VLCRepeatAllImage;
+ at property (class, readonly) NSImage *VLCRepeatOneImage;
+ at property (class, readonly) NSImage *VLCRepeatOffImage;
+
++ (void)quickLookPreviewForLocalPath:(NSString *)path
                             withSize:(NSSize)size 
                    completionHandler:(void (^)(NSImage * _Nullable))completionHandler;
 + (void)quickLookPreviewForLocalURL:(NSURL *)url 


=====================================
modules/gui/macosx/extensions/NSImage+VLCAdditions.m
=====================================
@@ -27,6 +27,121 @@
 
 @implementation NSImage(VLCAdditions)
 
++ (NSImage *)VLCAppIconImage
+{
+    return [NSImage imageNamed:@"VLC"];
+}
+
++ (NSImage *)VLCXmasAppIconImage
+{
+    return [NSImage imageNamed:@"VLC-Xmas"];
+}
+
++ (NSImage *)VLCStatusBarIconImage
+{
+    return [NSImage imageNamed:@"VLCStatusBarIcon"];
+}
+
++ (NSImage *)VLCSidebarMovieImage
+{
+    return [NSImage imageNamed:@"sidebar-movie"];
+}
+
++ (NSImage *)VLCSidebarMusicImage
+{
+    return [NSImage imageNamed:@"sidebar-music"];
+}
+
++ (NSImage *)VLCBWHomeImage
+{
+    return [NSImage imageNamed:@"bw-home"];
+}
+
++ (NSImage *)VLCBWMusicImage
+{
+    return [NSImage imageNamed:@"bw-Music"];
+}
+
++ (NSImage *)VLCBWServer1Image
+{
+    return [NSImage imageNamed:@"bw-Server1"];
+}
+
++ (NSImage *)VLCBWServer2Image
+{
+    return [NSImage imageNamed:@"bw-server2"];
+}
+
++ (NSImage *)VLCBWUsb1Image
+{
+    return [NSImage imageNamed:@"bw-usb1"];
+}
+
++ (NSImage *)VLCBWUsb2Image
+{
+    return [NSImage imageNamed:@"bw-usb2"];
+}
+
++ (NSImage *)VLCDefaultAppIconImage
+{
+    return [NSImage imageNamed:@"NXdefaultappicon"];
+}
+
++ (NSImage *)VLCFollowImage
+{
+    return [NSImage imageNamed:@"NXFollow"];
+}
+
++ (NSImage *)VLCNoArtImage
+{
+    return [NSImage imageNamed:@"noart.png"];
+}
+
++ (NSImage *)VLCPlaceholderVideoImage
+{
+    return [NSImage imageNamed:@"placeholder-video"];
+}
+
++ (NSImage *)VLCPlaceholderGroupImage
+{
+    return [NSImage imageNamed:@"placeholder-group2"];
+}
+
++ (NSImage *)VLCGenericImage
+{
+    return [NSImage imageNamed:@"generic"];
+}
+
++ (NSImage *)VLCVolumeOffTemplateImage
+{
+    return [NSImage imageNamed:@"VLCVolumeOffTemplate"];
+}
+
++ (NSImage *)VLCShuffleOffImage
+{
+    return [NSImage imageNamed:@"shuffleOff"];
+}
+
++ (NSImage *)VLCShuffleOnImage
+{
+    return [NSImage imageNamed:@"shuffleOn"];
+}
+
++ (NSImage *)VLCRepeatAllImage
+{
+    return [NSImage imageNamed:@"repeatAll"];
+}
+
++ (NSImage *)VLCRepeatOneImage
+{
+    return [NSImage imageNamed:@"repeatOne"];
+}
+
++ (NSImage *)VLCRepeatOffImage
+{
+    return [NSImage imageNamed:@"repeatOff"];
+}
+
 + (void)quickLookPreviewForLocalPath:(NSString *)path 
                             withSize:(NSSize)size 
                    completionHandler:(void (^)(NSImage *))completionHandler


=====================================
modules/gui/macosx/library/VLCLibraryImageCache.m
=====================================
@@ -104,7 +104,7 @@ const NSUInteger kVLCCompositeImageDefaultCompositedGridItemCount = 4;
         _imageCache = [[NSCache alloc] init];
         _imageCache.countLimit = kVLCMaximumLibraryImageCacheSize;
         _imageCache.totalCostLimit = kVLCLibraryImageCacheCostLimit;
-        _noArtImage = [NSImage imageNamed:@"noart.png"];
+        _noArtImage = NSImage.VLCNoArtImage;
 
         NSNotificationCenter * const notificationCenter = [NSNotificationCenter defaultCenter];
         [notificationCenter addObserver:self


=====================================
modules/gui/macosx/library/VLCLibrarySegment.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCLibrarySegment.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 
 #import "library/VLCInputItem.h"
@@ -144,7 +145,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"house"
                                                   accessibilityDescription:@"Home icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"bw-home"];
+            self.internalDisplayImage = NSImage.VLCBWHomeImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -183,7 +184,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"heart"
                                                   accessibilityDescription:@"Favorites icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"bw-home"];
+            self.internalDisplayImage = NSImage.VLCBWHomeImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -226,7 +227,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"film"
                                                   accessibilityDescription:@"Movies icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-movie"];
+            self.internalDisplayImage = NSImage.VLCSidebarMovieImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -261,7 +262,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"tv"
                                                   accessibilityDescription:@"Shows icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-movie"];
+            self.internalDisplayImage = NSImage.VLCSidebarMovieImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -300,7 +301,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"film.stack"
                                                   accessibilityDescription:@"Video icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-movie"];
+            self.internalDisplayImage = NSImage.VLCSidebarMovieImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -345,7 +346,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"music.mic"
                                                   accessibilityDescription:@"Music artists icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-music"];
+            self.internalDisplayImage = NSImage.VLCSidebarMusicImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -384,7 +385,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"square.stack"
                                                   accessibilityDescription:@"Music albums icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-music"];
+            self.internalDisplayImage = NSImage.VLCSidebarMusicImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -423,7 +424,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"music.note"
                                                   accessibilityDescription:@"Music songs icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-music"];
+            self.internalDisplayImage = NSImage.VLCSidebarMusicImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -462,7 +463,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"guitars"
                                                   accessibilityDescription:@"Music genres icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-music"];
+            self.internalDisplayImage = NSImage.VLCSidebarMusicImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -501,7 +502,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"music.note"
                                                   accessibilityDescription:@"Music icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-music"];
+            self.internalDisplayImage = NSImage.VLCSidebarMusicImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -542,7 +543,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"music.note.list"
                                                   accessibilityDescription:@"Music playlists icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-music"];
+            self.internalDisplayImage = NSImage.VLCSidebarMusicImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;
@@ -581,7 +582,7 @@ NSArray<NSString *> *defaultBookmarkedLocations()
             self.internalDisplayImage = [NSImage imageWithSystemSymbolName:@"list.and.film"
                                                   accessibilityDescription:@"Video playlists icon"];
         } else {
-            self.internalDisplayImage = [NSImage imageNamed:@"sidebar-movie"];
+            self.internalDisplayImage = NSImage.VLCSidebarMovieImage;
             self.internalDisplayImage.template = YES;
         }
         self.internalMediaLibraryRequired = YES;


=====================================
modules/gui/macosx/library/VLCLibraryWindowPlayQueueSidebarViewController.m
=====================================
@@ -316,8 +316,8 @@
     } else {
         self.shuffleButton.image =
             self.playQueueController.playbackOrder == VLC_PLAYLIST_PLAYBACK_ORDER_NORMAL ?
-                [NSImage imageNamed:@"shuffleOff"] :
-                [[NSImage imageNamed:@"shuffleOn"] imageTintedWithColor:NSColor.VLCAccentColor];
+                NSImage.VLCShuffleOffImage :
+                [NSImage.VLCShuffleOnImage imageTintedWithColor:NSColor.VLCAccentColor];
     }
 }
 
@@ -363,14 +363,14 @@
         switch (repeatState) {
             case VLC_PLAYLIST_PLAYBACK_REPEAT_ALL:
                 self.repeatButton.image =
-                    [[NSImage imageNamed:@"repeatAll"] imageTintedWithColor:NSColor.VLCAccentColor];
+                    [NSImage.VLCRepeatAllImage imageTintedWithColor:NSColor.VLCAccentColor];
                 break;
             case VLC_PLAYLIST_PLAYBACK_REPEAT_CURRENT:
                 self.repeatButton.image =
-                    [[NSImage imageNamed:@"repeatOne"] imageTintedWithColor:NSColor.VLCAccentColor];
+                    [NSImage.VLCRepeatOneImage imageTintedWithColor:NSColor.VLCAccentColor];
                 break;
             default:
-                self.repeatButton.image = [NSImage imageNamed:@"repeatOff"];
+                self.repeatButton.image = NSImage.VLCRepeatOffImage;
                 break;
         }
     }


=====================================
modules/gui/macosx/library/favorites-library/VLCLibraryFavoritesViewController.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCLibraryFavoritesViewController.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSView+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 #import "library/VLCLibraryCollectionView.h"
@@ -369,7 +370,7 @@
 
 - (void)presentPlaceholderFavoritesView
 {
-    [self.libraryWindow displayLibraryPlaceholderViewWithImage:[NSImage imageNamed:@"placeholder-video"]
+    [self.libraryWindow displayLibraryPlaceholderViewWithImage:NSImage.VLCPlaceholderVideoImage
                                               usingConstraints:self.placeholderImageViewSizeConstraints
                                              displayingMessage:_NS("Your favorite media will appear here.\nMark media items as favorites to see them in this view.")];
 }


=====================================
modules/gui/macosx/library/groups-library/VLCLibraryGroupsViewController.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCLibraryGroupsViewController.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 
 #import "library/VLCLibraryCollectionView.h"
@@ -247,7 +248,7 @@
 
 - (void)presentPlaceholderGroupsView
 {
-    [self.libraryWindow displayLibraryPlaceholderViewWithImage:[NSImage imageNamed:@"placeholder-video"]
+    [self.libraryWindow displayLibraryPlaceholderViewWithImage:NSImage.VLCPlaceholderVideoImage
                                               usingConstraints:self.placeholderImageViewSizeConstraints
                                              displayingMessage:_NS("Your media groups will appear here.")];
 }


=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewController.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCLibraryHomeViewController.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 
 #import "library/VLCLibraryController.h"
@@ -166,7 +167,7 @@
 
 - (void)presentPlaceholderHomeLibraryView
 {
-    [self.libraryWindow displayLibraryPlaceholderViewWithImage:[NSImage imageNamed:@"placeholder-video"]
+    [self.libraryWindow displayLibraryPlaceholderViewWithImage:NSImage.VLCPlaceholderVideoImage
                                               usingConstraints:self.placeholderImageViewSizeConstraints
                                              displayingMessage:_NS("Your media will appear here.\nGo to the Browse section to add media you love.")];
 }


=====================================
modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCMediaSourceBaseDataSource.h"
 #include <AppKit/AppKit.h>
+#import "extensions/NSImage+VLCAdditions.h"
 
 #import "VLCLibraryMediaSourceViewNavigationStack.h"
 #import "VLCMediaSourceProvider.h"
@@ -261,25 +262,25 @@ NSString * const VLCMediaSourceBaseDataSourceNodeChanged = @"VLCMediaSourceBaseD
 
         NSImage *placeholder;
         if (mediaSource.category == SD_CAT_LAN) {
-            placeholder = [NSImage imageNamed:@"bw-Music"];
+            placeholder = NSImage.VLCBWMusicImage;
         } else {
             switch (inputType) {
                 case ITEM_TYPE_DIRECTORY:
                     if ([childRootInput.name containsString:@"home"]) {
-                        placeholder = [NSImage imageNamed:@"bw-home"];
+                        placeholder = NSImage.VLCBWHomeImage;
                     } else {
-                        placeholder = indexPath.item % 2 ? [NSImage imageNamed:@"bw-Server1"] : [NSImage imageNamed:@"bw-server2"];
+                        placeholder = indexPath.item % 2 ? NSImage.VLCBWServer1Image : NSImage.VLCBWServer2Image;
                     }
                     break;
                 case ITEM_TYPE_DISC:
                     if (isStream) {
-                        placeholder = indexPath.item % 2 ? [NSImage imageNamed:@"bw-Server1"] : [NSImage imageNamed:@"bw-server2"];
+                        placeholder = indexPath.item % 2 ? NSImage.VLCBWServer1Image : NSImage.VLCBWServer2Image;
                     } else {
-                        placeholder = indexPath.item % 2 ? [NSImage imageNamed:@"bw-usb1"] : [NSImage imageNamed:@"bw-usb2"];;
+                        placeholder = indexPath.item % 2 ? NSImage.VLCBWUsb1Image : NSImage.VLCBWUsb2Image;;
                     }
                     break;
                 default:
-                    placeholder = [NSImage imageNamed:@"bw-Music"];
+                    placeholder = NSImage.VLCBWMusicImage;
                     break;
             }
         }
@@ -293,7 +294,7 @@ NSString * const VLCMediaSourceBaseDataSourceNodeChanged = @"VLCMediaSourceBaseD
     } else {
         VLCMediaSource * const mediaSource = _mediaSources[indexPath.item];
         viewItem.titleTextField.stringValue = mediaSource.mediaSourceDescription;
-        viewItem.mediaImageView.image = [NSImage imageNamed:@"bw-Music"];
+        viewItem.mediaImageView.image = NSImage.VLCBWMusicImage;
     }
 
     return viewItem;
@@ -392,14 +393,14 @@ referenceSizeForHeaderInSection:(NSInteger)section
         if (_mediaSourceMode == VLCMediaSourceModeLAN) {
             VLCInputItem * const currentNodeInput = _lanDeviceSnapshot[row].inputNode.inputItem;
             NSURL * const artworkURL = currentNodeInput.artworkURL;
-            NSImage * const placeholder = [NSImage imageNamed:@"NXdefaultappicon"];
+            NSImage * const placeholder = NSImage.VLCDefaultAppIconImage;
             if (artworkURL) {
                 [cellView.representedImageView setImageURL:artworkURL placeholderImage:placeholder];
             } else {
                 cellView.representedImageView.image = placeholder;
             }
         } else {
-            cellView.representedImageView.image = [NSImage imageNamed:@"NXFollow"];
+            cellView.representedImageView.image = NSImage.VLCFollowImage;
         }
 
         NSString * const name = _mediaSourceMode == VLCMediaSourceModeLAN


=====================================
modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistViewController.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCLibraryPlaylistViewController.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSView+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 
@@ -264,7 +265,7 @@
             break;
     }
 
-    [self.libraryWindow displayLibraryPlaceholderViewWithImage:[NSImage imageNamed:@"placeholder-group2"]
+    [self.libraryWindow displayLibraryPlaceholderViewWithImage:NSImage.VLCPlaceholderGroupImage
                                               usingConstraints:self.placeholderImageViewSizeConstraints
                                              displayingMessage:placeholderPlaylistsString];
 }


=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
=====================================
@@ -22,6 +22,7 @@
 
 #import "VLCLibraryVideoViewController.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 
 #import "library/VLCLibraryCollectionView.h"
@@ -353,7 +354,7 @@
 
 - (void)presentPlaceholderVideoLibraryView
 {
-    [self.libraryWindow displayLibraryPlaceholderViewWithImage:[NSImage imageNamed:@"placeholder-video"]
+    [self.libraryWindow displayLibraryPlaceholderViewWithImage:NSImage.VLCPlaceholderVideoImage
                                               usingConstraints:self.placeholderImageViewSizeConstraints
                                              displayingMessage:_NS("Your videos will appear here.\nGo to the Browse section to add videos you love.")];
 }


=====================================
modules/gui/macosx/main/VLCApplication.m
=====================================
@@ -28,6 +28,7 @@
  *****************************************************************************/
 
 #import "VLCApplication.h"
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 
 #import <vlc_configuration.h>
@@ -99,11 +100,11 @@
          * wearing a Father Xmas hat.
          * Note: this icon doesn't represent an endorsement of The Coca-Cola Company.
          */
-        _vlcAppIconImage = [NSImage imageNamed:@"VLC-Xmas"];
+        _vlcAppIconImage = NSImage.VLCXmasAppIconImage;
     }
 
     if (_vlcAppIconImage == nil)
-        _vlcAppIconImage = [NSImage imageNamed:@"VLC"];
+        _vlcAppIconImage = NSImage.VLCAppIconImage;
 
     return _vlcAppIconImage;
 }


=====================================
modules/gui/macosx/menus/VLCStatusBarIcon.m
=====================================
@@ -23,6 +23,7 @@
 
 #import "VLCStatusBarIcon.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 #import "main/VLCMain.h"
 #import "playqueue/VLCPlayQueueController.h"
@@ -138,7 +139,7 @@
 
     [self inputItemChanged:nil];
 
-    [self setMetadataTitle:_NS("VLC media player") artist:_NS("Nothing playing") album:nil andCover:[NSImage imageNamed:@"noart.png"]];
+    [self setMetadataTitle:_NS("VLC media player") artist:_NS("Nothing playing") album:nil andCover:NSImage.VLCNoArtImage];
 }
 
 - (void)observeValueForKeyPath:(NSString *)keyPath
@@ -177,7 +178,7 @@
         [self.statusItem setEnabled:YES];
 
         // Set the status item image
-        NSImage *menuIcon = [NSImage imageNamed:@"VLCStatusBarIcon"];
+        NSImage *menuIcon = NSImage.VLCStatusBarIconImage;
         [menuIcon setTemplate:YES];
         [self.statusItem setImage:menuIcon];
 
@@ -351,7 +352,7 @@
 
     // Set fallback coverart
     if (!coverArtImage) {
-        coverArtImage = [NSImage imageNamed:@"noart.png"];
+        coverArtImage = NSImage.VLCNoArtImage;
     }
 
     // Hack to show now playing for streams (ICY)


=====================================
modules/gui/macosx/menus/renderers/VLCRendererMenuController.m
=====================================
@@ -23,6 +23,7 @@
 
 #import "VLCRendererMenuController.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "main/VLCMain.h"
 #import "menus/renderers/VLCRendererItem.h"
 #import "playqueue/VLCPlayQueueController.h"
@@ -115,9 +116,9 @@
     menuItem.action = @selector(selectRenderer:);
     menuItem.keyEquivalent = @"";
     if (item.capabilityFlags & VLC_RENDERER_CAN_VIDEO)
-        menuItem.image = [NSImage imageNamed:@"sidebar-movie"];
+        menuItem.image = NSImage.VLCSidebarMovieImage;
     else
-        menuItem.image = [NSImage imageNamed:@"sidebar-music"];
+        menuItem.image = NSImage.VLCSidebarMusicImage;
     menuItem.representedObject = item;
 
     NSString *unformattedTitle = [NSString stringWithFormat:@"%@ %@", item.name, item.userReadableType];


=====================================
modules/gui/macosx/panels/VLCInformationWindowController.m
=====================================
@@ -348,7 +348,7 @@ _##field##TextField.delegate = self
 
         if (artworkImages.count == 0) {
             dispatch_async(dispatch_get_main_queue(), ^{
-                _artwork = [NSImage imageNamed:@"noart.png"];
+                _artwork = NSImage.VLCNoArtImage;
                 [self updateRepresentation];
             });
             return;
@@ -409,7 +409,7 @@ _##field##TextField.delegate = self
 
         if (artworkImages.count == 0) {
             dispatch_async(dispatch_get_main_queue(), ^{
-                _artwork = [NSImage imageNamed:@"noart.png"];
+                _artwork = NSImage.VLCNoArtImage;
                 [self updateRepresentation];
             });
             return;
@@ -544,7 +544,7 @@ _##field##TextField.originalStateString = @"";
         PERFORM_ACTION_ALL_TEXTFIELDS(CLEAR_TEXT);
 
 #undef CLEAR_TEXT
-        _artworkImageButton.image = [NSImage imageNamed:@"noart.png"];
+        _artworkImageButton.image = NSImage.VLCNoArtImage;
     } else if (_representedInputItems.count == 1) {
         [self fillWindowWithInputItemData:_representedInputItems.firstObject];
     } else if (_representedInputItems.count > 1) {


=====================================
modules/gui/macosx/windows/VLCOpenWindowController.m
=====================================
@@ -27,6 +27,7 @@
 #import "VLCOpenWindowController.h"
 
 #import <Cocoa/Cocoa.h>
+#import "extensions/NSImage+VLCAdditions.h"
 #import <AVFoundation/AVFoundation.h>
 
 #import <vlc_common.h>
@@ -207,7 +208,7 @@ NSString *const VLCOpenTextFieldWasClicked = @"VLCOpenTextFieldWasClicked";
     [[_tabView tabViewItemAtIndex: 3] setLabel: _NS("Capture")];
     [_fileNameLabel setStringValue: @""];
     [_fileNameStubLabel setStringValue: _NS("Choose a file")];
-    [_fileIconWell setImage: [NSImage imageNamed:@"generic"]];
+    [_fileIconWell setImage: NSImage.VLCGenericImage];
     [_fileBrowseButton setTitle: _NS("Browse...")];
     _fileBrowseButton.accessibilityLabel = _NS("Select a file for playback");
     [_fileTreatAsPipeButton setTitle: _NS("Treat as a pipe rather than as a file")];
@@ -617,7 +618,7 @@ NSString *const VLCOpenTextFieldWasClicked = @"VLCOpenTextFieldWasClicked";
         [_fileNameLabel setStringValue: @""];
         [_fileNameStubLabel setHidden: NO];
         [_fileTreatAsPipeButton setHidden: YES];
-        [_fileIconWell setImage: [NSImage imageNamed:@"generic"]];
+        [_fileIconWell setImage: NSImage.VLCGenericImage];
         [self setMRL: @""];
     }
 }


=====================================
modules/gui/macosx/windows/controlsbar/VLCControlsBarCommon.m
=====================================
@@ -24,6 +24,7 @@
 
 #import "VLCControlsBarCommon.h"
 
+#import "extensions/NSImage+VLCAdditions.h"
 #import "extensions/NSString+Helpers.h"
 #import "main/VLCMain.h"
 #import "playqueue/VLCPlayQueueController.h"
@@ -252,7 +253,7 @@
     [self.backwardButton setAction:@selector(bwd:)];
 
     self.artworkImageView.cropsImagesToRoundedCorners = YES;
-    self.artworkImageView.image = [NSImage imageNamed:@"noart"];
+    self.artworkImageView.image = NSImage.VLCNoArtImage;
     self.artworkImageView.contentGravity = VLCImageViewContentGravityResize;
 
     if (!NSClassFromString(@"PIPViewController")) {
@@ -501,7 +502,7 @@
     self.detailLabel.stringValue = mediaItem.primaryDetailString ?: @"";
 
     NSURL * const artworkURL = inputItem.artworkURL;
-    NSImage * const placeholderImage = [NSImage imageNamed:@"noart"];
+    NSImage * const placeholderImage = NSImage.VLCNoArtImage;
     if (artworkURL) {
         [self.artworkImageView setImageURL:inputItem.artworkURL placeholderImage:placeholderImage];
     } else {


=====================================
modules/gui/macosx/windows/controlsbar/VLCMainWindowControlsBar.m
=====================================
@@ -113,7 +113,7 @@
         [self.volumeUpButton setImage: [NSImage imageWithSystemSymbolName:@"speaker.plus.fill"
                                                  accessibilityDescription:_NS("Volume up")]];
     } else {
-        _alwaysMuteImage = [NSImage imageNamed:@"VLCVolumeOffTemplate"];
+        _alwaysMuteImage = NSImage.VLCVolumeOffTemplateImage;
 
         [self.stopButton setImage: imageFromRes(@"stop")];
         [self.stopButton setAlternateImage: imageFromRes(@"stop-pressed")];



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bd7d103792c37f6a9883b40d099f008672e2ea39

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bd7d103792c37f6a9883b40d099f008672e2ea39
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list