Felix Paul Kühne pushed to branch master at VideoLAN / VLC
Commits:
f4d2284d by Claudio Cambra at 2025-03-08T11:52:42+00:00
macosx: Make information window resizeable
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
3fef15c0 by Claudio Cambra at 2025-03-08T11:52:42+00:00
macosx: Convert information window codec details outline view into a view-based
outline view
Signed-off-by: Claudio Cambra <[email protected]>
egwg
Signed-off-by: Claudio Cambra <[email protected]>
afefa
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
eeebd99d by Claudio Cambra at 2025-03-08T11:52:42+00:00
macosx: Use modern dot syntax in property access in information window
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
0cd16bfb by Claudio Cambra at 2025-03-08T11:52:42+00:00
macosx: Ensure last column of codec info view always takes largest available
width
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
35efb88e by Claudio Cambra at 2025-03-08T11:52:42+00:00
macosx: Fix indentation in NSOutlineView for codecs in information window
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
2 changed files:
- modules/gui/macosx/UI/VLCInformationWindow.xib
- modules/gui/macosx/panels/VLCInformationWindowController.m
Changes:
=====================================
modules/gui/macosx/UI/VLCInformationWindow.xib
=====================================
@@ -89,7 +89,7 @@
<customObject id="-1" userLabel="First Responder"
customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Media Information"
allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO"
hidesOnDeactivate="YES" releasedWhenClosed="NO" visibleAtLaunch="NO"
frameAutosaveName="mediainfo" animationBehavior="default" id="2"
userLabel="Media Information" customClass="NSPanel">
- <windowStyleMask key="styleMask" titled="YES" closable="YES"
miniaturizable="YES" utility="YES" HUD="YES"/>
+ <windowStyleMask key="styleMask" titled="YES" closable="YES"
miniaturizable="YES" resizable="YES" utility="YES" HUD="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES"
bottomStrut="YES"/>
<rect key="contentRect" x="196" y="34" width="506" height="476"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1177"/>
@@ -599,14 +599,14 @@
<rect key="frame" x="0.0"
y="0.0" width="510" height="440"/>
<autoresizingMask
key="autoresizingMask"/>
<subviews>
- <outlineView
focusRingType="none" verticalHuggingPriority="750"
allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly"
alternatingRowBackgroundColors="YES" columnReordering="NO"
multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO"
indentationPerLevel="16" autoresizesOutlineColumn="YES"
outlineTableColumn="521" id="519">
- <rect key="frame"
x="0.0" y="0.0" width="510" height="440"/>
+ <outlineView
focusRingType="none" verticalHuggingPriority="750"
allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly"
alternatingRowBackgroundColors="YES" columnReordering="NO"
multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO"
rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16"
indentationMarkerFollowsCell="NO" autoresizesOutlineColumn="YES"
outlineTableColumn="521" id="519">
+ <rect key="frame"
x="0.0" y="0.0" width="494" height="440"/>
<autoresizingMask
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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
identifier="0" editable="NO" width="241.91015625" minWidth="16" maxWidth="1000"
id="521">
+ <tableColumn
identifier="0" editable="NO" width="242" minWidth="16" maxWidth="1000" id="521">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail"
borderStyle="border" alignment="left">
<color
key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color
key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
@@ -617,8 +617,28 @@
<color
key="backgroundColor" name="controlBackgroundColor" catalog="System"
colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"
userResizable="YES"/>
+
<prototypeCellViews>
+
<tableCellView id="sWh-xo-F0z">
+ <rect
key="frame" x="11" y="1" width="254" height="17"/>
+
<autoresizingMask key="autoresizingMask" widthSizable="YES"
heightSizable="YES"/>
+
<subviews>
+
<textField identifier="VLCInformationWindowPropertyNameCell"
horizontalHuggingPriority="251" verticalHuggingPriority="750"
horizontalCompressionResistancePriority="250" fixedFrame="YES"
translatesAutoresizingMaskIntoConstraints="NO" id="aQy-jV-OVS">
+
<rect key="frame" x="0.0" y="1" width="254" height="16"/>
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"
flexibleMaxY="YES"/>
+
<textFieldCell key="cell" lineBreakMode="truncatingTail"
sendsActionOnEndEditing="YES" title="Table View Cell" id="S8v-2v-4vD">
+
<font key="font" usesAppearanceFont="YES"/>
+
<color key="textColor" name="controlTextColor" catalog="System"
colorSpace="catalog"/>
+
<color key="backgroundColor" name="textBackgroundColor" catalog="System"
colorSpace="catalog"/>
+
</textFieldCell>
+
</textField>
+
</subviews>
+
<connections>
+
<outlet property="textField" destination="aQy-jV-OVS" id="hPV-Nv-lEm"/>
+
</connections>
+
</tableCellView>
+
</prototypeCellViews>
</tableColumn>
- <tableColumn
identifier="1" editable="NO" width="233" minWidth="10"
maxWidth="3.4028234663852886e+38" id="644">
+ <tableColumn
identifier="1" editable="NO" width="217" minWidth="16"
maxWidth="3.4028234663852886e+38" id="644">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail"
borderStyle="border" alignment="left">
<color
key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color
key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
@@ -629,6 +649,26 @@
<color
key="backgroundColor" name="controlBackgroundColor" catalog="System"
colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"
userResizable="YES"/>
+
<prototypeCellViews>
+
<tableCellView id="AiZ-f9-liR">
+ <rect
key="frame" x="261" y="1" width="227" height="17"/>
+
<autoresizingMask key="autoresizingMask" widthSizable="YES"
heightSizable="YES"/>
+
<subviews>
+
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750"
horizontalCompressionResistancePriority="250" fixedFrame="YES"
translatesAutoresizingMaskIntoConstraints="NO" id="oPm-Le-K3W">
+
<rect key="frame" x="0.0" y="1" width="227" height="16"/>
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"
flexibleMaxY="YES"/>
+
<textFieldCell key="cell" lineBreakMode="truncatingTail"
sendsActionOnEndEditing="YES" title="Table View Cell" id="F2n-nI-GbZ">
+
<font key="font" usesAppearanceFont="YES"/>
+
<color key="textColor" name="controlTextColor" catalog="System"
colorSpace="catalog"/>
+
<color key="backgroundColor" name="textBackgroundColor" catalog="System"
colorSpace="catalog"/>
+
</textFieldCell>
+
</textField>
+
</subviews>
+
<connections>
+
<outlet property="textField" destination="oPm-Le-K3W" id="WSP-1y-2Ac"/>
+
</connections>
+
</tableCellView>
+
</prototypeCellViews>
</tableColumn>
</tableColumns>
</outlineView>
=====================================
modules/gui/macosx/panels/VLCInformationWindowController.m
=====================================
@@ -88,7 +88,7 @@ actionCallback(encodedBy);
#pragma mark - window controller
-@interface VLCInformationWindowController () <NSOutlineViewDataSource>
+@interface VLCInformationWindowController () <NSOutlineViewDataSource,
NSOutlineViewDelegate>
{
VLCCodecInformationTreeItem *_rootCodecInformationItem;
NSImage *_artwork;
@@ -119,6 +119,8 @@ actionCallback(encodedBy);
[self.window setInitialFirstResponder: _decodedMRLLabel];
self.outlineView.dataSource = self;
+ self.outlineView.delegate = self;
+ self.outlineView.tableColumns.lastObject.resizingMask =
NSTableColumnAutoresizingMask;
NSNotificationCenter * const notificationCenter =
NSNotificationCenter.defaultCenter;
if (_mainMenuInstance && _statisticsEnabled) {
@@ -603,8 +605,9 @@ _##field##TextField.originalStateString = @"";
[self updateStreamsForInputItems:_representedInputItems];
}
- [_outlineView reloadData];
- [_outlineView expandItem:nil expandChildren:YES];
+ [self.outlineView reloadData];
+ [self.outlineView expandItem:nil expandChildren:YES];
+ [self.outlineView sizeLastColumnToFit];
}
- (void)controlTextDidChange:(NSNotification *)notification
@@ -709,25 +712,25 @@ SET_INPUTITEM_PROP(field, field) \
@end
-@implementation VLCInformationWindowController (NSTableDataSource)
+@implementation VLCInformationWindowController (NSOutlineViewDataSource)
- (NSInteger)outlineView:(NSOutlineView *)outlineView
numberOfChildrenOfItem:(id)item
{
- return (item == nil) ? [_rootCodecInformationItem children].count : [item
children].count;
+ return (item == nil) ? _rootCodecInformationItem.children.count : [item
children].count;
}
- (BOOL)outlineView:(NSOutlineView *)outlineView
isItemExpandable:(id)item
{
- return ([item children].count > 0);
+ return [item children].count > 0;
}
- (id)outlineView:(NSOutlineView *)outlineView
child:(NSInteger)index
ofItem:(id)item
{
- return (item == nil) ? [_rootCodecInformationItem children][index] : [item
children][index];
+ return (item == nil) ? _rootCodecInformationItem.children[index] : [item
children][index];
}
- (id)outlineView:(NSOutlineView *)outlineView
@@ -745,3 +748,20 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn
}
@end
+
+@implementation VLCInformationWindowController (NSOutlineViewDelegate)
+
+- (NSView *)outlineView:(NSTableView *)outlineView
+ viewForTableColumn:(nullable NSTableColumn *)tableColumn
+ item:(nonnull id)item
+{
+ NSTextField * const cellView = [[NSTextField alloc]
initWithFrame:NSZeroRect];
+ cellView.objectValue =
+ [self outlineView:self.outlineView
objectValueForTableColumn:tableColumn byItem:item];
+ cellView.editable = NO;
+ cellView.bordered = NO;
+ cellView.drawsBackground = NO;
+ return cellView;
+}
+
+@end
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/2564699fa2c51bb969a2ca0ff76788005dc1968b...35efb88e555a750ad767f4e2b7e33547b6aae556
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/2564699fa2c51bb969a2ca0ff76788005dc1968b...35efb88e555a750ad767f4e2b7e33547b6aae556
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits