Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (12)
Showing with 82 additions and 38 deletions
......@@ -472,8 +472,22 @@
</connections>
</button>
</toolbarItem>
<toolbarItem implicitItemIdentifier="068A0B88-812C-44BE-8997-704367CF5226" label="VLC" paletteLabel="VLC" image="VLC" title="VLC" id="XND-sc-TDa">
<nil key="toolTip"/>
<size key="minSize" width="28" height="28"/>
<size key="maxSize" width="28" height="28"/>
<imageView key="view" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="KR4-pI-siG">
<rect key="frame" x="1" y="14" width="28" height="28"/>
<constraints>
<constraint firstAttribute="width" constant="28" id="Vst-mC-big"/>
<constraint firstAttribute="width" secondItem="KR4-pI-siG" secondAttribute="height" multiplier="1:1" id="Y7q-Mz-W5J"/>
</constraints>
<imageCell key="cell" controlSize="small" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="VLC" id="AiE-o7-B5v"/>
</imageView>
</toolbarItem>
</allowedToolbarItems>
<defaultToolbarItems>
<toolbarItem reference="XND-sc-TDa"/>
<toolbarItem reference="5oK-0W-JJh"/>
<toolbarItem reference="6Ie-eu-GDn"/>
<toolbarItem reference="g2e-7o-Qet"/>
......@@ -1530,6 +1544,7 @@
<outlet property="toggleNavSidebarToolbarItem" destination="5oK-0W-JJh" id="xoK-Zo-nwh"/>
<outlet property="togglePlaylistToolbarItem" destination="Lf2-ec-tHh" id="PX9-gs-T5Z"/>
<outlet property="toolbar" destination="pr3-TD-J2z" id="0bl-3Z-WiA"/>
<outlet property="vlcIconToolbarItem" destination="XND-sc-TDa" id="bFb-Nx-LRb"/>
</connections>
</customObject>
<viewController id="Kkr-kI-gpb" customClass="VLCLibraryWindowSplitViewController">
......
......@@ -39,7 +39,7 @@
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView identifier="HeaderCell" id="kOq-UZ-niu">
<tableCellView identifier="VLCLibrarySegmentHeaderCellIdentifier" id="kOq-UZ-niu">
<rect key="frame" x="11" y="0.0" width="29" height="0.0"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
......
......@@ -29,9 +29,8 @@ extern NSString * const VLCLibraryBookmarkedLocationsChanged;
typedef NS_ENUM(NSInteger, VLCLibrarySegmentType) {
VLCLibraryLowSentinelSegment = -1,
VLCLibraryVLCTitleSegment,
VLCLibraryHeaderSegment,
VLCLibraryHomeSegment,
VLCLibraryHeaderSegment,
VLCLibraryVideoSegment,
VLCLibraryShowsVideoSubSegment,
VLCLibraryMusicSegment,
......@@ -42,11 +41,12 @@ typedef NS_ENUM(NSInteger, VLCLibrarySegmentType) {
VLCLibraryPlaylistsSegment,
VLCLibraryPlaylistsMusicOnlyPlaylistsSubSegment,
VLCLibraryPlaylistsVideoOnlyPlaylistsSubSegment,
VLCLibraryGroupsSegment,
VLCLibraryGroupsGroupSubSegment,
VLCLibraryExploreHeaderSegment,
VLCLibraryBrowseSegment,
VLCLibraryBrowseBookmarkedLocationSubSegment,
VLCLibraryStreamsSegment,
VLCLibraryGroupsSegment,
VLCLibraryGroupsGroupSubSegment,
VLCLibraryHighSentinelSegment,
};
......
......@@ -42,15 +42,15 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
+ (NSArray<VLCLibrarySegment *> *)librarySegments
{
return @[
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryVLCTitleSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryHeaderSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryHomeSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryHeaderSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryVideoSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryMusicSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryPlaylistsSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryGroupsSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryExploreHeaderSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryBrowseSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryStreamsSegment],
[VLCLibrarySegment segmentWithSegmentType:VLCLibraryGroupsSegment]
];
}
......@@ -181,8 +181,6 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
- (NSString *)displayStringForType:(VLCLibrarySegmentType)segmentType
{
switch (segmentType) {
case VLCLibraryVLCTitleSegment:
return _NS("VLC");
case VLCLibraryHeaderSegment:
return _NS("Library");
case VLCLibraryHomeSegment:
......@@ -207,16 +205,18 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
return _NS("Music playlists");
case VLCLibraryPlaylistsVideoOnlyPlaylistsSubSegment:
return _NS("Video playlists");
case VLCLibraryGroupsSegment:
return _NS("Groups");
case VLCLibraryGroupsGroupSubSegment:
NSAssert(NO, @"displayStringForType should not be called for this segment type");
case VLCLibraryExploreHeaderSegment:
return _NS("Explore");
case VLCLibraryBrowseSegment:
return _NS("Browse");
case VLCLibraryBrowseBookmarkedLocationSubSegment:
NSAssert(NO, @"displayStringForType should not be called for this segment type");
case VLCLibraryStreamsSegment:
return _NS("Streams");
case VLCLibraryGroupsSegment:
return _NS("Groups");
case VLCLibraryGroupsGroupSubSegment:
NSAssert(NO, @"displayStringForType should not be called for this segment type");
case VLCLibraryLowSentinelSegment:
case VLCLibraryHighSentinelSegment:
NSAssert(NO, @"Invalid segment value");
......@@ -227,8 +227,6 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
- (NSImage *)oldIconImageForType:(VLCLibrarySegmentType)segmentType
{
switch (segmentType) {
case VLCLibraryVLCTitleSegment:
return NSApp.applicationIconImage;
case VLCLibraryHeaderSegment:
return nil;
case VLCLibraryHomeSegment:
......@@ -248,14 +246,16 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
return [NSImage imageNamed:@"sidebar-music"];
case VLCLibraryPlaylistsVideoOnlyPlaylistsSubSegment:
return [NSImage imageNamed:@"sidebar-movie"];
case VLCLibraryGroupsSegment:
case VLCLibraryGroupsGroupSubSegment:
return [NSImage imageNamed:@"NSTouchBarTagIcon"];
case VLCLibraryExploreHeaderSegment:
return nil;
case VLCLibraryBrowseSegment:
case VLCLibraryBrowseBookmarkedLocationSubSegment:
return [NSImage imageNamed:@"NSFolder"];
case VLCLibraryStreamsSegment:
return [NSImage imageNamed:@"NSActionTemplate"];
case VLCLibraryGroupsSegment:
case VLCLibraryGroupsGroupSubSegment:
return [NSImage imageNamed:@"NSTouchBarTagIcon"];
return [NSImage imageNamed:@"NSActionTemplate"];
case VLCLibraryLowSentinelSegment:
case VLCLibraryHighSentinelSegment:
NSAssert(NO, @"Invalid segment value");
......@@ -269,8 +269,6 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
{
if (@available(macOS 11.0, *)) {
switch (segmentType) {
case VLCLibraryVLCTitleSegment:
return NSApp.applicationIconImage;
case VLCLibraryHeaderSegment:
return [NSImage imageWithSystemSymbolName:@"books.vertical.fill"
accessibilityDescription:@"Library icon"];
......@@ -307,6 +305,15 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
case VLCLibraryPlaylistsVideoOnlyPlaylistsSubSegment:
return [NSImage imageWithSystemSymbolName:@"list.and.film"
accessibilityDescription:@"Video playlists icon"];
case VLCLibraryGroupsSegment:
return [NSImage imageWithSystemSymbolName:@"rectangle.3.group"
accessibilityDescription:@"Groups icon"];
case VLCLibraryGroupsGroupSubSegment:
return [NSImage imageWithSystemSymbolName:@"play.rectangle"
accessibilityDescription:@"Group icon"];
case VLCLibraryExploreHeaderSegment:
return [NSImage imageWithSystemSymbolName:@"sailboat.fill"
accessibilityDescription:@"Explore icon"];
case VLCLibraryBrowseSegment:
return [NSImage imageWithSystemSymbolName:@"folder"
accessibilityDescription:@"Browse icon"];
......@@ -316,12 +323,6 @@ NSString * const VLCLibraryBookmarkedLocationsChanged = @"VLCLibraryBookmarkedLo
case VLCLibraryStreamsSegment:
return [NSImage imageWithSystemSymbolName:@"antenna.radiowaves.left.and.right"
accessibilityDescription:@"Streams icon"];
case VLCLibraryGroupsSegment:
return [NSImage imageWithSystemSymbolName:@"rectangle.3.group"
accessibilityDescription:@"Groups icon"];
case VLCLibraryGroupsGroupSubSegment:
return [NSImage imageWithSystemSymbolName:@"play.rectangle"
accessibilityDescription:@"Group icon"];
case VLCLibraryLowSentinelSegment:
case VLCLibraryHighSentinelSegment:
NSAssert(NO, @"Invalid segment value");
......
......@@ -68,6 +68,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (class, readonly) const CGFloat librarySplitViewSelectionViewDefaultWidth;
@property (class, readonly) const CGFloat librarySplitViewMainViewMinimumWidth;
@property (class, readonly) const CGFloat libraryWindowNavSidebarMinWidth;
@property (class, readonly) const CGFloat libraryWindowNavSidebarMaxWidth;
@property (class, readonly) const CGFloat libraryWindowPlaylistSidebarMaxWidth;
......
......@@ -221,6 +221,11 @@
return 48.;
}
+ (const CGFloat)libraryWindowNavSidebarMinWidth
{
return 180.;
}
+ (const CGFloat)libraryWindowNavSidebarMaxWidth
{
return 300.;
......
......@@ -29,6 +29,8 @@
#import "library/VLCLibraryWindow.h"
#import "library/VLCLibraryWindowNavigationSidebarOutlineView.h"
#import "extensions/NSColor+VLCAdditions.h"
// This needs to match whatever identifier has been set in the library window XIB
static NSString * const VLCLibrarySegmentCellIdentifier = @"VLCLibrarySegmentCellIdentifier";
......@@ -157,7 +159,7 @@ static NSString * const VLCLibrarySegmentCellIdentifier = @"VLCLibrarySegmentCel
segmentType < VLCLibraryHighSentinelSegment,
@"Invalid segment type value provided");
if (segmentType == VLCLibraryVLCTitleSegment || segmentType == VLCLibraryHeaderSegment) {
if (segmentType == VLCLibraryHeaderSegment || segmentType == VLCLibraryExploreHeaderSegment) {
return;
}
......@@ -183,10 +185,18 @@ static NSString * const VLCLibrarySegmentCellIdentifier = @"VLCLibrarySegmentCel
{
NSAssert(outlineView == _outlineView, @"VLCLibraryWindowNavigationSidebarController should only be a delegate for the libraryWindow nav sidebar outline view!");
NSTableCellView * const cellView = [outlineView makeViewWithIdentifier:@"VLCLibrarySegmentCellIdentifier" owner:self];
const BOOL isHeader = [self outlineView:outlineView isGroupItem:item];
NSTableCellView * const cellView = isHeader
? [outlineView makeViewWithIdentifier:@"VLCLibrarySegmentHeaderCellIdentifier" owner:self]
: [outlineView makeViewWithIdentifier:@"VLCLibrarySegmentCellIdentifier" owner:self];
NSAssert(cellView != nil, @"Provided cell view for navigation outline view should be valid!");
[cellView.textField bind:NSValueBinding toObject:cellView withKeyPath:@"objectValue.displayString" options:nil];
[cellView.imageView bind:NSImageBinding toObject:cellView withKeyPath:@"objectValue.displayImage" options:nil];
if (@available(macOS 10.14, *)) {
cellView.imageView.contentTintColor = NSColor.VLCAccentColor;
}
return cellView;
}
......@@ -198,8 +208,7 @@ static NSString * const VLCLibrarySegmentCellIdentifier = @"VLCLibrarySegmentCel
NSTreeNode * const node = [self.outlineView itemAtRow:proposedSelectionIndexes.firstIndex];
VLCLibrarySegment * const segment = (VLCLibrarySegment *)node.representedObject;
if (segment.segmentType == VLCLibraryVLCTitleSegment ||
segment.segmentType == VLCLibraryHeaderSegment) {
if (segment.segmentType == VLCLibraryHeaderSegment || segment.segmentType == VLCLibraryExploreHeaderSegment) {
return NSIndexSet.indexSet;
} else if (segment.segmentType == VLCLibraryMusicSegment) {
[self.outlineView expandItem:[self nodeForSegmentType:VLCLibraryMusicSegment]];
......@@ -240,7 +249,7 @@ static NSString * const VLCLibrarySegmentCellIdentifier = @"VLCLibrarySegmentCel
{
NSTreeNode * const treeNode = (NSTreeNode *)item;
VLCLibrarySegment * const segment = (VLCLibrarySegment *)treeNode.representedObject;
return segment.segmentType == VLCLibraryHeaderSegment;
return segment.segmentType == VLCLibraryHeaderSegment || segment.segmentType == VLCLibraryExploreHeaderSegment;
}
@end
......@@ -61,6 +61,7 @@
}
_navSidebarItem.preferredThicknessFraction = 0.2;
_navSidebarItem.minimumThickness = VLCLibraryUIUnits.libraryWindowNavSidebarMinWidth;
_navSidebarItem.maximumThickness = VLCLibraryUIUnits.libraryWindowNavSidebarMaxWidth;
self.multifunctionSidebarItem.preferredThicknessFraction = 0.2;
......
......@@ -37,6 +37,7 @@ extern NSString * const VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier;
@property (readonly, strong) NSToolbarItem *trackingSeparatorToolbarItem;
@property (readwrite, weak) IBOutlet NSToolbarItem *vlcIconToolbarItem;
@property (readwrite, weak) IBOutlet NSToolbarItem *toggleNavSidebarToolbarItem;
@property (readwrite, weak) IBOutlet NSToolbarItem *backwardsToolbarItem;
@property (readwrite, weak) IBOutlet NSToolbarItem *forwardsToolbarItem;
......
......@@ -73,6 +73,13 @@ NSString * const VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier =
self.sortOrderToolbarItem.toolTip = _NS("Select Sorting Mode");
self.togglePlaylistToolbarItem.toolTip = _NS("Toggle Playqueue");
self.vlcIconToolbarItem.minSize = NSMakeSize(18, 18);
self.vlcIconToolbarItem.maxSize = NSMakeSize(18, 18);
NSImageView * const vlcIconImageView = [[NSImageView alloc] initWithFrame:NSZeroRect];
vlcIconImageView.image = NSApp.applicationIconImage;
self.vlcIconToolbarItem.view = vlcIconImageView;;
// Hide renderers toolbar item at first. Start discoveries and wait for notifications about
// renderers being added or removed to keep hidden or show depending on outcome
[self hideToolbarItem:self.renderersToolbarItem];
......@@ -144,8 +151,8 @@ NSString * const VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier =
{
switch(segment) {
case VLCLibraryLowSentinelSegment:
case VLCLibraryVLCTitleSegment:
case VLCLibraryHeaderSegment:
case VLCLibraryExploreHeaderSegment:
vlc_assert_unreachable();
case VLCLibraryHomeSegment:
[self setForwardsBackwardsToolbarItemsVisible:NO];
......@@ -240,12 +247,14 @@ NSString * const VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier =
[self insertToolbarItem:self.backwardsToolbarItem
inFrontOf:@[self.trackingSeparatorToolbarItem,
self.toggleNavSidebarToolbarItem]];
self.toggleNavSidebarToolbarItem,
self.vlcIconToolbarItem]];
[self insertToolbarItem:self.forwardsToolbarItem
inFrontOf:@[self.backwardsToolbarItem,
self.trackingSeparatorToolbarItem,
self.toggleNavSidebarToolbarItem]];
self.toggleNavSidebarToolbarItem,
self.vlcIconToolbarItem]];
}
- (void)setSortOrderToolbarItemVisible:(BOOL)visible
......@@ -260,7 +269,8 @@ NSString * const VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier =
self.forwardsToolbarItem,
self.backwardsToolbarItem,
self.trackingSeparatorToolbarItem,
self.toggleNavSidebarToolbarItem]];
self.toggleNavSidebarToolbarItem,
self.vlcIconToolbarItem]];
}
- (void)setLibrarySearchToolbarItemVisible:(BOOL)visible
......@@ -295,7 +305,8 @@ NSString * const VLCLibraryWindowTrackingSeparatorToolbarItemIdentifier =
inFrontOf:@[self.forwardsToolbarItem,
self.backwardsToolbarItem,
self.trackingSeparatorToolbarItem,
self.toggleNavSidebarToolbarItem]];
self.toggleNavSidebarToolbarItem,
self.vlcIconToolbarItem]];
}
@end