From 6fbc55f193374d1ac986b3221ef58e43c4c3a4d2 Mon Sep 17 00:00:00 2001 From: Diego Waxemberg Date: Fri, 24 Oct 2014 16:02:10 -0400 Subject: [PATCH] new ui un-stashed --- Limelight.xcodeproj/project.pbxproj | 34 +++- Limelight/App.h | 15 ++ Limelight/App.m | 13 ++ .../Computer.imageset/Contents.json | 23 +++ .../limelight_computer_2x-1.png | Bin 0 -> 13670 bytes .../limelight_computer_2x-2.png | Bin 0 -> 13670 bytes .../limelight_computer_2x.png | Bin 0 -> 13670 bytes .../Left4Dead2.imageset/Contents.json | 23 +++ .../Left4Dead2.imageset/Left4Dead2-1.jpg | Bin 0 -> 31418 bytes .../Left4Dead2.imageset/Left4Dead2-2.jpg | Bin 0 -> 31418 bytes .../Left4Dead2.imageset/Left4Dead2.jpg | Bin 0 -> 31418 bytes Limelight/Limelight-Info.plist | 6 +- Limelight/UIAppView.h | 16 ++ Limelight/UIAppView.m | 50 ++++++ Limelight/UIComputerView.h | 16 ++ Limelight/UIComputerView.m | 48 ++++++ .../ViewControllers/MainFrameViewController.h | 10 +- .../ViewControllers/MainFrameViewController.m | 130 +++++++-------- .../StreamFrameViewController.m | 9 -- MainFrame-iPad.storyboard | 152 ------------------ MainFrame-iPhone.storyboard | 144 ----------------- iPad.storyboard | 88 ++++++++++ iPhone.storyboard | 80 +++++++++ 23 files changed, 461 insertions(+), 396 deletions(-) create mode 100644 Limelight/App.h create mode 100644 Limelight/App.m create mode 100644 Limelight/Images.xcassets/Computer.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x-1.png create mode 100644 Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x-2.png create mode 100644 Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x.png create mode 100644 Limelight/Images.xcassets/Left4Dead2.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/Left4Dead2.imageset/Left4Dead2-1.jpg create mode 100644 Limelight/Images.xcassets/Left4Dead2.imageset/Left4Dead2-2.jpg create mode 100644 Limelight/Images.xcassets/Left4Dead2.imageset/Left4Dead2.jpg create mode 100644 Limelight/UIAppView.h create mode 100644 Limelight/UIAppView.m create mode 100644 Limelight/UIComputerView.h create mode 100644 Limelight/UIComputerView.m delete mode 100644 MainFrame-iPad.storyboard delete mode 100644 MainFrame-iPhone.storyboard create mode 100644 iPad.storyboard create mode 100644 iPhone.storyboard diff --git a/Limelight.xcodeproj/project.pbxproj b/Limelight.xcodeproj/project.pbxproj index f4b39423..458f1879 100644 --- a/Limelight.xcodeproj/project.pbxproj +++ b/Limelight.xcodeproj/project.pbxproj @@ -25,8 +25,8 @@ FB290DB719B2C870004C83CF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FB290DB619B2C870004C83CF /* libz.dylib */; }; FB290DB919B2C877004C83CF /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FB290DB819B2C877004C83CF /* libbz2.dylib */; }; FB290DC419B2E98F004C83CF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FB290DC319B2E98F004C83CF /* libxml2.dylib */; }; - FB290E7919B37D81004C83CF /* MainFrame-iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FB290E7819B37D81004C83CF /* MainFrame-iPad.storyboard */; }; - FB290E7B19B38036004C83CF /* MainFrame-iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FB290E7A19B38036004C83CF /* MainFrame-iPhone.storyboard */; }; + FB290E7919B37D81004C83CF /* iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FB290E7819B37D81004C83CF /* iPad.storyboard */; }; + FB290E7B19B38036004C83CF /* iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FB290E7A19B38036004C83CF /* iPhone.storyboard */; }; FB7E794419C8B71B00A15F68 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FB7E794319C8B71B00A15F68 /* libiconv.dylib */; }; FB89462819F646E200339C8A /* CryptoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FB89460619F646E200339C8A /* CryptoManager.m */; }; FB89462919F646E200339C8A /* mkcert.c in Sources */ = {isa = PBXBuildFile; fileRef = FB89460719F646E200339C8A /* mkcert.c */; }; @@ -47,6 +47,9 @@ FB8946EB19F6AFE100339C8A /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FB8946E019F6AFB800339C8A /* libcrypto.a */; }; FB8946EC19F6AFE400339C8A /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FB8946E119F6AFB800339C8A /* libssl.a */; }; FB8946ED19F6AFE800339C8A /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FB8946EA19F6AFB800339C8A /* libopus.a */; }; + FBDE86E019F7A837001C18A8 /* UIComputerView.m in Sources */ = {isa = PBXBuildFile; fileRef = FBDE86DF19F7A837001C18A8 /* UIComputerView.m */; }; + FBDE86E619F82297001C18A8 /* UIAppView.m in Sources */ = {isa = PBXBuildFile; fileRef = FBDE86E519F82297001C18A8 /* UIAppView.m */; }; + FBDE86E919F82315001C18A8 /* App.m in Sources */ = {isa = PBXBuildFile; fileRef = FBDE86E819F82315001C18A8 /* App.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -95,8 +98,8 @@ FB290DB619B2C870004C83CF /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; FB290DB819B2C877004C83CF /* libbz2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.dylib; path = usr/lib/libbz2.dylib; sourceTree = SDKROOT; }; FB290DC319B2E98F004C83CF /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; - FB290E7819B37D81004C83CF /* MainFrame-iPad.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "MainFrame-iPad.storyboard"; sourceTree = SOURCE_ROOT; }; - FB290E7A19B38036004C83CF /* MainFrame-iPhone.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "MainFrame-iPhone.storyboard"; sourceTree = SOURCE_ROOT; }; + FB290E7819B37D81004C83CF /* iPad.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = iPad.storyboard; sourceTree = SOURCE_ROOT; }; + FB290E7A19B38036004C83CF /* iPhone.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = iPhone.storyboard; sourceTree = SOURCE_ROOT; }; FB7E794319C8B71B00A15F68 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; FB89460519F646E200339C8A /* CryptoManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoManager.h; sourceTree = ""; }; FB89460619F646E200339C8A /* CryptoManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CryptoManager.m; sourceTree = ""; }; @@ -211,6 +214,12 @@ FB8946E719F6AFB800339C8A /* opus_multistream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = opus_multistream.h; sourceTree = ""; }; FB8946E819F6AFB800339C8A /* opus_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = opus_types.h; sourceTree = ""; }; FB8946EA19F6AFB800339C8A /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libopus.a; sourceTree = ""; }; + FBDE86DE19F7A837001C18A8 /* UIComputerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIComputerView.h; sourceTree = ""; }; + FBDE86DF19F7A837001C18A8 /* UIComputerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIComputerView.m; sourceTree = ""; }; + FBDE86E419F82297001C18A8 /* UIAppView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAppView.h; sourceTree = ""; }; + FBDE86E519F82297001C18A8 /* UIAppView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAppView.m; sourceTree = ""; }; + FBDE86E719F82315001C18A8 /* App.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = App.h; sourceTree = ""; }; + FBDE86E819F82315001C18A8 /* App.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = App.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -302,11 +311,17 @@ FB290CFA19B2C406004C83CF /* Supporting Files */, FB290D0219B2C406004C83CF /* AppDelegate.h */, FB290D0319B2C406004C83CF /* AppDelegate.m */, - FB290E7819B37D81004C83CF /* MainFrame-iPad.storyboard */, - FB290E7A19B38036004C83CF /* MainFrame-iPhone.storyboard */, + FB290E7819B37D81004C83CF /* iPad.storyboard */, + FB290E7A19B38036004C83CF /* iPhone.storyboard */, FB89463719F6473800339C8A /* Launch Screen.xib */, FB290D0819B2C406004C83CF /* Images.xcassets */, FB290D0519B2C406004C83CF /* Limelight.xcdatamodeld */, + FBDE86DE19F7A837001C18A8 /* UIComputerView.h */, + FBDE86DF19F7A837001C18A8 /* UIComputerView.m */, + FBDE86E419F82297001C18A8 /* UIAppView.h */, + FBDE86E519F82297001C18A8 /* UIAppView.m */, + FBDE86E719F82315001C18A8 /* App.h */, + FBDE86E819F82315001C18A8 /* App.m */, ); path = Limelight; sourceTree = ""; @@ -668,9 +683,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - FB290E7919B37D81004C83CF /* MainFrame-iPad.storyboard in Resources */, + FB290E7919B37D81004C83CF /* iPad.storyboard in Resources */, FB290CFE19B2C406004C83CF /* InfoPlist.strings in Resources */, - FB290E7B19B38036004C83CF /* MainFrame-iPhone.storyboard in Resources */, + FB290E7B19B38036004C83CF /* iPhone.storyboard in Resources */, FB290D0919B2C406004C83CF /* Images.xcassets in Resources */, FB89463819F6473800339C8A /* Launch Screen.xib in Resources */, ); @@ -695,9 +710,12 @@ FB89463219F646E200339C8A /* VideoDecoderRenderer.m in Sources */, FB290D0419B2C406004C83CF /* AppDelegate.m in Sources */, FB89463419F646E200339C8A /* Utils.m in Sources */, + FBDE86E619F82297001C18A8 /* UIAppView.m in Sources */, FB89463319F646E200339C8A /* Computer.m in Sources */, FB89462F19F646E200339C8A /* Connection.m in Sources */, FB89462919F646E200339C8A /* mkcert.c in Sources */, + FBDE86E019F7A837001C18A8 /* UIComputerView.m in Sources */, + FBDE86E919F82315001C18A8 /* App.m in Sources */, FB89463019F646E200339C8A /* StreamConfiguration.m in Sources */, FB89462C19F646E200339C8A /* HttpManager.m in Sources */, FB89462D19F646E200339C8A /* MDNSManager.m in Sources */, diff --git a/Limelight/App.h b/Limelight/App.h new file mode 100644 index 00000000..31eab9d5 --- /dev/null +++ b/Limelight/App.h @@ -0,0 +1,15 @@ +// +// App.h +// Limelight +// +// Created by Diego Waxemberg on 10/22/14. +// Copyright (c) 2014 Limelight Stream. All rights reserved. +// + +#import + +@interface App : NSObject + +@property NSString* displayName; + +@end diff --git a/Limelight/App.m b/Limelight/App.m new file mode 100644 index 00000000..2e71b67a --- /dev/null +++ b/Limelight/App.m @@ -0,0 +1,13 @@ +// +// App.m +// Limelight +// +// Created by Diego Waxemberg on 10/22/14. +// Copyright (c) 2014 Limelight Stream. All rights reserved. +// + +#import "App.h" + +@implementation App + +@end diff --git a/Limelight/Images.xcassets/Computer.imageset/Contents.json b/Limelight/Images.xcassets/Computer.imageset/Contents.json new file mode 100644 index 00000000..8b6e0cc8 --- /dev/null +++ b/Limelight/Images.xcassets/Computer.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "limelight_computer_2x-1.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "limelight_computer_2x.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "limelight_computer_2x-2.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x-1.png b/Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..df5cde9f32bc3380e2c7ace19ca79b066f3a377d GIT binary patch literal 13670 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 TAIV~1U|{fc^>bP0l+XkKKJ;Hi literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x-2.png b/Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x-2.png new file mode 100644 index 0000000000000000000000000000000000000000..df5cde9f32bc3380e2c7ace19ca79b066f3a377d GIT binary patch literal 13670 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 TAIV~1U|{fc^>bP0l+XkKKJ;Hi literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x.png b/Limelight/Images.xcassets/Computer.imageset/limelight_computer_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..df5cde9f32bc3380e2c7ace19ca79b066f3a377d GIT binary patch literal 13670 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 TAIV~1U|{fc^>bP0l+XkKKJ;Hi literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/Left4Dead2.imageset/Contents.json b/Limelight/Images.xcassets/Left4Dead2.imageset/Contents.json new file mode 100644 index 00000000..52fbbb2c --- /dev/null +++ b/Limelight/Images.xcassets/Left4Dead2.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "Left4Dead2-2.jpg" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "Left4Dead2.jpg" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "Left4Dead2-1.jpg" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Limelight/Images.xcassets/Left4Dead2.imageset/Left4Dead2-1.jpg b/Limelight/Images.xcassets/Left4Dead2.imageset/Left4Dead2-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffd4f4afcca29e0ecb248750e0ddee16980a5a0e GIT binary patch literal 31418 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 Launch Screen UIMainStoryboardFile - MainFrame-iPhone + iPhone UIMainStoryboardFile~ipad - MainFrame-iPad + iPad UIRequiredDeviceCapabilities armv7 @@ -44,8 +44,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UISupportedInterfaceOrientations~ipad diff --git a/Limelight/UIAppView.h b/Limelight/UIAppView.h new file mode 100644 index 00000000..a184b1d5 --- /dev/null +++ b/Limelight/UIAppView.h @@ -0,0 +1,16 @@ +// +// UIAppView.h +// Limelight +// +// Created by Diego Waxemberg on 10/22/14. +// Copyright (c) 2014 Limelight Stream. All rights reserved. +// + +#import +#import "App.h" + +@interface UIAppView : UIView + +- (id) initWithApp:(App*)app; + +@end diff --git a/Limelight/UIAppView.m b/Limelight/UIAppView.m new file mode 100644 index 00000000..1d2ea6eb --- /dev/null +++ b/Limelight/UIAppView.m @@ -0,0 +1,50 @@ +// +// UIAppView.m +// Limelight +// +// Created by Diego Waxemberg on 10/22/14. +// Copyright (c) 2014 Limelight Stream. All rights reserved. +// + +#import "UIAppView.h" + +@implementation UIAppView { + App* _app; + UIButton* _appButton; + UILabel* _appLabel; +} +static int LABEL_DY = 20; + +- (id) initWithApp:(App*)app { + self = [super init]; + _app = app; + + _appButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_appButton setContentEdgeInsets:UIEdgeInsetsMake(0, 4, 0, 4)]; + [_appButton setBackgroundImage:[[UIImage imageNamed:@"Left4Dead2"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)] forState:UIControlStateNormal]; + [_appButton sizeToFit]; + + _appLabel = [[UILabel alloc] init]; + [_appLabel setText:_app.displayName]; + [_appLabel sizeToFit]; + _appLabel.center = CGPointMake(_appButton.bounds.origin.x + (_appButton.bounds.size.width / 2), _appButton.bounds.origin.y + _appButton.bounds.size.height + LABEL_DY); + + [self addSubview:_appButton]; + [self addSubview:_appLabel]; + + self.frame = CGRectMake(0, 0, _appButton.frame.size.width > _appLabel.frame.size.width ? _appButton.frame.size.width : _appLabel.frame.size.width, _appButton.frame.size.height + _appLabel.frame.size.height); + + return self; +} + + + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +@end diff --git a/Limelight/UIComputerView.h b/Limelight/UIComputerView.h new file mode 100644 index 00000000..c603bd06 --- /dev/null +++ b/Limelight/UIComputerView.h @@ -0,0 +1,16 @@ +// +// UIComputerView.h +// Limelight +// +// Created by Diego Waxemberg on 10/22/14. +// Copyright (c) 2014 Limelight Stream. All rights reserved. +// + +#import +#import "Computer.h" + +@interface UIComputerView : UIView + +- (id) initWithComputer:(Computer*)computer; + +@end diff --git a/Limelight/UIComputerView.m b/Limelight/UIComputerView.m new file mode 100644 index 00000000..0efb1115 --- /dev/null +++ b/Limelight/UIComputerView.m @@ -0,0 +1,48 @@ +// +// UIComputerView.m +// Limelight +// +// Created by Diego Waxemberg on 10/22/14. +// Copyright (c) 2014 Limelight Stream. All rights reserved. +// + +#import "UIComputerView.h" + +@implementation UIComputerView { + Computer* _computer; + UIButton* _hostButton; + UILabel* _hostLabel; +} +static int LABEL_DY = 20; + +- (id) initWithComputer:(Computer*)computer { + self = [super init]; + _computer = computer; + + _hostButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_hostButton setContentEdgeInsets:UIEdgeInsetsMake(0, 4, 0, 4)]; + [_hostButton setBackgroundImage:[[UIImage imageNamed:@"Computer"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)] forState:UIControlStateNormal]; + [_hostButton sizeToFit]; + + _hostLabel = [[UILabel alloc] init]; + [_hostLabel setText:[_computer displayName]]; + [_hostLabel sizeToFit]; + _hostLabel.center = CGPointMake(_hostButton.bounds.origin.x + (_hostButton.bounds.size.width / 2), _hostButton.bounds.origin.y + _hostButton.bounds.size.height + LABEL_DY); + + [self addSubview:_hostButton]; + [self addSubview:_hostLabel]; + + self.frame = CGRectMake(0, 0, _hostButton.frame.size.width > _hostLabel.frame.size.width ? _hostButton.frame.size.width : _hostLabel.frame.size.width, _hostButton.frame.size.height + _hostLabel.frame.size.height); + + return self; +} + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +@end diff --git a/Limelight/ViewControllers/MainFrameViewController.h b/Limelight/ViewControllers/MainFrameViewController.h index d4777f96..7265ca9a 100644 --- a/Limelight/ViewControllers/MainFrameViewController.h +++ b/Limelight/ViewControllers/MainFrameViewController.h @@ -11,15 +11,7 @@ #import "PairManager.h" #import "StreamConfiguration.h" -@interface MainFrameViewController : UIViewController -@property (strong, nonatomic) IBOutlet UIPickerView *HostPicker; -- (IBAction)StreamButton:(UIButton *)sender; -- (IBAction)PairButton:(UIButton *)sender; - -@property (strong, nonatomic) IBOutlet UIPickerView *StreamConfigs; -@property (strong, nonatomic) NSArray* streamConfigVals; -@property (strong, nonatomic) NSArray* hostPickerVals; -@property (strong, nonatomic) IBOutlet UITextField *hostTextField; +@interface MainFrameViewController : UIViewController + (StreamConfiguration*) getStreamConfiguration; diff --git a/Limelight/ViewControllers/MainFrameViewController.m b/Limelight/ViewControllers/MainFrameViewController.m index f1419b3d..1ebcd910 100644 --- a/Limelight/ViewControllers/MainFrameViewController.m +++ b/Limelight/ViewControllers/MainFrameViewController.m @@ -1,4 +1,4 @@ -// + // MainFrameViewController.m // Limelight-iOS // @@ -14,6 +14,9 @@ #import "VideoDecoderRenderer.h" #import "StreamManager.h" #import "Utils.h" +#import "UIComputerView.h" +#import "UIAppView.h" +#import "App.h" @implementation MainFrameViewController { NSOperationQueue* _opQueue; @@ -27,6 +30,8 @@ static StreamConfiguration* streamConfig; return streamConfig; } +//TODO: no more pair button +/* - (void)PairButton:(UIButton *)sender { NSLog(@"Pair Button Pressed!"); @@ -34,7 +39,7 @@ static StreamConfiguration* streamConfig; _selectedHost = [[Computer alloc] initWithIp:self.hostTextField.text]; NSLog(@"Using custom host: %@", self.hostTextField.text); } - + if (![self validatePcSelected]) { NSLog(@"No valid PC selected"); return; @@ -54,6 +59,7 @@ static StreamConfiguration* streamConfig; [_opQueue addOperation:pMan]; } +*/ - (void)showPIN:(NSString *)PIN { dispatch_sync(dispatch_get_main_queue(), ^{ @@ -86,9 +92,12 @@ static StreamConfiguration* streamConfig; [self presentViewController:alert animated:YES completion:nil]; } +//TODO: No more stream button +/* - (void)StreamButton:(UIButton *)sender { NSLog(@"Stream Button Pressed!"); + if ([self.hostTextField.text length] > 0) { _selectedHost = [[Computer alloc] initWithIp:self.hostTextField.text]; NSLog(@"Using custom host: %@", self.hostTextField.text); @@ -139,18 +148,9 @@ static StreamConfiguration* streamConfig; NSLog(@"StreamConfig: %@, %d, %dx%dx%d at %d Mbps", streamConfig.host, streamConfig.hostAddr, streamConfig.width, streamConfig.height, streamConfig.frameRate, streamConfig.bitRate); [self performSegueWithIdentifier:@"createStreamFrame" sender:self]; } +*/ -- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component -{ - if (pickerView == self.StreamConfigs) { - return [self.streamConfigVals objectAtIndex:row]; - } else if (pickerView == self.HostPicker) { - return ((Computer*)([self.hostPickerVals objectAtIndex:row])).displayName; - } else { - return nil; - } -} - +/* - (void)setSelectedHost:(NSInteger)selectedIndex { _selectedHost = (Computer*)([self.hostPickerVals objectAtIndex:selectedIndex]); @@ -159,58 +159,71 @@ static StreamConfiguration* streamConfig; _selectedHost = NULL; } } +*/ -- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component -{ - if (pickerView == self.HostPicker) { - [self setSelectedHost:[self.HostPicker selectedRowInComponent:0]]; - } - - //TODO: figure out how to save this info!! -} - -// returns the number of 'columns' to display. -- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView -{ - return 1; -} - -// returns the # of rows in each component.. -- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component -{ - if (pickerView == self.StreamConfigs) { - return self.streamConfigVals.count; - } else if (pickerView == self.HostPicker) { - return self.hostPickerVals.count; - } else { - return 0; - } -} - (void)viewDidLoad { [super viewDidLoad]; - self.streamConfigVals = [[NSArray alloc] initWithObjects:@"1280x720 (30Hz)", @"1280x720 (60Hz)", @"1920x1080 (30Hz)", @"1920x1080 (60Hz)",nil]; - [self.StreamConfigs selectRow:1 inComponent:0 animated:NO]; + NSArray* streamConfigVals = [[NSArray alloc] initWithObjects:@"1280x720 (30Hz)", @"1280x720 (60Hz)", @"1920x1080 (30Hz)", @"1920x1080 (60Hz)",nil]; _opQueue = [[NSOperationQueue alloc] init]; // Initialize the host picker list - [self updateHosts:[[NSArray alloc] init]]; + //[self updateHosts:[[NSArray alloc] init]]; + + Computer* test = [[Computer alloc] initWithIp:@"CEMENT-TRUCK"]; + + + UIScrollView* hostScrollView = [[UIScrollView alloc] init]; + hostScrollView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height / 2); + [hostScrollView setShowsHorizontalScrollIndicator:NO]; + UIComputerView* compView; + for (int i = 0; i < 5; i++) { + compView = [[UIComputerView alloc] initWithComputer:test]; + [hostScrollView addSubview:compView]; + [compView sizeToFit]; + compView.center = CGPointMake((compView.frame.size.width + 20) * i + compView.frame.size.width, hostScrollView.frame.size.height / 2); + + } + + [hostScrollView setContentSize:CGSizeMake(compView.frame.size.width * 5 + compView.frame.size.width, hostScrollView.frame.size.height)]; + + + UIScrollView* appScrollView = [[UIScrollView alloc] init]; + appScrollView.frame = CGRectMake(0, hostScrollView.frame.size.height, self.view.frame.size.width, self.view.frame.size.height / 2); + [appScrollView setShowsHorizontalScrollIndicator:NO]; + + + App* testApp = [[App alloc] init]; + testApp.displayName = @"Left 4 Dead 2"; + UIAppView* appView; + for (int i = 0; i < 5; i++) { + appView = [[UIAppView alloc] initWithApp:testApp]; + [appScrollView addSubview:appView]; + [appView sizeToFit]; + appView.center = CGPointMake((appView.frame.size.width + 20) * i + compView.frame.size.width, appScrollView.frame.size.height / 2); + } + + [appScrollView setContentSize:CGSizeMake(appView.frame.size.width * 5 + appView.frame.size.width, appScrollView.frame.size.height)]; + + [self.view addSubview:hostScrollView]; + [self.view addSubview:appScrollView]; + } - (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - _mDNSManager = [[MDNSManager alloc] initWithCallback:self]; - [_mDNSManager searchForHosts]; + [super viewDidDisappear:animated]; + //_mDNSManager = [[MDNSManager alloc] initWithCallback:self]; + // [_mDNSManager searchForHosts]; } - (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [_mDNSManager stopSearching]; + [super viewDidDisappear:animated]; + // [_mDNSManager stopSearching]; } - (void)updateHosts:(NSArray *)hosts { @@ -219,11 +232,6 @@ static StreamConfiguration* streamConfig; if ([hostPickerValues count] == 0) { [hostPickerValues addObject:[[Computer alloc] initPlaceholder]]; } - - self.hostPickerVals = hostPickerValues; - [self.HostPicker reloadAllComponents]; - - [self setSelectedHost:[self.HostPicker selectedRowInComponent:0]]; } - (BOOL)validatePcSelected { @@ -257,22 +265,4 @@ static StreamConfiguration* streamConfig; - (BOOL)shouldAutorotate { return YES; } - -- (NSUInteger)supportedInterfaceOrientations { - NSString *deviceType = [UIDevice currentDevice].model; - if ([deviceType containsString:@"iPhone"] || [deviceType containsString:@"iPod"]) { - return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown; - } else { - return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight; - } -} - -- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { - NSString *deviceType = [UIDevice currentDevice].model; - if ([deviceType containsString:@"iPhone"] || [deviceType containsString:@"iPod"]) { - return UIInterfaceOrientationPortrait; - } else { - return UIInterfaceOrientationLandscapeRight; - } -} @end diff --git a/Limelight/ViewControllers/StreamFrameViewController.m b/Limelight/ViewControllers/StreamFrameViewController.m index 588bee9e..e05aec06 100644 --- a/Limelight/ViewControllers/StreamFrameViewController.m +++ b/Limelight/ViewControllers/StreamFrameViewController.m @@ -118,13 +118,4 @@ - (BOOL)shouldAutorotate { return YES; } - -- (NSUInteger)supportedInterfaceOrientations { - return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight; -} - -- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { - return UIInterfaceOrientationLandscapeRight; -} - @end diff --git a/MainFrame-iPad.storyboard b/MainFrame-iPad.storyboard deleted file mode 100644 index 9eb04319..00000000 --- a/MainFrame-iPad.storyboard +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/MainFrame-iPhone.storyboard b/MainFrame-iPhone.storyboard deleted file mode 100644 index 4aecfbb1..00000000 --- a/MainFrame-iPhone.storyboard +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iPad.storyboard b/iPad.storyboard new file mode 100644 index 00000000..eb77d969 --- /dev/null +++ b/iPad.storyboard @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iPhone.storyboard b/iPhone.storyboard new file mode 100644 index 00000000..098b0cc6 --- /dev/null +++ b/iPhone.storyboard @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +