vlc | branch: master | Felix Paul Kühne <[email protected]> | Wed Aug 14 14:19:13 2019 +0200| [2c57e347bcf70002a5e7fd4d0df0dfc7b5c9f0a0] | committer: Felix Paul Kühne
macosx/library: create album track listing table view in code this way, we can create it without a surrounding scroll view allowing user interaction with the wrapping parent scroll view > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2c57e347bcf70002a5e7fd4d0df0dfc7b5c9f0a0 --- .../gui/macosx/UI/VLCLibraryAlbumTableCellView.xib | 66 +--------------------- modules/gui/macosx/UI/VLCLibraryTableCellView.xib | 12 ++-- .../macosx/library/VLCLibraryAlbumTableCellView.h | 1 - .../macosx/library/VLCLibraryAlbumTableCellView.m | 24 ++++++-- 4 files changed, 26 insertions(+), 77 deletions(-) diff --git a/modules/gui/macosx/UI/VLCLibraryAlbumTableCellView.xib b/modules/gui/macosx/UI/VLCLibraryAlbumTableCellView.xib index 240de8859f..73baaede84 100644 --- a/modules/gui/macosx/UI/VLCLibraryAlbumTableCellView.xib +++ b/modules/gui/macosx/UI/VLCLibraryAlbumTableCellView.xib @@ -49,65 +49,6 @@ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> </textFieldCell> </textField> - <scrollView borderType="none" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="Xp8-b8-BMe"> - <rect key="frame" x="20" y="14" width="600" height="303"/> - <clipView key="contentView" id="Mw1-Z3-rfh"> - <rect key="frame" x="0.0" y="0.0" width="600" height="303"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="3Uj-1y-jNN"> - <rect key="frame" x="0.0" y="0.0" width="600" height="303"/> - <autoresizingMask key="autoresizingMask"/> - <size key="intercellSpacing" width="3" height="2"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> - <tableColumns> - <tableColumn editable="NO" width="597" minWidth="40" maxWidth="1000" id="uk8-7Y-PH4"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border"> - <font key="font" metaFont="smallSystem"/> - <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> - </tableHeaderCell> - <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="5BF-Dw-feh"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> - <prototypeCellViews> - <tableCellView id="DeP-kQ-X4h"> - <rect key="frame" x="1" y="1" width="597" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> - <subviews> - <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="w77-Dx-5e6"> - <rect key="frame" x="0.0" y="0.0" width="597" height="17"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/> - <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="pqd-by-fVz"> - <font key="font" metaFont="system"/> - <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> - <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> - </textFieldCell> - </textField> - </subviews> - <connections> - <outlet property="textField" destination="w77-Dx-5e6" id="Nb9-7L-0IE"/> - </connections> - </tableCellView> - </prototypeCellViews> - </tableColumn> - </tableColumns> - </tableView> - </subviews> - </clipView> - <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="wFZ-8V-ntY"> - <rect key="frame" x="-100" y="-100" width="223" height="15"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="A0h-zT-v1o"> - <rect key="frame" x="-100" y="-100" width="15" height="102"/> - <autoresizingMask key="autoresizingMask"/> - </scroller> - </scrollView> <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KVh-Zn-l7I"> <rect key="frame" x="40" y="346" width="64" height="64"/> <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="libraryPlay" imagePosition="only" alignment="center" inset="2" id="oLK-Ll-w7g"> @@ -122,11 +63,9 @@ <constraints> <constraint firstItem="dd9-b1-XEf" firstAttribute="leading" secondItem="lyR-U9-HKd" secondAttribute="leading" id="1rt-8d-FYu"/> <constraint firstItem="KVh-Zn-l7I" firstAttribute="centerY" secondItem="Ydb-7n-5Cd" secondAttribute="centerY" id="AZI-Eo-9so"/> - <constraint firstItem="3Uj-1y-jNN" firstAttribute="top" secondItem="Ydb-7n-5Cd" secondAttribute="bottom" constant="9" id="CJ3-50-Sn9"/> <constraint firstItem="lyR-U9-HKd" firstAttribute="top" secondItem="xJW-ps-ycn" secondAttribute="bottom" constant="8" id="CsN-uw-2Hn"/> <constraint firstItem="Ydb-7n-5Cd" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="20" id="IWI-9l-HnJ"/> <constraint firstItem="lyR-U9-HKd" firstAttribute="leading" secondItem="Ydb-7n-5Cd" secondAttribute="trailing" constant="24" id="JgT-WX-XIH"/> - <constraint firstAttribute="trailing" secondItem="Xp8-b8-BMe" secondAttribute="trailing" constant="20" id="KbL-qd-5m6"/> <constraint firstItem="KVh-Zn-l7I" firstAttribute="centerX" secondItem="Ydb-7n-5Cd" secondAttribute="centerX" id="Mnq-he-JXh"/> <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="xJW-ps-ycn" secondAttribute="trailing" constant="20" id="NhG-8C-EDX"/> <constraint firstItem="cAS-FG-otl" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="O89-IU-nIf"/> @@ -135,9 +74,7 @@ <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="dd9-b1-XEf" secondAttribute="trailing" constant="20" id="bTQ-FM-Uy8"/> <constraint firstItem="Ydb-7n-5Cd" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" constant="20" id="gVW-Rd-TA5"/> <constraint firstAttribute="bottom" secondItem="cAS-FG-otl" secondAttribute="bottom" id="hr4-VR-MQ0"/> - <constraint firstItem="Xp8-b8-BMe" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="20" id="l8l-PX-NFe"/> <constraint firstItem="Ydb-7n-5Cd" firstAttribute="centerY" secondItem="lyR-U9-HKd" secondAttribute="centerY" id="oSI-FB-2nA"/> - <constraint firstAttribute="bottom" secondItem="Xp8-b8-BMe" secondAttribute="bottom" constant="14" id="qne-TO-lMs"/> <constraint firstAttribute="trailing" secondItem="cAS-FG-otl" secondAttribute="trailing" id="w5r-Yv-oeN"/> <constraint firstItem="cAS-FG-otl" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="zdo-e5-cek"/> <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="lyR-U9-HKd" secondAttribute="trailing" constant="20" id="zmX-17-AFR"/> @@ -148,10 +85,9 @@ <outlet property="representedImageView" destination="Ydb-7n-5Cd" id="qBu-r5-jIY"/> <outlet property="summaryTextField" destination="dd9-b1-XEf" id="ne9-oA-zPw"/> <outlet property="trackingView" destination="cAS-FG-otl" id="9xY-EB-D5j"/> - <outlet property="tracksTableView" destination="3Uj-1y-jNN" id="zIn-tV-FZG"/> <outlet property="yearTextField" destination="lyR-U9-HKd" id="3Ps-CJ-pI5"/> </connections> - <point key="canvasLocation" x="219" y="217.5"/> + <point key="canvasLocation" x="219" y="217"/> </customView> </objects> <resources> diff --git a/modules/gui/macosx/UI/VLCLibraryTableCellView.xib b/modules/gui/macosx/UI/VLCLibraryTableCellView.xib index 542c6976fc..cda18ab13d 100644 --- a/modules/gui/macosx/UI/VLCLibraryTableCellView.xib +++ b/modules/gui/macosx/UI/VLCLibraryTableCellView.xib @@ -16,7 +16,7 @@ <rect key="frame" x="0.0" y="0.0" width="398" height="71"/> </customView> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ohB-P0-nCv"> - <rect key="frame" x="76" y="27" width="37" height="17"/> + <rect key="frame" x="76" y="27" width="321" height="17"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="ZPw-XO-XD1"> <font key="font" usesAppearanceFont="YES"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> @@ -24,7 +24,7 @@ </textFieldCell> </textField> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xJW-ps-ycn"> - <rect key="frame" x="76" y="39" width="37" height="17"/> + <rect key="frame" x="76" y="39" width="321" height="17"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="aCe-ia-0Ww"> <font key="font" usesAppearanceFont="YES"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> @@ -39,7 +39,7 @@ </constraints> </customView> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TPv-k2-6XS"> - <rect key="frame" x="76" y="16" width="37" height="17"/> + <rect key="frame" x="76" y="16" width="321" height="17"/> <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="jZ4-pa-K3T"> <font key="font" usesAppearanceFont="YES"/> <color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/> @@ -71,13 +71,13 @@ <constraint firstItem="TPv-k2-6XS" firstAttribute="leading" secondItem="ohB-P0-nCv" secondAttribute="leading" id="4qb-9H-TVg"/> <constraint firstItem="Ydb-7n-5Cd" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="3" id="8hv-Qt-uAI"/> <constraint firstItem="9U4-xB-uBz" firstAttribute="centerY" secondItem="Ydb-7n-5Cd" secondAttribute="centerY" id="BrT-ZR-zAc"/> - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="xJW-ps-ycn" secondAttribute="trailing" constant="3" id="DYW-KQ-pre"/> + <constraint firstAttribute="trailing" secondItem="xJW-ps-ycn" secondAttribute="trailing" constant="3" id="DYW-KQ-pre"/> <constraint firstItem="xJW-ps-ycn" firstAttribute="leading" secondItem="ohB-P0-nCv" secondAttribute="leading" id="DYk-9g-adD"/> <constraint firstItem="ffE-px-l0g" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="EMs-It-nUH"/> <constraint firstAttribute="bottom" secondItem="ffE-px-l0g" secondAttribute="bottom" id="I7D-8N-oA1"/> <constraint firstItem="ffE-px-l0g" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="M01-2i-CLZ"/> - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="TPv-k2-6XS" secondAttribute="trailing" constant="3" id="PQV-7d-ldF"/> - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ohB-P0-nCv" secondAttribute="trailing" constant="3" id="Sm0-L4-7aP"/> + <constraint firstAttribute="trailing" secondItem="TPv-k2-6XS" secondAttribute="trailing" constant="3" id="PQV-7d-ldF"/> + <constraint firstAttribute="trailing" secondItem="ohB-P0-nCv" secondAttribute="trailing" constant="3" id="Sm0-L4-7aP"/> <constraint firstAttribute="bottom" secondItem="Ydb-7n-5Cd" secondAttribute="bottom" constant="3" id="aVd-Ld-lUH"/> <constraint firstItem="TPv-k2-6XS" firstAttribute="top" secondItem="9U4-xB-uBz" secondAttribute="bottom" constant="2" id="bpM-Qh-hOY"/> <constraint firstItem="NFZ-x0-t5c" firstAttribute="centerY" secondItem="Ydb-7n-5Cd" secondAttribute="centerY" id="dRw-WH-Y00"/> diff --git a/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.h b/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.h index 74757f9d6f..b5f91c44c9 100644 --- a/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.h +++ b/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.h @@ -39,7 +39,6 @@ NS_ASSUME_NONNULL_BEGIN @property (readwrite, assign) IBOutlet NSTextField *albumNameTextField; @property (readwrite, assign) IBOutlet NSTextField *summaryTextField; @property (readwrite, assign) IBOutlet NSTextField *yearTextField; -@property (readwrite, assign) IBOutlet NSTableView *tracksTableView; @property (readwrite, assign) IBOutlet NSButton *playInstantlyButton; @property (readwrite, assign, nonatomic) VLCMediaLibraryAlbum *representedAlbum; diff --git a/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.m b/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.m index 69efcfb4a2..0c5a93c166 100644 --- a/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.m +++ b/modules/gui/macosx/library/VLCLibraryAlbumTableCellView.m @@ -1,5 +1,5 @@ /***************************************************************************** - * VLCLibraryAlbumTableself.m: MacOS X interface module + * VLCLibraryAlbumTableCellView.m: MacOS X interface module ***************************************************************************** * Copyright (C) 2019 VLC authors and VideoLAN * @@ -33,6 +33,7 @@ NSString *VLCAudioLibraryCellIdentifier = @"VLCAudioLibraryCellIdentifier"; const CGFloat VLCLibraryTracksRowHeight = 50.; const CGFloat VLCLibraryAlbumTableCellViewDefaultHeight = 168.; +const CGFloat LayoutSpacer; @interface VLCLibraryTracksDataSource : NSObject <NSTableViewDataSource, NSTableViewDelegate> @@ -44,6 +45,7 @@ const CGFloat VLCLibraryAlbumTableCellViewDefaultHeight = 168.; { VLCLibraryController *_libraryController; VLCLibraryTracksDataSource *_tracksDataSource; + NSTableView *_tracksTableView; } @end @@ -66,6 +68,21 @@ const CGFloat VLCLibraryAlbumTableCellViewDefaultHeight = 168.; - (void)awakeFromNib { + CGRect frame = self.frame; + NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"theOnlyColumn"]; + column.width = frame.size.width - LayoutSpacer * 2.; + _tracksTableView = [[NSTableView alloc] initWithFrame:CGRectMake(LayoutSpacer, 14., frame.size.width - LayoutSpacer * 2., 0.)]; + _tracksTableView.rowHeight = VLCLibraryTracksRowHeight; + [_tracksTableView addTableColumn:column]; + _tracksTableView.translatesAutoresizingMaskIntoConstraints = NO; + _tracksDataSource = [[VLCLibraryTracksDataSource alloc] init]; + _tracksTableView.dataSource = _tracksDataSource; + _tracksTableView.delegate = _tracksDataSource; + [self addSubview:_tracksTableView]; + NSDictionary *dict = NSDictionaryOfVariableBindings(_tracksTableView, _representedImageView); + [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[_tracksTableView]-20-|" options:0 metrics:0 views:dict]]; + [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[_representedImageView]-14-[_tracksTableView]-14-|" options:0 metrics:0 views:dict]]; + self.albumNameTextField.font = [NSFont VLClibraryLargeCellTitleFont]; self.yearTextField.font = [NSFont VLClibraryLargeCellTitleFont]; self.summaryTextField.font = [NSFont VLClibraryLargeCellSubtitleFont]; @@ -118,11 +135,8 @@ const CGFloat VLCLibraryAlbumTableCellViewDefaultHeight = 168.; } self.representedImageView.image = image; - self.tracksTableView.rowHeight = VLCLibraryTracksRowHeight; - _tracksDataSource = [[VLCLibraryTracksDataSource alloc] init]; _tracksDataSource.representedAlbum = _representedAlbum; - self.tracksTableView.dataSource = _tracksDataSource; - self.tracksTableView.delegate = _tracksDataSource; + [_tracksTableView reloadData]; } @end _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
