...
 
Commits (8)
......@@ -7,6 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
1112643820F62F2A00A06D5D /* VLCMainWindowDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 1112643720F62F2A00A06D5D /* VLCMainWindowDataSource.m */; };
11CE023120DBFE42008B0A7F /* VLCMainWindowCollectionViewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 11CE022F20DBFE41008B0A7F /* VLCMainWindowCollectionViewItem.m */; };
1C1C62011F8260A90052DD4F /* VLCWrappableTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C1C62001F8260A90052DD4F /* VLCWrappableTextField.m */; };
1C31138E1E508C6900D4DD76 /* VLCAboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C67C8A71D58C0A40079E1C1 /* VLCAboutWindowController.m */; };
1C3113901E508C6900D4DD76 /* VLCHelpWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C67C8A41D58C0980079E1C1 /* VLCHelpWindowController.m */; };
......@@ -137,6 +139,11 @@
089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
1112643620F62F2A00A06D5D /* VLCMainWindowDataSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCMainWindowDataSource.h; sourceTree = "<group>"; };
1112643720F62F2A00A06D5D /* VLCMainWindowDataSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCMainWindowDataSource.m; sourceTree = "<group>"; };
11CE022E20DBFE41008B0A7F /* VLCMainWindowCollectionViewItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCMainWindowCollectionViewItem.h; sourceTree = "<group>"; };
11CE022F20DBFE41008B0A7F /* VLCMainWindowCollectionViewItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCMainWindowCollectionViewItem.m; sourceTree = "<group>"; };
11CE023020DBFE42008B0A7F /* VLCMainWindowCollectionViewItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VLCMainWindowCollectionViewItem.xib; sourceTree = "<group>"; };
1C06F2A21F08F1250068846F /* osx_notifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = osx_notifications.m; path = ../../../modules/notify/osx_notifications.m; sourceTree = "<group>"; };
1C18BE461F2926700053D329 /* keychain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = keychain.m; path = ../../../modules/keystore/keychain.m; sourceTree = "<group>"; };
1C1C61FF1F8260A90052DD4F /* VLCWrappableTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCWrappableTextField.h; sourceTree = "<group>"; };
......@@ -628,6 +635,17 @@
name = "Other Frameworks";
sourceTree = "<group>";
};
1112643D20F7167C00A06D5D /* Library View */ = {
isa = PBXGroup;
children = (
11CE022E20DBFE41008B0A7F /* VLCMainWindowCollectionViewItem.h */,
11CE022F20DBFE41008B0A7F /* VLCMainWindowCollectionViewItem.m */,
1112643620F62F2A00A06D5D /* VLCMainWindowDataSource.h */,
1112643720F62F2A00A06D5D /* VLCMainWindowDataSource.m */,
);
name = "Library View";
sourceTree = "<group>";
};
19C28FB8FE9D52D311CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
......@@ -1056,11 +1074,12 @@
isa = PBXGroup;
children = (
E0382C00160BA09E0031D7FF /* VLCControlsBarCommon.h */,
E0382C01160BA09E0031D7FF /* VLCControlsBarCommon.m */,
7D5678EE1D5BA397002698F3 /* VLCMainWindowControlsBar.h */,
7D5678EF1D5BA397002698F3 /* VLCMainWindowControlsBar.m */,
E0382C01160BA09E0031D7FF /* VLCControlsBarCommon.m */,
CC448A6213B68A0B009F72E0 /* VLCMainWindow.h */,
CC448A6313B68A0B009F72E0 /* VLCMainWindow.m */,
1112643D20F7167C00A06D5D /* Library View */,
);
name = "Main Window";
sourceTree = "<group>";
......@@ -1409,6 +1428,7 @@
children = (
6B8224091E4D2A9000833BE1 /* MainMenu.xib */,
6B82240A1E4D2A9000833BE1 /* MainWindow.xib */,
11CE023020DBFE42008B0A7F /* VLCMainWindowCollectionViewItem.xib */,
6B82241A1E4D2A9000833BE1 /* VLCStatusBarIconMainMenu.xib */,
6B8224181E4D2A9000833BE1 /* VLCFullScreenPanel.xib */,
6B8223FE1E4D2A8F00833BE1 /* About.xib */,
......@@ -1464,7 +1484,7 @@
089C1669FE841209C02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0820;
LastUpgradeCheck = 0940;
TargetAttributes = {
1CCB5F2E1A62A6A5004C3E90 = {
CreatedOnToolsVersion = 6.1.1;
......@@ -1517,6 +1537,7 @@
1CCC88FE2078A3D500E5626F /* PlaylistAccessoryView.xib in Sources */,
1CCC88FF2078A3D500E5626F /* PlaylistMenu.xib in Sources */,
1CCC89002078A3D500E5626F /* PopupPanel.xib in Sources */,
1112643820F62F2A00A06D5D /* VLCMainWindowDataSource.m in Sources */,
1CCC89012078A3D500E5626F /* Preferences.xib in Sources */,
1CCC89022078A3D500E5626F /* ResumeDialog.xib in Sources */,
1CCC89032078A3D500E5626F /* SimplePreferences.xib in Sources */,
......@@ -1556,6 +1577,7 @@
1C31139F1E508C6900D4DD76 /* VLCMainWindowControlsBar.m in Sources */,
1C3113A11E508C6900D4DD76 /* VLCConvertAndSaveWindowController.m in Sources */,
1C3113A31E508C6900D4DD76 /* VLCCoreDialogProvider.m in Sources */,
11CE023120DBFE42008B0A7F /* VLCMainWindowCollectionViewItem.m in Sources */,
6B2EFC631F281A0900F3C0EA /* VLCVolumeSliderCell.m in Sources */,
1C3113A51E508C6900D4DD76 /* VLCCoreInteraction.m in Sources */,
1C3113A71E508C6900D4DD76 /* VLCLogWindowController.m in Sources */,
......@@ -1638,6 +1660,7 @@
"-framework",
Sparkle,
);
PRODUCT_BUNDLE_IDENTIFIER = org.videolan.vlc;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
};
......@@ -1672,6 +1695,7 @@
"-framework",
Sparkle,
);
PRODUCT_BUNDLE_IDENTIFIER = org.videolan.vlc;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
};
......@@ -1706,6 +1730,7 @@
"-framework",
Sparkle,
);
PRODUCT_BUNDLE_IDENTIFIER = org.videolan.vlc;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
};
......@@ -1715,12 +1740,20 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
......@@ -1757,12 +1790,20 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
......@@ -1797,12 +1838,20 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
......
......@@ -13,7 +13,7 @@ source "$SCRIPTDIR/env.build.sh" "none"
ARCH="x86_64"
MINIMAL_OSX_VERSION="10.10"
MINIMAL_OSX_VERSION="10.11"
SDKROOT=$(xcrun --show-sdk-path)
VLCBUILDDIR=""
......
......@@ -35,7 +35,7 @@ OPTIONS="
--disable-pulse
--disable-sdl-image
--disable-vnc
--with-macosx-version-min=10.10
--with-macosx-version-min=10.11
"
export CFLAGS
......
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14135" systemVersion="17F77" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<elements/>
</model>
\ No newline at end of file
......@@ -94,9 +94,9 @@ libmacosx_plugin_la_SOURCES = \
gui/macosx/VLCSliderCell.h gui/macosx/VLCSliderCell.m \
gui/macosx/VLCVolumeSlider.h gui/macosx/VLCVolumeSlider.m \
gui/macosx/VLCVolumeSliderCell.h gui/macosx/VLCVolumeSliderCell.m \
gui/macosx/VLCWrappableTextField.h gui/macosx/VLCWrappableTextField.m
gui/macosx/VLCWrappableTextField.h gui/macosx/VLCWrappableTextField.m \
gui/macosx/VLCMainWindowCollectionViewItem.h gui/macosx/VLCMainWindowCollectionViewItem.m \
gui/macosx/VLCMainWindowDataSource.h gui/macosx/VLCMainWindowDataSource.m
# User interface compilation
nodist_libmacosx_plugin_la_SOURCES = \
......@@ -126,7 +126,8 @@ nodist_libmacosx_plugin_la_SOURCES = \
gui/macosx/UI/TimeSelectionPanel.nib \
gui/macosx/UI/VideoEffects.nib \
gui/macosx/UI/VLCFullScreenPanel.nib \
gui/macosx/UI/VLCStatusBarIconMainMenu.nib
gui/macosx/UI/VLCStatusBarIconMainMenu.nib \
gui/macosx/UI/VLCMainWindowCollectionViewItem.nib
EXTRA_DIST += \
gui/macosx/UI/About.xib \
......@@ -155,7 +156,8 @@ EXTRA_DIST += \
gui/macosx/UI/TimeSelectionPanel.xib \
gui/macosx/UI/VideoEffects.xib \
gui/macosx/UI/VLCFullScreenPanel.xib \
gui/macosx/UI/VLCStatusBarIconMainMenu.xib
gui/macosx/UI/VLCStatusBarIconMainMenu.xib \
gui/macosx/UI/VLCMainWindowCollectionViewItem.xib
xib_verbose = $(xib_verbose_$(V))
xib_verbose_ = $(xib_verbose__$(AM_DEFAULT_VERBOSITY))
......
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14269.12" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14269.12"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
......@@ -17,7 +17,7 @@
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" topStrut="YES"/>
<rect key="contentRect" x="53" y="419" width="716" height="333"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1178"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="900"/>
<view key="contentView" id="2">
<rect key="frame" x="0.0" y="0.0" width="716" height="333"/>
<autoresizingMask key="autoresizingMask"/>
......@@ -25,28 +25,29 @@
<customView translatesAutoresizingMaskIntoConstraints="NO" id="3Bj-Gx-5iu" userLabel="Middle Content">
<rect key="frame" x="0.0" y="36" width="716" height="297"/>
<subviews>
<scrollView wantsLayer="YES" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ke-Vb-9dU">
<scrollView wantsLayer="YES" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ke-Vb-9dU">
<rect key="frame" x="0.0" y="0.0" width="716" height="297"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="V1V-11-Tss">
<rect key="frame" x="1" y="1" width="714" height="295"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<collectionView id="9My-dJ-ffm">
<rect key="frame" x="0.0" y="0.0" width="714" height="158"/>
<collectionView selectable="YES" id="9My-dJ-ffm">
<rect key="frame" x="0.0" y="0.0" width="714" height="295"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES"/>
<color key="primaryBackgroundColor" name="systemGreenColor" catalog="System" colorSpace="catalog"/>
<color key="primaryBackgroundColor" red="0.48883186943438339" green="0.52322152074126116" blue="0.52881107233502544" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<binding destination="EHv-j4-vu9" name="content" keyPath="arrangedObjects" id="zgP-ia-Kw0"/>
<outlet property="itemPrototype" destination="jCi-fI-3Z2" id="hDE-WR-6dZ"/>
</connections>
</collectionView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="EAD-vz-amF">
<rect key="frame" x="1" y="144" width="233" height="15"/>
<rect key="frame" x="-100" y="-100" width="233" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="CoO-yc-KK4">
<rect key="frame" x="234" y="1" width="15" height="143"/>
<rect key="frame" x="699" y="1" width="16" height="295"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
......@@ -406,15 +407,12 @@
<outlet property="volumeUpButton" destination="3652" id="vXR-KC-L2N"/>
</connections>
</customObject>
<collectionViewItem id="jCi-fI-3Z2">
<collectionViewItem nibName="VLCMainWindowCollectionViewItem" id="jCi-fI-3Z2"/>
<arrayController id="EHv-j4-vu9">
<connections>
<outlet property="view" destination="LL0-re-ZbQ" id="mmD-XP-2Sr"/>
<binding destination="jCi-fI-3Z2" name="contentArray" keyPath="libraryViewData" id="Cpw-IO-hck"/>
</connections>
</collectionViewItem>
<view id="LL0-re-ZbQ">
<rect key="frame" x="0.0" y="0.0" width="100" height="100"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</arrayController>
</objects>
<resources>
<image name="backward-6btns" width="28" height="23"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSCollectionViewItem">
<connections>
<outlet property="VLCItemImageView" destination="LRe-wn-Y2z" id="HPo-O1-7R6"/>
<outlet property="view" destination="Hz6-mo-xeY" id="MJF-Nq-Mur"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customView id="Hz6-mo-xeY" userLabel="Library View">
<rect key="frame" x="0.0" y="0.0" width="171" height="193"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LRe-wn-Y2z">
<rect key="frame" x="33" y="77" width="104" height="96"/>
<constraints>
<constraint firstAttribute="width" constant="104" id="6QU-dx-4YT"/>
<constraint firstAttribute="height" constant="96" id="VTi-R7-Kzg"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="VLC" id="szu-Su-VAK"/>
<connections>
<binding destination="-2" name="data" keyPath="representObject.VLCItemThumbinail" id="057-RK-Pgb"/>
</connections>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yeb-VB-4wq">
<rect key="frame" x="32" y="52" width="107" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="ConeyLabel.mp4" id="Jeg-te-gNB">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="representObject.VLCItemThumbinail" id="yDc-cn-Bhr"/>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vkE-uB-PeU">
<rect key="frame" x="53" y="20" width="64" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="44.44 MB" id="zAB-CT-Cgx">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="-2" name="value" keyPath="representObject.VLCItemSize" id="9hj-bf-MHf"/>
</connections>
</textField>
</subviews>
<constraints>
<constraint firstItem="LRe-wn-Y2z" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="33" id="YGY-ey-fbH"/>
<constraint firstItem="LRe-wn-Y2z" firstAttribute="centerY" secondItem="Hz6-mo-xeY" secondAttribute="centerY" constant="-28.5" id="hyO-mR-8Jc"/>
</constraints>
<point key="canvasLocation" x="-94.5" y="129.5"/>
</customView>
<userDefaultsController representsSharedInstance="YES" id="exR-Mq-sPf"/>
</objects>
<resources>
<image name="VLC" width="512" height="512"/>
</resources>
</document>
......@@ -516,7 +516,7 @@
NSInteger currentProfileIndex = [_self currentProfileIndex];
if (returnCode != NSModalResponseOK) {
[_profilePopup selectItemAtIndex:currentProfileIndex];
[self->_profilePopup selectItemAtIndex:currentProfileIndex];
return;
}
......@@ -525,7 +525,7 @@
// duplicate names are not allowed in the popup control
if ([resultingText length] == 0 || [profileNames containsObject:resultingText]) {
[_profilePopup selectItemAtIndex:currentProfileIndex];
[self->_profilePopup selectItemAtIndex:currentProfileIndex];
NSAlert *alert = [[NSAlert alloc] init];
[alert setAlertStyle:NSCriticalAlertStyle];
......@@ -571,7 +571,7 @@
NSInteger currentProfileIndex = [_self currentProfileIndex];
if (returnCode != NSModalResponseOK) {
[_profilePopup selectItemAtIndex:currentProfileIndex];
[self->_profilePopup selectItemAtIndex:currentProfileIndex];
return;
}
......@@ -836,7 +836,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[workArray addObject:resultingText];
[defaults setObject:[NSArray arrayWithArray:workArray] forKey:@"EQTitles"];
workArray = [[NSMutableArray alloc] initWithArray:[defaults objectForKey:@"EQPreampValues"]];
[workArray addObject:[NSString stringWithFormat:@"%.1f", [_equalizerPreampSlider floatValue]]];
[workArray addObject:[NSString stringWithFormat:@"%.1f", [self->_equalizerPreampSlider floatValue]]];
[defaults setObject:[NSArray arrayWithArray:workArray] forKey:@"EQPreampValues"];
workArray = [[NSMutableArray alloc] initWithArray:[defaults objectForKey:@"EQNames"]];
[workArray addObject:decomposedStringWithCanonicalMapping];
......
......@@ -418,13 +418,13 @@
[saveFilePanel beginSheetModalForWindow:self.window completionHandler:^(NSInteger returnCode) {
if (returnCode == NSModalResponseOK) {
[self setOutputDestination:[[saveFilePanel URL] path]];
[_fileDestinationFileName setStringValue: [[NSFileManager defaultManager] displayNameAtPath:_outputDestination]];
[[_fileDestinationFileNameStub animator] setHidden: YES];
[[_fileDestinationFileName animator] setHidden: NO];
[self->_fileDestinationFileName setStringValue: [[NSFileManager defaultManager] displayNameAtPath:self->_outputDestination]];
[[self->_fileDestinationFileNameStub animator] setHidden: YES];
[[self->_fileDestinationFileName animator] setHidden: NO];
} else {
[self setOutputDestination:@""];
[[_fileDestinationFileName animator] setHidden: YES];
[[_fileDestinationFileNameStub animator] setHidden: NO];
[[self->_fileDestinationFileName animator] setHidden: YES];
[[self->_fileDestinationFileNameStub animator] setHidden: NO];
}
[self updateOKButton];
}];
......@@ -495,7 +495,7 @@
/* update UI */
[_self recreateProfilePopup];
[_profilePopup selectItemWithTitle:resultingText];
[self->_profilePopup selectItemWithTitle:resultingText];
/* update internals */
[_self switchProfile:self];
......@@ -604,7 +604,7 @@
[saveFilePanel setAllowedFileTypes:[NSArray arrayWithObject:@"sdp"]];
[saveFilePanel beginSheetModalForWindow:_streamPanel completionHandler:^(NSInteger returnCode) {
if (returnCode == NSModalResponseOK)
[_streamSDPField setStringValue:[[saveFilePanel URL] path]];
[self->_streamSDPField setStringValue:[[saveFilePanel URL] path]];
}];
}
......
......@@ -33,6 +33,7 @@
#import "VLCVideoWindowCommon.h"
#import "misc.h"
#import "VLCFSPanelController.h"
#import "VLCMainWindowCollectionViewItem.h"
@class VLCDetachedVideoWindow;
@class VLCMainWindowControlsBar;
......@@ -49,11 +50,14 @@ typedef enum {
@property (readonly) BOOL nativeFullscreenMode;
@property (readwrite) BOOL nonembedded;
@property (strong) IBOutlet NSCollectionView *collectionView;
@property (weak) IBOutlet NSCollectionView *collectionView;
@property (strong) VLCMainWindowCollectionViewItem *collectionViewItem;
@property (strong) NSMutableArray *images;
//@property (strong) NSMutableArray *size;
//@property (strong) NSMutableArray *label;
@property (readonly) VLCFSPanelController* fspanel;
@property (nonatomic, copy) NSDictionary *overrideClassNames;
@property (nonatomic,strong) VLCMainWindowDataSource *libraryData;
- (void)changePlaylistState:(VLCPlaylistStateEvent)event;
- (void)windowResizedOrMoved:(NSNotification *)notification;
......
......@@ -45,13 +45,15 @@
#import "VLCVoutView.h"
#import "VLCVideoOutputProvider.h"
@interface VLCMainWindow() <NSWindowDelegate, NSAnimationDelegate>
@interface VLCMainWindow() <NSWindowDelegate, NSAnimationDelegate, NSCollectionViewDelegate,NSCollectionViewDataSource>
{
BOOL videoPlaybackEnabled;
BOOL dropzoneActive;
BOOL minimizedView;
BOOL collectionViewRemoved;
NSSet<NSIndexPath *> * VLCLibraryViewItem;
NSIndexPath * VLCLibraryViewItemSize;
CGFloat lastCollectionViewHeight;
NSRect frameBeforePlayback;
......@@ -95,7 +97,6 @@ static const float f_min_window_height = 307.;
// Window title
[self setTitle:_NS("VLC media player")];
// Set that here as IB seems to be buggy
[self setContentMinSize:NSMakeSize(604., f_min_window_height)];
......@@ -132,8 +133,14 @@ static const float f_min_window_height = 307.;
/* update fs button to reflect state for next startup */
if (var_InheritBool(pl_Get(getIntf()), "fullscreen"))
[self.controlsBar setFullscreenState:YES];
/* Make collectionview visible when Player loads */
[self makeCollectionViewVisible];
[self.collectionView reloadData];
}
#pragma mark - key and event handling
- (BOOL)isEvent:(NSEvent *)o_event forKey:(const char *)keyString
......@@ -206,6 +213,74 @@ static const float f_min_window_height = 307.;
}
[self makeFirstResponder:_collectionView];
self.collectionViewItem = [VLCMainWindowCollectionViewItem new];
// VLCMainWindowDataSource * VLCDataSource = (VLCMainWindowDataSource)
self.collectionView.wantsLayer = YES;
self.images = [NSMutableArray arrayWithCapacity:0];
[self prepareData];
self.collectionView.delegate = self;
self.collectionView.dataSource = self;
self.collectionView.wantsLayer = YES;
[self.collectionView registerClass:[VLCMainWindowCollectionViewItem class] forItemWithIdentifier:@"VLCItemThumbnail"];
//[self bind:@"" toObject:VLCMainWindowDataSource withKeyPath:@"VLCItemThumb" options:nil];
//[self.collectionView registerClass:[VLCMainWindowCollectionViewItem class] forItemWithIdentifier:@"VLC"];
[self.collectionView setContent:self.images ];
NSCollectionViewFlowLayout *flowLayout = [[NSCollectionViewFlowLayout alloc] init];
flowLayout.itemSize = NSMakeSize(100, 100);
NSLog(@"Vlc LibraryData%@",self.libraryData);
flowLayout.estimatedItemSize=flowLayout.itemSize;
flowLayout.sectionInset = NSEdgeInsetsMake(10, 10, 10, 10);
flowLayout.minimumInteritemSpacing = 20.0;
flowLayout.minimumLineSpacing = 20.0;
self.collectionView.collectionViewLayout = flowLayout;
[self.collectionView reloadData];
}
- (void)prepareData {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *rootPath = @"/Users/vibhoothiiaanand/Desktop/Image ";
NSError *error = nil;
NSArray *paths = [fileManager contentsOfDirectoryAtPath:rootPath error:&error];
for (NSString *path in paths) {
NSString *imagePath = [rootPath stringByAppendingFormat:@"/%@",path];
NSLog(@"imagepath = %@",imagePath);
// NSLog(@"Path:%@,Paths:%@",path,paths);
//NSLog(@"RootPath:%@",rootPath);
NSImage *image = [[NSImage alloc] initWithContentsOfFile:imagePath];
if (image) {
[self.images addObject:image];
}
}
}
#pragma mark - NSCollectionViewDelegate
- (NSSet<NSIndexPath *> *)collectionView:(NSCollectionView *)collectionView shouldChangeItemsAtIndexPaths:(NSSet<NSIndexPath *> *)indexPaths toHighlightState:(NSCollectionViewItemHighlightState)highlightState {
return indexPaths;
}
#pragma mark - NSCollectionViewDataSource
- (void)collectionView:(NSCollectionView *)collectionView didSelectItemsAtIndexPaths:VLCLibraryViewItem
{
NSLog(@"Video at:%@ is Selected",VLCLibraryViewItem);
}
- (NSInteger)collectionView:(NSCollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.images.count;
}
- (NSCollectionViewItem *)collectionView:(NSCollectionView *)collectionView itemForRepresentedObjectAtIndexPath:(NSIndexPath *)indexPath {
//VLCMainWindowDataSource *item =[collectionView makeItemWithIdentifier:@"VLCItemThumbnail" forIndexPath:indexPath];
VLCMainWindowCollectionViewItem *item = [collectionView makeItemWithIdentifier:@"VLCItemThumbnail" forIndexPath:indexPath];
item.libraryViewData.VLCItemThumbinail=[self.images objectAtIndex:indexPath.item];
return item;
}
- (NSInteger)numberOfSectionsInCollectionView:(NSCollectionView *)collectionView {
return 1;
}
// Hides the collection view and makes the vout view in foreground
......
/*****************************************************************************
* VLCMainWindowCollectionView.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2018 VLC authors and VideoLAN
* $Id $
*
* Authors: Vibhoothi <vibhoothiiaanand -at- googlemail dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#import "VLCMainWindowDataSource.h"
//@class VLCLibraryViewDataSource;
@interface VLCMainWindowCollectionViewItem : NSCollectionViewItem < NSCollectionViewDelegate>
@property (nonatomic,strong) VLCMainWindowDataSource *libraryViewData;
//@property (nonatomic,strong) IBOutlet NSImageView *VLCItemImageView;
@end
/*****************************************************************************
* VLCMainWindowCollectionView.m: MacOS X interface module
*****************************************************************************
* Copyright (C) 2002-2018 VLC authors and VideoLAN
* $Id $
*
* Authors: Vibhoothi <vibhoothiiaanand -at- googlemail dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "VLCMainWindowCollectionViewItem.h"
#import "VLCMainWindowDataSource.h"
@interface VLCMainWindowCollectionViewItem ()
@end
@implementation VLCMainWindowCollectionViewItem
/*
- (void) loadView{
self.view=[[VLCLibraryView alloc]init];
self.libraryViewData.VLCItemThumbinail=[[VLCLibraryView alloc] initWithFrame:self.view.bounds];
self.libraryViewData.VLCItemThumbinail.autoresizingMask= NSViewWidthSizable | NSViewHeightSizable;
[self.view addSubview:self.libraryViewData.VLCItemThumbinail];
}
*/
- (void)viewDidLoad {
[super viewDidLoad];
// Do view setup here.
[self.collectionView setDelegate:self];
}
/*
-(void)setRepresentedObject:(id)representedObject{
[super setRepresentedObject:representedObject];
if (representedObject !=nil)
{
NSLog(@"%@",[representedObject valueForKey:@"itemImage"]);
[ self.libraryViewData.VLCItemThumbinail setImage:[[NSBundle mainBundle] imageForResource:[representedObject valueForKey:@"itemThumb"]]];
[ self.libraryViewData.VLCItemLabel setStringValue:[representedObject valueForKey:@"itemTitle"]];
}
}
*/
- (void)setSelected:(BOOL)flag
{
[super setSelected:flag];
[self updateBackgroundColorForSelectionState:flag];
}
- (void) viewDidAppear
{
[self updateBackgroundColorForSelectionState:self.isSelected];
}
- (void)updateBackgroundColorForSelectionState:(BOOL)flag
{
if (flag)
{
self.view.layer.backgroundColor = [[NSColor alternateSelectedControlColor] CGColor];
}
else
{
self.view.layer.backgroundColor = [[NSColor clearColor] CGColor];
}
}
@end
//
// VLCMainWindowDataSource.h
// Pseudo-VLC
//
// Created by Vibhoothi on 11/07/18.
//
#import <Cocoa/Cocoa.h>
@interface VLCMainWindowDataSource : NSObject
@property (nonatomic) BOOL someBool;
@property (retain, readwrite) NSTextField *VLCItemLabel;
@property (retain, readwrite) NSString *VLCItemSize;
@property (nonatomic,strong) NSImageView *VLCItemThumbinail;
@end
//
// VLCMainWindowDataSource.m
// Pseudo-VLC
//
// Created by Vibhoothi on 11/07/18.
//
#import "VLCMainWindowDataSource.h"
#import "VLCMain.h"
@interface VLCMainWindowDataSource ()
{
}
@end
@implementation VLCMainWindowDataSource
@end