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 (23)
Showing
with 142 additions and 31 deletions
......@@ -314,6 +314,7 @@
5325720E2C4966630068DEC3 /* VLCLibraryShowsDataSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryShowsDataSource.m; sourceTree = "<group>"; };
5325C57B29302E6800B2B63A /* VLCLibraryAudioViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryAudioViewController.m; sourceTree = "<group>"; };
5325C57C29302E6800B2B63A /* VLCLibraryAudioViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryAudioViewController.h; sourceTree = "<group>"; };
532CBCFD2C8E025F00899413 /* VLCLibraryDataSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryDataSource.h; sourceTree = "<group>"; };
533B5D2A29CF94C6003DE887 /* VLCBookmarksTableViewDataSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCBookmarksTableViewDataSource.h; sourceTree = "<group>"; };
533B5D2B29CF94C6003DE887 /* VLCBookmarksTableViewDataSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCBookmarksTableViewDataSource.m; sourceTree = "<group>"; };
534E73E029D2EDB1009982DE /* VLCBookmarksTableViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCBookmarksTableViewDelegate.h; sourceTree = "<group>"; };
......@@ -1331,6 +1332,7 @@
7DBB7638227F3FBC002649E1 /* VLCLibraryCollectionViewSupplementaryElementView.m */,
7DFBDCA62269E77400B700A5 /* VLCLibraryController.h */,
7DFBDCA72269E77500B700A5 /* VLCLibraryController.m */,
532CBCFD2C8E025F00899413 /* VLCLibraryDataSource.h */,
7DFBDCB2226CD00900B700A5 /* VLCLibraryDataTypes.h */,
7DFBDCB3226CD00900B700A5 /* VLCLibraryDataTypes.m */,
53B40FD52AA878E400C814E4 /* VLCLibraryHeroView.h */,
......@@ -1339,7 +1341,7 @@
7D92AF2023DDCA8D00D81EA3 /* VLCLibraryImageCache.m */,
536283DC291146BC00640C15 /* VLCLibraryItemInternalMediaItemsDataSource.h */,
536283DF291146BC00640C15 /* VLCLibraryItemInternalMediaItemsDataSource.m */,
5360E99F2C5BE01F0046BA8B /* VLCLibraryMasterDetailViewTableViewDataSource.h */,
5360E99F2C5BE01F0046BA8B /* VLCLibraryMasterDetailViewTableViewDataSource.h */,
5360E9A32C5BE5550046BA8B /* VLCLibraryMasterDetailViewTableViewDelegate.h */,
5360E9A42C5BE5550046BA8B /* VLCLibraryMasterDetailViewTableViewDelegate.m */,
7DFBDCAF226A518400B700A5 /* VLCLibraryMenuController.h */,
......@@ -1596,8 +1598,8 @@
537BD6852C59216600446ED0 /* VLCLibraryGroupsViewController.m */,
);
path = "groups-library";
sourceTree = "<group>";
};
sourceTree = "<group>";
};
53A8F9CE2A7E1DE900BC11BF /* playlist-library */ = {
isa = PBXGroup;
children = (
......
......@@ -122,6 +122,7 @@ libmacosx_plugin_la_SOURCES = \
gui/macosx/library/VLCLibraryCollectionViewSupplementaryElementView.m \
gui/macosx/library/VLCLibraryController.h \
gui/macosx/library/VLCLibraryController.m \
gui/macosx/library/VLCLibraryDataSource.h \
gui/macosx/library/VLCLibraryDataTypes.h \
gui/macosx/library/VLCLibraryDataTypes.m \
gui/macosx/library/VLCLibraryHeroView.h \
......
......@@ -25,6 +25,7 @@
NS_ASSUME_NONNULL_BEGIN
@class VLCLibraryWindow;
@protocol VLCLibraryDataSource;
@interface VLCLibraryAbstractSegmentViewController : NSObject
......@@ -33,10 +34,17 @@ NS_ASSUME_NONNULL_BEGIN
@property (readonly, weak) NSView *emptyLibraryView;
@property (readonly, weak) NSImageView *placeholderImageView;
@property (readonly, weak) NSTextField *placeholderLabel;
@property (readwrite) NSArray<NSLayoutConstraint *> *placeholderImageViewSizeConstraints;
// Implement getters for these properties in subclass
@property (readonly) NSArray<NSLayoutConstraint *> *placeholderImageViewSizeConstraints;
@property (readonly) id<VLCLibraryDataSource> currentDataSource;
@property (readonly) BOOL connected; // Meaning to library model notifications
- (instancetype)initWithLibraryWindow:(VLCLibraryWindow *)libraryWindow;
- (void)connect;
- (void)disconnect;
@end
NS_ASSUME_NONNULL_END
......@@ -22,7 +22,8 @@
#import "VLCLibraryAbstractSegmentViewController.h"
#import "VLCLibraryWindow.h"
#import "library/VLCLibraryDataSource.h"
#import "library/VLCLibraryWindow.h"
@implementation VLCLibraryAbstractSegmentViewController
......@@ -40,4 +41,29 @@
return self;
}
- (id<VLCLibraryDataSource>)currentDataSource
{
[self doesNotRecognizeSelector:_cmd];
return nil;
}
// A note on the connected property.
// This does not necessarily reflect the connection state of the data sources themselves.
// We may disconnect the data sources via the view controllers when we detect that long loads are
// taking place. However, keeping the connection state in the view controller allows us to
// reconnect the data sources once the long loads are over (or not reconnect them, if the view
// controller was originally disconnected, for example if the embedded video view is open)
- (void)connect
{
[self.currentDataSource connect];
_connected = YES;
}
- (void)disconnect
{
[self.currentDataSource disconnect];
_connected = NO;
}
@end
......@@ -22,12 +22,14 @@
#import <Cocoa/Cocoa.h>
#import "library/VLCLibraryDataSource.h"
NS_ASSUME_NONNULL_BEGIN
@class VLCLibraryRepresentedItem;
@protocol VLCMediaLibraryItemProtocol;
@protocol VLCLibraryCollectionViewDataSource <NSCollectionViewDataSource>
@protocol VLCLibraryCollectionViewDataSource <NSCollectionViewDataSource, VLCLibraryDataSource>
@property (readonly) NSString *supplementaryDetailViewKind;
......@@ -39,10 +41,6 @@ NS_ASSUME_NONNULL_BEGIN
- (void)reloadData;
@optional
- (void)connect;
- (void)disconnect;
@end
NS_ASSUME_NONNULL_END
//
// VLCLibraryDataSource.h
// VLC
//
// Created by Claudio Cambra on 9/9/24.
//
#ifndef VLCLibraryDataSource_h
#define VLCLibraryDataSource_h
#import <Foundation/Foundation.h>
@protocol VLCLibraryDataSource <NSObject>
@optional
- (void)connect;
- (void)disconnect;
@end
#endif /* VLCLibraryDataSource_h */
......@@ -23,12 +23,11 @@
#import <Cocoa/Cocoa.h>
#import "library/VLCLibraryDataTypes.h"
#import "library/VLCLibraryDataSource.h"
NS_ASSUME_NONNULL_BEGIN
@protocol VLCMediaLibraryItemProtocol;
@protocol VLCLibraryTableViewDataSource <NSTableViewDataSource>
@protocol VLCLibraryTableViewDataSource <NSTableViewDataSource, VLCLibraryDataSource>
@property (readonly) VLCMediaLibraryParentGroupType currentParentType;
......@@ -36,10 +35,6 @@ NS_ASSUME_NONNULL_BEGIN
- (id<VLCMediaLibraryItemProtocol>)libraryItemAtRow:(NSInteger)row
forTableView:(nullable NSTableView *)tableView;
@optional
- (void)connect;
- (void)disconnect;
@end
NS_ASSUME_NONNULL_END
......@@ -437,7 +437,6 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
} else if (segmentType == VLCLibraryStreamsSegment) {
[self.libraryMediaSourceViewController presentStreamsView];
}
_librarySegmentViewController = self.libraryMediaSourceViewController;
}
- (void)showGroupsLibrary
......@@ -725,12 +724,14 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
[self.videoViewController showControls];
self.splitViewController.playlistSidebarViewController.mainVideoModeEnabled = YES;
[self.librarySegmentViewController disconnect];
}
- (void)disableVideoPlaybackAppearance
{
[self makeFirstResponder:self.splitViewController.playlistSidebarViewController.view];
[VLCMain.sharedInstance.voutProvider updateWindowLevelForHelperWindows: NSNormalWindowLevel];
[VLCMain.sharedInstance.voutProvider updateWindowLevelForHelperWindows:NSNormalWindowLevel];
// restore alpha value to 1 for the case that macosx-opaqueness is set to < 1
self.alphaValue = 1.0;
......@@ -739,6 +740,8 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
[self disableVideoTitleBarMode];
[self showControlsBarImmediately];
self.splitViewController.playlistSidebarViewController.mainVideoModeEnabled = NO;
[self.librarySegmentViewController connect];
}
- (void)mouseMoved:(NSEvent *)o_event
......
......@@ -395,12 +395,14 @@ NSString * const VLCLibraryAudioDataSourceDisplayedCollectionChangedNotification
name:VLCPlayerCurrentMediaItemChanged
object:nil];
[self.audioGroupDataSource connect];
[self reloadData];
}
- (void)disconnect
{
[NSNotificationCenter.defaultCenter removeObserver:self];
[self.audioGroupDataSource disconnect];
}
+ (void)setupCollectionView:(NSCollectionView *)collectionView
......
......@@ -133,7 +133,6 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
selector:@selector(libraryModelLongLoadFinished:)
name:audioMediaDeletedLongLoadFinishNotification
object:nil];
}
return self;
......@@ -326,13 +325,20 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.scrollerInsets = audioScrollViewScrollerInsets;
}
#pragma mark - Show the audio view
#pragma mark - Superclass property overrides
- (NSArray<NSLayoutConstraint *> *)placeholderImageViewSizeConstraints
{
return _internalPlaceholderImageViewSizeConstraints;
}
- (id<VLCLibraryDataSource>)currentDataSource
{
return self.audioDataSource;
}
#pragma mark - Show the audio view
- (void)presentAudioView
{
self.libraryTargetView.subviews = @[];
......@@ -635,8 +641,10 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
return;
}
[self.audioDataSource disconnect];
[self.audioGroupDataSource disconnect];
if (self.connected) {
[self.audioDataSource disconnect];
[self.audioGroupDataSource disconnect];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 0.0;
......@@ -658,8 +666,10 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
return;
}
[self.audioDataSource connect];
[self.audioGroupDataSource connect];
if (self.connected) {
[self.audioDataSource connect];
[self.audioGroupDataSource connect];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 1.0;
......
......@@ -189,6 +189,11 @@
self.selectedGroupTableView.dataSource = self.dataSource;
}
- (id<VLCLibraryDataSource>)currentDataSource
{
return self.dataSource;
}
- (void)presentGroupsView
{
const VLCLibraryViewModeSegment viewModeSegment =
......
......@@ -282,7 +282,9 @@
return;
}
[self.stackViewController disconnectContainers];
if (self.connected) {
[self.stackViewController disconnectContainers];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 0.0;
......@@ -309,7 +311,9 @@
return;
}
[self.stackViewController connectContainers];
if (self.connected) {
[self.stackViewController connectContainers];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 1.0;
......@@ -326,4 +330,14 @@
}];
}
- (void)connect
{
[self.stackViewController connectContainers];
}
- (void)disconnect
{
[self.stackViewController disconnectContainers];
}
@end
......@@ -255,6 +255,11 @@
return _internalPlaceholderImageViewSizeConstraints;
}
- (id<VLCLibraryDataSource>)currentDataSource
{
return self.dataSource;
}
// TODO: This is duplicated almost verbatim across all the library view
// controllers. Ideally we should have the placeholder view handle this
// itself, or move this into a common superclass
......@@ -363,13 +368,16 @@
}
}
// TODO: Duplicated a lot, move to abstract view controller?
- (void)libraryModelLongLoadStarted:(NSNotification *)notification
{
if ([self.libraryTargetView.subviews containsObject:self.loadingOverlayView]) {
return;
}
[self.dataSource disconnect];
if (self.connected) {
[self.dataSource disconnect];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 0.0;
......@@ -391,7 +399,9 @@
return;
}
[self.dataSource connect];
if (self.connected) {
[self.dataSource connect];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 1.0;
......
......@@ -291,6 +291,18 @@
return _internalPlaceholderImageViewSizeConstraints;
}
- (id<VLCLibraryDataSource>)currentDataSource
{
const NSInteger librarySegmentType = self.libraryWindow.librarySegmentType;
if (librarySegmentType == VLCLibraryVideoSegment) {
return self.libraryVideoDataSource;
} else if (librarySegmentType == VLCLibraryShowsVideoSubSegment) {
return self.libraryShowsDataSource;
} else {
return nil;
}
}
- (void)updatePresentedVideoLibraryView
{
_libraryShowsDataSource = nil;
......@@ -507,7 +519,9 @@
return;
}
[self.libraryVideoDataSource disconnect];
if (self.connected) {
[self.libraryVideoDataSource disconnect];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 0.0;
......@@ -529,7 +543,9 @@
return;
}
[self.libraryVideoDataSource connect];
if (self.connected) {
[self.libraryVideoDataSource connect];
}
self.loadingOverlayView.wantsLayer = YES;
self.loadingOverlayView.alphaValue = 1.0;
......