vlc | branch: master | Felix Paul Kühne <[email protected]> | Tue Aug 13 11:45:26 2019 +0200| [deb01aa272b5122eedae7539a24763ebea183ba1] | committer: Felix Paul Kühne
macosx/library: merge both audio tabs visually into one This allows layout switches between grid and list view > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=deb01aa272b5122eedae7539a24763ebea183ba1 --- modules/gui/macosx/library/VLCLibraryWindow.m | 92 +++++++++++----------- .../media-source/VLCMediaSourceBaseDataSource.h | 1 + .../media-source/VLCMediaSourceBaseDataSource.m | 7 ++ 3 files changed, 55 insertions(+), 45 deletions(-) diff --git a/modules/gui/macosx/library/VLCLibraryWindow.m b/modules/gui/macosx/library/VLCLibraryWindow.m index f57d701413..264ec7ce19 100644 --- a/modules/gui/macosx/library/VLCLibraryWindow.m +++ b/modules/gui/macosx/library/VLCLibraryWindow.m @@ -174,14 +174,13 @@ static int ShowController(vlc_object_t *p_this, const char *psz_variable, _fspanel = [[VLCFSPanelController alloc] init]; [_fspanel showWindow:self]; - _segmentedTitleControl.segmentCount = 5; + _segmentedTitleControl.segmentCount = 4; [_segmentedTitleControl setTarget:self]; [_segmentedTitleControl setAction:@selector(segmentedControlAction:)]; [_segmentedTitleControl setLabel:_NS("Video") forSegment:0]; [_segmentedTitleControl setLabel:_NS("Music") forSegment:1]; - [_segmentedTitleControl setLabel:_NS("Music") forSegment:2]; - [_segmentedTitleControl setLabel:_NS("Local Network") forSegment:3]; - [_segmentedTitleControl setLabel:_NS("Internet") forSegment:4]; + [_segmentedTitleControl setLabel:_NS("Local Network") forSegment:2]; + [_segmentedTitleControl setLabel:_NS("Internet") forSegment:3]; [_segmentedTitleControl sizeToFit]; [_segmentedTitleControl setSelectedSegment:0]; @@ -386,48 +385,50 @@ static int ShowController(vlc_object_t *p_this, const char *psz_variable, break; case 1: - if (_mediaSourceView.superview != nil) { - [_mediaSourceView removeFromSuperview]; - } - if (_videoLibraryStackView.superview != nil) { - [_videoLibraryStackView removeFromSuperview]; - } - if (_tiledAudioView.superview != nil) { - [_tiledAudioView removeFromSuperview]; - } - if (_audioLibrarySplitView.superview == nil) { - _audioLibrarySplitView.translatesAutoresizingMaskIntoConstraints = NO; - [_libraryTargetView addSubview:_audioLibrarySplitView]; - NSDictionary *dict = NSDictionaryOfVariableBindings(_audioLibrarySplitView); - [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_audioLibrarySplitView(>=572.)]|" options:0 metrics:0 views:dict]]; - [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_audioLibrarySplitView(>=444.)]|" options:0 metrics:0 views:dict]]; - } - [_libraryAudioDataSource reloadAppearance]; - [_audioCollectionSelectionTableView reloadData]; - _librarySortButton.hidden = NO; - _audioSegmentedControl.hidden = NO; - break; - - case 2: - if (_mediaSourceView.superview != nil) { - [_mediaSourceView removeFromSuperview]; - } - if (_videoLibraryStackView.superview != nil) { - [_videoLibraryStackView removeFromSuperview]; - } - if (_audioLibrarySplitView.superview != nil) { - [_audioLibrarySplitView removeFromSuperview]; - } - if (_tiledAudioView.superview == nil) { - _tiledAudioView.translatesAutoresizingMaskIntoConstraints = NO; - [_libraryTargetView addSubview:_tiledAudioView]; - NSDictionary *dict = NSDictionaryOfVariableBindings(_tiledAudioView); - [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_tiledAudioView(>=572.)]|" options:0 metrics:0 views:dict]]; - [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_tiledAudioView(>=444.)]|" options:0 metrics:0 views:dict]]; + if (self.gridVsListSegmentedControl.selectedSegment == 0) { + if (_mediaSourceView.superview != nil) { + [_mediaSourceView removeFromSuperview]; + } + if (_videoLibraryStackView.superview != nil) { + [_videoLibraryStackView removeFromSuperview]; + } + if (_audioLibrarySplitView.superview != nil) { + [_audioLibrarySplitView removeFromSuperview]; + } + if (_tiledAudioView.superview == nil) { + _tiledAudioView.translatesAutoresizingMaskIntoConstraints = NO; + [_libraryTargetView addSubview:_tiledAudioView]; + NSDictionary *dict = NSDictionaryOfVariableBindings(_tiledAudioView); + [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_tiledAudioView(>=572.)]|" options:0 metrics:0 views:dict]]; + [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_tiledAudioView(>=444.)]|" options:0 metrics:0 views:dict]]; + } + [_tiledAudioViewController reloadAppearance]; + _librarySortButton.hidden = NO; + _audioSegmentedControl.hidden = NO; + } else { + if (_mediaSourceView.superview != nil) { + [_mediaSourceView removeFromSuperview]; + } + if (_videoLibraryStackView.superview != nil) { + [_videoLibraryStackView removeFromSuperview]; + } + if (_tiledAudioView.superview != nil) { + [_tiledAudioView removeFromSuperview]; + } + if (_audioLibrarySplitView.superview == nil) { + _audioLibrarySplitView.translatesAutoresizingMaskIntoConstraints = NO; + [_libraryTargetView addSubview:_audioLibrarySplitView]; + NSDictionary *dict = NSDictionaryOfVariableBindings(_audioLibrarySplitView); + [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_audioLibrarySplitView(>=572.)]|" options:0 metrics:0 views:dict]]; + [_libraryTargetView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_audioLibrarySplitView(>=444.)]|" options:0 metrics:0 views:dict]]; + } + [_libraryAudioDataSource reloadAppearance]; + [_audioCollectionSelectionTableView reloadData]; + _librarySortButton.hidden = NO; + _audioSegmentedControl.hidden = NO; } - [_tiledAudioViewController reloadAppearance]; - _librarySortButton.hidden = NO; - _audioSegmentedControl.hidden = NO; + self.gridVsListSegmentedControl.target = self; + self.gridVsListSegmentedControl.action = @selector(segmentedControlAction:); break; default: @@ -450,6 +451,7 @@ static int ShowController(vlc_object_t *p_this, const char *psz_variable, _mediaSourceDataSource.mediaSourceMode = _segmentedTitleControl.selectedSegment == 3 ? VLCMediaSourceModeLAN : VLCMediaSourceModeInternet; _librarySortButton.hidden = YES; _audioSegmentedControl.hidden = YES; + [_mediaSourceDataSource reloadViews]; break; } } diff --git a/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.h b/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.h index df6f4044a3..d1e3ce21f4 100644 --- a/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.h +++ b/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.h @@ -40,6 +40,7 @@ NS_ASSUME_NONNULL_BEGIN @property (readwrite, nonatomic) VLCMediaSourceMode mediaSourceMode; - (void)setupViews; +- (void)reloadViews; @end diff --git a/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.m b/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.m index 83cf79a7a4..ff7d1ebe08 100644 --- a/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.m +++ b/modules/gui/macosx/media-source/VLCMediaSourceBaseDataSource.m @@ -97,6 +97,13 @@ NSString *VLCMediaSourceTableViewCellIdentifier = @"VLCMediaSourceTableViewCellI _gridViewMode = YES; } +- (void)reloadViews +{ + self.gridVsListSegmentedControl.action = @selector(switchGripOrListMode:); + self.gridVsListSegmentedControl.target = self; + self.gridVsListSegmentedControl.selectedSegment = _gridViewMode ? 0 : 1; +} + - (void)loadMediaSources { self.pathControl.URL = nil; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
