Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
VLC-iOS
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
311
Issues
311
List
Boards
Labels
Service Desk
Milestones
Merge Requests
6
Merge Requests
6
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
VideoLAN
VLC-iOS
Commits
5af16f7a
Commit
5af16f7a
authored
Jun 16, 2013
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Menu: add an open network stream UI with a history of the last 15 items
parent
a3984c7b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
621 additions
and
9 deletions
+621
-9
AspenProject/VLCConstants.h
AspenProject/VLCConstants.h
+1
-0
AspenProject/VLCMenuViewController.m
AspenProject/VLCMenuViewController.m
+4
-7
AspenProject/VLCOpenNetworkStreamViewController.h
AspenProject/VLCOpenNetworkStreamViewController.h
+21
-0
AspenProject/VLCOpenNetworkStreamViewController.m
AspenProject/VLCOpenNetworkStreamViewController.m
+150
-0
Resources/VLCOpenNetworkStreamViewController.xib
Resources/VLCOpenNetworkStreamViewController.xib
+425
-0
VLC for iOS.xcodeproj/project.pbxproj
VLC for iOS.xcodeproj/project.pbxproj
+20
-2
No files found.
AspenProject/VLCConstants.h
View file @
5af16f7a
...
...
@@ -20,6 +20,7 @@
#define kVLCSettingTextEncodingDefaultValue @"Windows-1252"
#define kVLCShowRemainingTime @"show-remaining-time"
#define kVLCRecentURLs @"recent-urls"
#define kSupportedFileExtensions @"\\.(3gp|3gp|3gp2|3gpp|amv|asf|avi|axv|divx|dv|flv|f4v|gvi|gxf|m1v|m2p|m2t|m2ts|m2v|m4v|mks|mkv|moov|mov|mp2v|mp4|mpeg|mpeg1|mpeg2|mpeg4|mpg|mpv|mt2s|mts|mxf|nsv|nuv|oga|ogg|ogm|ogv|ogx|spx|ps|qt|rar|rec|rm|rmvb|tod|ts|tts|vob|vro|webm|wm|wmv|wtv|xesc)$"
#define kSupportedSubtitleFileExtensions @"\\.(cdg|idx|srt|sub|utf|ass|ssa|aqt|jss|psb|rt|smi|txt|smil)$"
...
...
AspenProject/VLCMenuViewController.m
View file @
5af16f7a
...
...
@@ -19,6 +19,7 @@
#import "Reachability.h"
#import "VLCHTTPFileDownloader.h"
#import "IASKAppSettingsViewController.h"
#import "VLCOpenNetworkStreamViewController.h"
#import <ifaddrs.h>
#import <arpa/inet.h>
...
...
@@ -129,13 +130,9 @@
-
(
IBAction
)
openNetworkStream
:(
id
)
sender
{
if
(
sender
==
self
.
openNetworkStreamButton
)
{
[
self
_presentOpenURLViewFromView
:
self
.
openNetworkStreamButton
forSelector
:
@selector
(
openNetworkStream
:
)];
}
else
{
VLCAppDelegate
*
appDelegate
=
[
UIApplication
sharedApplication
].
delegate
;
[
appDelegate
.
playlistViewController
openMovieFromURL
:[
NSURL
URLWithString
:
self
.
openURLField
.
text
]];
[
self
_hideAnimated
:
YES
];
}
UIViewController
*
openURLController
=
[[
VLCOpenNetworkStreamViewController
alloc
]
initWithNibName
:
nil
bundle
:
nil
];
[
self
.
navigationController
pushViewController
:
openURLController
animated
:
YES
];
}
-
(
IBAction
)
downloadFromHTTPServer
:(
id
)
sender
...
...
AspenProject/VLCOpenNetworkStreamViewController.h
0 → 100644
View file @
5af16f7a
//
// VLCOpenNetworkStreamViewController.h
// VLC for iOS
//
// Created by Felix Paul Kühne on 16.06.13.
// Copyright (c) 2013 VideoLAN. All rights reserved.
//
// Refer to the COPYING file of the official project for license.
//
@interface
VLCOpenNetworkStreamViewController
:
UIViewController
<
UITableViewDataSource
,
UITableViewDelegate
>
@property
(
strong
,
nonatomic
)
IBOutlet
UITextField
*
urlField
;
@property
(
strong
,
nonatomic
)
IBOutlet
UIButton
*
openButton
;
@property
(
strong
,
nonatomic
)
IBOutlet
UISwitch
*
privateToggleSwitch
;
@property
(
strong
,
nonatomic
)
IBOutlet
UILabel
*
privateModeLabel
;
@property
(
strong
,
nonatomic
)
IBOutlet
UITableView
*
historyTableView
;
-
(
IBAction
)
openButtonAction
:(
id
)
sender
;
@end
AspenProject/VLCOpenNetworkStreamViewController.m
0 → 100644
View file @
5af16f7a
//
// VLCOpenNetworkStreamViewController.m
// VLC for iOS
//
// Created by Felix Paul Kühne on 16.06.13.
// Copyright (c) 2013 VideoLAN. All rights reserved.
//
// Refer to the COPYING file of the official project for license.
//
#import "VLCOpenNetworkStreamViewController.h"
#import "VLCAppDelegate.h"
#import "VLCPlaylistViewController.h"
@interface
VLCOpenNetworkStreamViewController
()
{
NSMutableArray
*
_recentURLs
;
}
@end
@implementation
VLCOpenNetworkStreamViewController
+
(
void
)
initialize
{
NSUserDefaults
*
defaults
=
[
NSUserDefaults
standardUserDefaults
];
NSDictionary
*
appDefaults
=
@{
kVLCRecentURLs
:
@[]};
[
defaults
registerDefaults
:
appDefaults
];
}
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
[
self
.
openButton
setTitle
:
NSLocalizedString
(
@"BUTTON_OPEN"
,
@""
)
forState
:
UIControlStateNormal
];
}
-
(
void
)
viewWillAppear
:(
BOOL
)
animated
{
self
.
navigationController
.
navigationBarHidden
=
NO
;
if
([[
UIPasteboard
generalPasteboard
]
containsPasteboardTypes
:@[
@"public.url"
,
@"public.text"
]])
{
NSURL
*
pasteURL
=
[[
UIPasteboard
generalPasteboard
]
valueForPasteboardType
:
@"public.url"
];
if
(
!
pasteURL
||
[[
pasteURL
absoluteString
]
isEqualToString
:
@""
])
{
NSString
*
pasteString
=
[[
UIPasteboard
generalPasteboard
]
valueForPasteboardType
:
@"public.text"
];
pasteURL
=
[
NSURL
URLWithString
:
pasteString
];
}
if
(
pasteURL
&&
!
[[
pasteURL
scheme
]
isEqualToString
:
@""
]
&&
!
[[
pasteURL
absoluteString
]
isEqualToString
:
@""
])
self
.
urlField
.
text
=
[
pasteURL
absoluteString
];
}
_recentURLs
=
[
NSMutableArray
arrayWithArray
:[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
kVLCRecentURLs
]];
[
super
viewWillAppear
:
animated
];
}
-
(
void
)
viewWillDisappear
:(
BOOL
)
animated
{
if
(
UI_USER_INTERFACE_IDIOM
()
==
UIUserInterfaceIdiomPad
)
self
.
navigationController
.
navigationBarHidden
=
YES
;
[
super
viewWillDisappear
:
animated
];
}
#pragma mark - UI interaction
-
(
IBAction
)
openButtonAction
:(
id
)
sender
{
if
([
self
.
urlField
.
text
length
]
>
0
)
{
if
(
!
self
.
privateToggleSwitch
.
on
)
{
if
(
_recentURLs
.
count
>=
15
)
[
_recentURLs
removeLastObject
];
[
_recentURLs
addObject
:
self
.
urlField
.
text
];
[
self
.
historyTableView
reloadData
];
}
[
self
_openURLStringAndDismiss
:
self
.
urlField
.
text
];
}
}
#pragma mark - table view data source
-
(
NSInteger
)
numberOfSectionsInTableView
:(
UITableView
*
)
tableView
{
return
1
;
}
-
(
NSInteger
)
tableView
:(
UITableView
*
)
tableView
numberOfRowsInSection
:(
NSInteger
)
section
{
return
_recentURLs
.
count
;
}
-
(
UITableViewCell
*
)
tableView
:(
UITableView
*
)
tableView
cellForRowAtIndexPath
:(
NSIndexPath
*
)
indexPath
{
static
NSString
*
CellIdentifier
=
@"StreamingHistoryCell"
;
UITableViewCell
*
cell
=
(
UITableViewCell
*
)[
tableView
dequeueReusableCellWithIdentifier
:
CellIdentifier
];
if
(
cell
==
nil
)
{
cell
=
[[
UITableViewCell
alloc
]
initWithStyle
:
UITableViewCellStyleSubtitle
reuseIdentifier
:
CellIdentifier
];
cell
.
textLabel
.
textColor
=
[
UIColor
whiteColor
];
cell
.
detailTextLabel
.
textColor
=
[
UIColor
colorWithWhite
:.
72
alpha
:
1
.];
}
NSInteger
row
=
indexPath
.
row
;
cell
.
textLabel
.
text
=
[
_recentURLs
[
row
]
lastPathComponent
];
cell
.
detailTextLabel
.
text
=
_recentURLs
[
row
];
return
cell
;
}
#pragma mark - table view delegate
-
(
void
)
tableView
:(
UITableView
*
)
tableView
willDisplayCell
:(
UITableViewCell
*
)
cell
forRowAtIndexPath
:(
NSIndexPath
*
)
indexPath
{
cell
.
backgroundColor
=
(
indexPath
.
row
%
2
==
0
)?
[
UIColor
blackColor
]:
[
UIColor
colorWithWhite
:.
122
alpha
:
1
.];
}
-
(
BOOL
)
tableView
:(
UITableView
*
)
tableView
canEditRowAtIndexPath
:(
NSIndexPath
*
)
indexPath
{
return
YES
;
}
-
(
void
)
tableView
:(
UITableView
*
)
tableView
commitEditingStyle
:(
UITableViewCellEditingStyle
)
editingStyle
forRowAtIndexPath
:(
NSIndexPath
*
)
indexPath
{
if
(
editingStyle
==
UITableViewCellEditingStyleDelete
)
{
[
_recentURLs
removeObjectAtIndex
:
indexPath
.
row
];
[
tableView
reloadData
];
}
}
-
(
void
)
tableView
:(
UITableView
*
)
tableView
didSelectRowAtIndexPath
:(
NSIndexPath
*
)
indexPath
{
[
self
_openURLStringAndDismiss
:
_recentURLs
[
indexPath
.
row
]];
[
self
.
historyTableView
deselectRowAtIndexPath
:
indexPath
animated
:
NO
];
}
#pragma mark - internals
-
(
void
)
_openURLStringAndDismiss
:(
NSString
*
)
url
{
NSUserDefaults
*
defaults
=
[
NSUserDefaults
standardUserDefaults
];
[
defaults
setObject
:[
NSArray
arrayWithArray
:
_recentURLs
]
forKey
:
kVLCRecentURLs
];
[
defaults
synchronize
];
VLCAppDelegate
*
appDelegate
=
[
UIApplication
sharedApplication
].
delegate
;
[
appDelegate
.
playlistViewController
openMovieFromURL
:[
NSURL
URLWithString
:
url
]];
[
self
dismissModalViewControllerAnimated
:
YES
];
if
(
UI_USER_INTERFACE_IDIOM
()
==
UIUserInterfaceIdiomPad
)
[
appDelegate
.
playlistViewController
.
addMediaPopoverController
dismissPopoverAnimated
:
YES
];
}
@end
Resources/VLCOpenNetworkStreamViewController.xib
0 → 100644
View file @
5af16f7a
<?xml version="1.0" encoding="UTF-8"?>
<archive
type=
"com.apple.InterfaceBuilder3.CocoaTouch.XIB"
version=
"8.00"
>
<data>
<int
key=
"IBDocument.SystemTarget"
>
1296
</int>
<string
key=
"IBDocument.SystemVersion"
>
12E55
</string>
<string
key=
"IBDocument.InterfaceBuilderVersion"
>
3084
</string>
<string
key=
"IBDocument.AppKitVersion"
>
1187.39
</string>
<string
key=
"IBDocument.HIToolboxVersion"
>
626.00
</string>
<object
class=
"NSMutableDictionary"
key=
"IBDocument.PluginVersions"
>
<string
key=
"NS.key.0"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"NS.object.0"
>
2083
</string>
</object>
<array
key=
"IBDocument.IntegratedClassDependencies"
>
<string>
IBProxyObject
</string>
<string>
IBUIButton
</string>
<string>
IBUIImageView
</string>
<string>
IBUILabel
</string>
<string>
IBUISwitch
</string>
<string>
IBUITableView
</string>
<string>
IBUITextField
</string>
<string>
IBUIView
</string>
</array>
<array
key=
"IBDocument.PluginDependencies"
>
<string>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
</array>
<object
class=
"NSMutableDictionary"
key=
"IBDocument.Metadata"
>
<string
key=
"NS.key.0"
>
PluginDependencyRecalculationVersion
</string>
<integer
value=
"1"
key=
"NS.object.0"
/>
</object>
<array
class=
"NSMutableArray"
key=
"IBDocument.RootObjects"
id=
"1000"
>
<object
class=
"IBProxyObject"
id=
"372490531"
>
<string
key=
"IBProxiedObjectIdentifier"
>
IBFilesOwner
</string>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
</object>
<object
class=
"IBProxyObject"
id=
"975951072"
>
<string
key=
"IBProxiedObjectIdentifier"
>
IBFirstResponder
</string>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
</object>
<object
class=
"IBUIView"
id=
"191373211"
>
<reference
key=
"NSNextResponder"
/>
<int
key=
"NSvFlags"
>
274
</int>
<array
class=
"NSMutableArray"
key=
"NSSubviews"
>
<object
class=
"IBUIView"
id=
"975400831"
>
<reference
key=
"NSNextResponder"
ref=
"191373211"
/>
<int
key=
"NSvFlags"
>
292
</int>
<array
class=
"NSMutableArray"
key=
"NSSubviews"
>
<object
class=
"IBUIImageView"
id=
"602492749"
>
<reference
key=
"NSNextResponder"
ref=
"975400831"
/>
<int
key=
"NSvFlags"
>
292
</int>
<string
key=
"NSFrameSize"
>
{320, 112}
</string>
<reference
key=
"NSSuperview"
ref=
"975400831"
/>
<reference
key=
"NSNextKeyView"
ref=
"554522247"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<bool
key=
"IBUIUserInteractionEnabled"
>
NO
</bool>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
<object
class=
"NSCustomResource"
key=
"IBUIImage"
>
<string
key=
"NSClassName"
>
NSImage
</string>
<string
key=
"NSResourceName"
>
menuBtnBck.png
</string>
</object>
</object>
<object
class=
"IBUITextField"
id=
"554522247"
>
<reference
key=
"NSNextResponder"
ref=
"975400831"
/>
<int
key=
"NSvFlags"
>
294
</int>
<string
key=
"NSFrame"
>
{{20, 20}, {202, 30}}
</string>
<reference
key=
"NSSuperview"
ref=
"975400831"
/>
<reference
key=
"NSNextKeyView"
ref=
"504069026"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<bool
key=
"IBUIOpaque"
>
NO
</bool>
<bool
key=
"IBUIClipsSubviews"
>
YES
</bool>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
<int
key=
"IBUIContentVerticalAlignment"
>
0
</int>
<string
key=
"IBUIText"
/>
<int
key=
"IBUIBorderStyle"
>
3
</int>
<object
class=
"NSColor"
key=
"IBUITextColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MAA
</bytes>
<object
class=
"NSColorSpace"
key=
"NSCustomColorSpace"
id=
"752413907"
>
<int
key=
"NSID"
>
2
</int>
</object>
</object>
<bool
key=
"IBUIAdjustsFontSizeToFit"
>
YES
</bool>
<float
key=
"IBUIMinimumFontSize"
>
17
</float>
<object
class=
"IBUITextInputTraits"
key=
"IBUITextInputTraits"
>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
</object>
<object
class=
"NSCustomResource"
key=
"IBUIBackground"
>
<string
key=
"NSClassName"
>
NSImage
</string>
<string
key=
"NSResourceName"
>
input.png
</string>
</object>
<object
class=
"IBUIFontDescription"
key=
"IBUIFontDescription"
>
<int
key=
"type"
>
1
</int>
<double
key=
"pointSize"
>
14
</double>
</object>
<object
class=
"NSFont"
key=
"IBUIFont"
>
<string
key=
"NSName"
>
Helvetica
</string>
<double
key=
"NSSize"
>
14
</double>
<int
key=
"NSfFlags"
>
16
</int>
</object>
</object>
<object
class=
"IBUIButton"
id=
"504069026"
>
<reference
key=
"NSNextResponder"
ref=
"975400831"
/>
<int
key=
"NSvFlags"
>
289
</int>
<string
key=
"NSFrame"
>
{{230, 13}, {70, 44}}
</string>
<reference
key=
"NSSuperview"
ref=
"975400831"
/>
<reference
key=
"NSNextKeyView"
ref=
"826405785"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<bool
key=
"IBUIOpaque"
>
NO
</bool>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
<int
key=
"IBUIContentHorizontalAlignment"
>
0
</int>
<int
key=
"IBUIContentVerticalAlignment"
>
0
</int>
<int
key=
"IBUIButtonType"
>
1
</int>
<string
key=
"IBUINormalTitle"
>
Ouvrir
</string>
<object
class=
"NSColor"
key=
"IBUIHighlightedTitleColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MQA
</bytes>
</object>
<object
class=
"NSColor"
key=
"IBUINormalTitleColor"
>
<int
key=
"NSColorSpace"
>
1
</int>
<bytes
key=
"NSRGB"
>
MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA
</bytes>
</object>
<object
class=
"NSColor"
key=
"IBUINormalTitleShadowColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MC41AA
</bytes>
</object>
<object
class=
"NSCustomResource"
key=
"IBUINormalBackgroundImage"
>
<string
key=
"NSClassName"
>
NSImage
</string>
<string
key=
"NSResourceName"
>
menuButton.png
</string>
</object>
<object
class=
"IBUIFontDescription"
key=
"IBUIFontDescription"
>
<int
key=
"type"
>
2
</int>
<double
key=
"pointSize"
>
15
</double>
</object>
<object
class=
"NSFont"
key=
"IBUIFont"
>
<string
key=
"NSName"
>
Helvetica-Bold
</string>
<double
key=
"NSSize"
>
15
</double>
<int
key=
"NSfFlags"
>
16
</int>
</object>
</object>
<object
class=
"IBUISwitch"
id=
"826405785"
>
<reference
key=
"NSNextResponder"
ref=
"975400831"
/>
<int
key=
"NSvFlags"
>
292
</int>
<string
key=
"NSFrame"
>
{{5, 65}, {94, 27}}
</string>
<reference
key=
"NSSuperview"
ref=
"975400831"
/>
<reference
key=
"NSNextKeyView"
ref=
"455902210"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<bool
key=
"IBUIOpaque"
>
NO
</bool>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
<int
key=
"IBUIContentHorizontalAlignment"
>
0
</int>
<int
key=
"IBUIContentVerticalAlignment"
>
0
</int>
<object
class=
"NSColor"
key=
"IBUIOnTintColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MCAwLjYxAA
</bytes>
<reference
key=
"NSCustomColorSpace"
ref=
"752413907"
/>
</object>
</object>
<object
class=
"IBUILabel"
id=
"455902210"
>
<reference
key=
"NSNextResponder"
ref=
"975400831"
/>
<int
key=
"NSvFlags"
>
292
</int>
<string
key=
"NSFrame"
>
{{105, 68}, {195, 21}}
</string>
<reference
key=
"NSSuperview"
ref=
"975400831"
/>
<reference
key=
"NSNextKeyView"
ref=
"298922959"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<bool
key=
"IBUIOpaque"
>
NO
</bool>
<bool
key=
"IBUIClipsSubviews"
>
YES
</bool>
<int
key=
"IBUIContentMode"
>
7
</int>
<bool
key=
"IBUIUserInteractionEnabled"
>
NO
</bool>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
<string
key=
"IBUIText"
>
Private Playback
</string>
<object
class=
"NSColor"
key=
"IBUITextColor"
>
<int
key=
"NSColorSpace"
>
1
</int>
<bytes
key=
"NSRGB"
>
MC43NDY1OTE5OTYyIDAuNzQ2NTkxOTk2MiAwLjc0NjU5MTk5NjIAA
</bytes>
</object>
<nil
key=
"IBUIHighlightedColor"
/>
<int
key=
"IBUIBaselineAdjustment"
>
0
</int>
<object
class=
"IBUIFontDescription"
key=
"IBUIFontDescription"
>
<int
key=
"type"
>
1
</int>
<double
key=
"pointSize"
>
17
</double>
</object>
<object
class=
"NSFont"
key=
"IBUIFont"
>
<string
key=
"NSName"
>
Helvetica
</string>
<double
key=
"NSSize"
>
17
</double>
<int
key=
"NSfFlags"
>
16
</int>
</object>
<bool
key=
"IBUIAdjustsFontSizeToFit"
>
NO
</bool>
</object>
</array>
<string
key=
"NSFrameSize"
>
{320, 112}
</string>
<reference
key=
"NSSuperview"
ref=
"191373211"
/>
<reference
key=
"NSNextKeyView"
ref=
"602492749"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<object
class=
"NSColor"
key=
"IBUIBackgroundColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MC42NjY2NjY2NjY3AA
</bytes>
</object>
<object
class=
"IBUISimulatedSizeMetrics"
key=
"IBUISimulatedDestinationMetrics"
id=
"919046301"
>
<string
key=
"IBUISimulatedSizeMetricsClass"
>
IBUISimulatedFreeformSizeMetricsSentinel
</string>
<string
key=
"IBUIDisplayName"
>
Freeform
</string>
</object>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
</object>
<object
class=
"IBUITableView"
id=
"298922959"
>
<reference
key=
"NSNextResponder"
ref=
"191373211"
/>
<int
key=
"NSvFlags"
>
274
</int>
<string
key=
"NSFrame"
>
{{0, 111}, {320, 272}}
</string>
<reference
key=
"NSSuperview"
ref=
"191373211"
/>
<reference
key=
"NSNextKeyView"
/>
<string
key=
"NSReuseIdentifierKey"
>
_NS:9
</string>
<object
class=
"NSColor"
key=
"IBUIBackgroundColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MCAwLjYxAA
</bytes>
<reference
key=
"NSCustomColorSpace"
ref=
"752413907"
/>
</object>
<bool
key=
"IBUIClipsSubviews"
>
YES
</bool>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
<bool
key=
"IBUIAlwaysBounceVertical"
>
YES
</bool>
<bool
key=
"IBUIShowsVerticalScrollIndicator"
>
NO
</bool>
<int
key=
"IBUISeparatorStyle"
>
1
</int>
<object
class=
"NSColor"
key=
"IBUISeparatorColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MCAwLjYxAA
</bytes>
<reference
key=
"NSCustomColorSpace"
ref=
"752413907"
/>
</object>
<int
key=
"IBUISectionIndexMinimumDisplayRowCount"
>
0
</int>
<bool
key=
"IBUIShowsSelectionImmediatelyOnTouchBegin"
>
YES
</bool>
<float
key=
"IBUIRowHeight"
>
44
</float>
<float
key=
"IBUISectionHeaderHeight"
>
22
</float>
<float
key=
"IBUISectionFooterHeight"
>
22
</float>
</object>
</array>
<string
key=
"NSFrameSize"
>
{320, 383}
</string>
<reference
key=
"NSSuperview"
/>
<reference
key=
"NSNextKeyView"
ref=
"975400831"
/>
<object
class=
"NSColor"
key=
"IBUIBackgroundColor"
>
<int
key=
"NSColorSpace"
>
3
</int>
<bytes
key=
"NSWhite"
>
MAA
</bytes>
</object>
<reference
key=
"IBUISimulatedDestinationMetrics"
ref=
"919046301"
/>
<string
key=
"targetRuntimeIdentifier"
>
IBCocoaTouchFramework
</string>
</object>
</array>
<object
class=
"IBObjectContainer"
key=
"IBDocument.Objects"
>
<array
class=
"NSMutableArray"
key=
"connectionRecords"
>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
view
</string>
<reference
key=
"source"
ref=
"372490531"
/>
<reference
key=
"destination"
ref=
"191373211"
/>
</object>
<int
key=
"connectionID"
>
3
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
urlField
</string>
<reference
key=
"source"
ref=
"372490531"
/>
<reference
key=
"destination"
ref=
"554522247"
/>
</object>
<int
key=
"connectionID"
>
11
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
privateToggleSwitch
</string>
<reference
key=
"source"
ref=
"372490531"
/>
<reference
key=
"destination"
ref=
"826405785"
/>
</object>
<int
key=
"connectionID"
>
12
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
privateModeLabel
</string>
<reference
key=
"source"
ref=
"372490531"
/>
<reference
key=
"destination"
ref=
"455902210"
/>
</object>
<int
key=
"connectionID"
>
13
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
openButton
</string>
<reference
key=
"source"
ref=
"372490531"
/>
<reference
key=
"destination"
ref=
"504069026"
/>
</object>
<int
key=
"connectionID"
>
14
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
historyTableView
</string>
<reference
key=
"source"
ref=
"372490531"
/>
<reference
key=
"destination"
ref=
"298922959"
/>
</object>
<int
key=
"connectionID"
>
15
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchEventConnection"
key=
"connection"
>
<string
key=
"label"
>
openButtonAction:
</string>
<reference
key=
"source"
ref=
"504069026"
/>
<reference
key=
"destination"
ref=
"372490531"
/>
<int
key=
"IBEventType"
>
7
</int>
</object>
<int
key=
"connectionID"
>
16
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
delegate
</string>
<reference
key=
"source"
ref=
"298922959"
/>
<reference
key=
"destination"
ref=
"372490531"
/>
</object>
<int
key=
"connectionID"
>
17
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBCocoaTouchOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
dataSource
</string>
<reference
key=
"source"
ref=
"298922959"
/>
<reference
key=
"destination"
ref=
"372490531"
/>
</object>
<int
key=
"connectionID"
>
18
</int>
</object>
</array>
<object
class=
"IBMutableOrderedSet"
key=
"objectRecords"
>
<array
key=
"orderedObjects"
>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
0
</int>
<array
key=
"object"
id=
"0"
/>
<reference
key=
"children"
ref=
"1000"
/>
<nil
key=
"parent"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
1
</int>
<reference
key=
"object"
ref=
"191373211"
/>
<array
class=
"NSMutableArray"
key=
"children"
>
<reference
ref=
"975400831"
/>
<reference
ref=
"298922959"
/>
</array>
<reference
key=
"parent"
ref=
"0"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
-1
</int>
<reference
key=
"object"
ref=
"372490531"
/>
<reference
key=
"parent"
ref=
"0"
/>
<string
key=
"objectName"
>
File's Owner
</string>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
-2
</int>
<reference
key=
"object"
ref=
"975951072"
/>
<reference
key=
"parent"
ref=
"0"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
4
</int>
<reference
key=
"object"
ref=
"975400831"
/>
<array
class=
"NSMutableArray"
key=
"children"
>
<reference
ref=
"602492749"
/>
<reference
ref=
"554522247"
/>
<reference
ref=
"504069026"
/>
<reference
ref=
"826405785"
/>
<reference
ref=
"455902210"
/>
</array>
<reference
key=
"parent"
ref=
"191373211"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
5
</int>
<reference
key=
"object"
ref=
"602492749"
/>
<reference
key=
"parent"
ref=
"975400831"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
6
</int>
<reference
key=
"object"
ref=
"554522247"
/>
<reference
key=
"parent"
ref=
"975400831"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
7
</int>
<reference
key=
"object"
ref=
"504069026"
/>
<reference
key=
"parent"
ref=
"975400831"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
8
</int>
<reference
key=
"object"
ref=
"826405785"
/>
<reference
key=
"parent"
ref=
"975400831"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
9
</int>
<reference
key=
"object"
ref=
"455902210"
/>
<reference
key=
"parent"
ref=
"975400831"
/>
</object>
<object
class=
"IBObjectRecord"
>
<int
key=
"objectID"
>
10
</int>
<reference
key=
"object"
ref=
"298922959"
/>
<reference
key=
"parent"
ref=
"191373211"
/>
</object>
</array>
</object>
<dictionary
class=
"NSMutableDictionary"
key=
"flattenedProperties"
>
<string
key=
"-1.CustomClassName"
>
VLCOpenNetworkStreamViewController
</string>
<string
key=
"-1.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"-2.CustomClassName"
>
UIResponder
</string>
<string
key=
"-2.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"1.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"10.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"4.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"5.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"6.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"7.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"8.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
<string
key=
"9.IBPluginDependency"
>
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
</string>
</dictionary>
<dictionary
class=
"NSMutableDictionary"
key=
"unlocalizedProperties"
/>
<nil
key=
"activeLocalization"
/>
<dictionary
class=
"NSMutableDictionary"
key=
"localizations"
/>
<nil
key=
"sourceID"
/>
<int
key=
"maxID"
>
18
</int>
</object>
<object
class=
"IBClassDescriber"
key=
"IBDocument.Classes"
/>