diff options
author | Siqi LIU <me@siqi.fr> | 2013-07-30 23:28:50 +0200 |
---|---|---|
committer | Siqi LIU <me@siqi.fr> | 2013-07-30 23:28:50 +0200 |
commit | a024948a5d00f19e97c5574ba173ee8851ab4536 (patch) | |
tree | 631f0ab65ed13b1377052c529d182196b702bdcb | |
parent | f0326d3249c2e461489877e2d39673ad8968320a (diff) |
resolve conflicts
Change-Id: If0a7146f51741e3e8250f0aa671a6902119bb6eb
-rw-r--r-- | ios/iosremote/iosremote/BasePresentationViewController.h | 44 | ||||
-rw-r--r-- | ios/iosremote/iosremote/BasePresentationViewController.m | 478 | ||||
-rw-r--r-- | ios/iosremote/iosremote/Communication/Client.m | 7 | ||||
-rw-r--r-- | ios/iosremote/iosremote/Communication/CommunicationManager.m | 5 | ||||
-rw-r--r-- | ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard | 66 | ||||
-rw-r--r-- | setup_native/source/mac/ooo/DS_Store | bin | 15364 -> 0 bytes |
6 files changed, 536 insertions, 64 deletions
diff --git a/ios/iosremote/iosremote/BasePresentationViewController.h b/ios/iosremote/iosremote/BasePresentationViewController.h new file mode 100644 index 000000000000..2be196aa7b0c --- /dev/null +++ b/ios/iosremote/iosremote/BasePresentationViewController.h @@ -0,0 +1,44 @@ +// +// BasePresentationViewController.h +// iosremote +// +// Created by Siqi Liu on 7/27/13. +// Copyright (c) 2013 libreoffice. All rights reserved. +// + +#import <UIKit/UIKit.h> +#import "SlideShow.h" +#import "slideShowPreviewTable_vc_ipad.h" + +@interface BasePresentationViewController : UIViewController <UISplitViewControllerDelegate, UITableViewDelegate, UITableViewDataSource, AsyncLoadHorizontalTableDelegate> + +@property (weak, nonatomic) IBOutlet UIView *NotesView; +@property (weak, nonatomic) IBOutlet UIWebView *NoteWebView; +@property (weak, nonatomic) IBOutlet UIView *movingPointer; +@property (weak, nonatomic) IBOutlet UIImageView *currentSlideImageView; +@property (weak, nonatomic) IBOutlet UILabel *slideNumber; + +@property (weak, nonatomic) IBOutlet UIButton *previousButton; +@property (weak, nonatomic) IBOutlet UIButton *nextButton; + +// Split view controller +- (void) hideMaster:(BOOL)hideState; +@property BOOL masterIsHiddenWhenLandscape; + +// Welcome page +-(IBAction)startConnectionModal:(id)sender; +- (void) setWelcomePageVisible:(BOOL)visible; +@property (weak, nonatomic) IBOutlet UIView *welcome_blocking_page; +@property (weak, nonatomic) IBOutlet UIImageView *welcome_libO_icon; +@property (weak, nonatomic) IBOutlet UIButton *welcome_connect_button; +@property (weak, nonatomic) IBOutlet UILabel *welcome_label; + +@property (weak, nonatomic) IBOutlet UITableView *horizontalTableView; +@property (weak, nonatomic) IBOutlet UIButton *startButton; +@property (weak, nonatomic) IBOutlet UIButton *clearButton; +@property (weak, nonatomic) IBOutlet UILabel *timeLabel; + +// Reconnection +- (void) needReconnect; + +@end diff --git a/ios/iosremote/iosremote/BasePresentationViewController.m b/ios/iosremote/iosremote/BasePresentationViewController.m new file mode 100644 index 000000000000..99aaff5986a2 --- /dev/null +++ b/ios/iosremote/iosremote/BasePresentationViewController.m @@ -0,0 +1,478 @@ +// +// BasePresentationViewController.m +// iosremote +// +// Created by Siqi Liu on 7/27/13. +// Copyright (c) 2013 libreoffice. All rights reserved. +// + +#import "BasePresentationViewController.h" +#import "server_list_vc_ipad.h" +#import "SlideShow.h" +#import "CommunicationManager.h" +#import "CommandTransmitter.h" +#import "CommandInterpreter.h" +#import "HorizontalSlideCell.h" +#import "MainSplitViewController.h" +#import "stopWatch.h" + +#import "ControlVariables.h" + +#import <QuartzCore/QuartzCore.h> +#import <CoreText/CoreText.h> +#import <CoreMotion/CoreMotion.h> + +#define CURRENT_SLIDE_IMAGEVIEW 19 +#define CURRENT_SLIDE_NOTES 18 + +@interface BasePresentationViewController () + +@property (nonatomic, strong) CommunicationManager *comManager; +@property (nonatomic, strong) id slideShowImageNoteReadyObserver; +@property (nonatomic, strong) id slideShowFinishedObserver; +@property (nonatomic, strong) id slideChangedObserver; + +@property BOOL pointerCalibrationOn; +@property CGPoint refLeftUpperGravity; +@property CGPoint refRightUpperGravity; +@property CGPoint refRightLowerGravity; + +@property (nonatomic, strong) stopWatch * stopWatch; + +@property int count; + +@end + +@implementation BasePresentationViewController +@synthesize masterIsHiddenWhenLandscape = _masterIsHiddenWhenLandscape; + +@synthesize comManager = _comManager; +@synthesize slideShowImageNoteReadyObserver = _slideShowImageNoteReadyObserver; +@synthesize slideShowFinishedObserver = _slideShowFinishedObserver; +@synthesize slideChangedObserver = _slideChangedObserver; + +#pragma mark - UITableView delegate +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return [self.comManager.interpreter.slideShow size]; +} + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *cellIdentifier = @"HorizontalTableSlideCell"; + + HorizontalSlideCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; + + if (cell == nil) + { + cell = [[HorizontalSlideCell alloc] initWithFrame:CGRectMake(0, 0, kCellWidth, kCellHeight)]; + } + + cell.numberLabel.text = + [NSString stringWithFormat:@"%u", indexPath.row+1]; + + [cell setTag:-indexPath.row - 1]; + [cell.thumbnail setTag:1]; + NSLog(@"cell at Tag %d created", cell.tag); + + [self.comManager.interpreter.slideShow getContentAtIndex:indexPath.row forView:cell]; + + return cell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + if (self.horizontalTableView.isHidden) + return; + [[(HorizontalSlideCell *)[self.horizontalTableView cellForRowAtIndexPath:indexPath] numberLabel] setBackgroundColor:kHorizontalTableCellHighlightedBackgroundColor]; + [self.comManager.transmitter gotoSlide:indexPath.row]; +} + +#pragma mark - +#pragma iOS5 autorotate + +- (BOOL) shouldAutorotate +{ + return YES; +} + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation +{ + return YES; +} + +- (NSUInteger)supportedInterfaceOrientations { + return UIInterfaceOrientationMaskAll; +} + +#pragma mark - +#pragma SplitView hide master view tweak + +// FIXME This is a hack, consider replace it when a more proper method is available +-(void)hideMaster:(BOOL)hideState +{ + NSLog(@"hideMasterNow"); + _masterIsHiddenWhenLandscape = hideState; + + [self.splitViewController.view setNeedsLayout]; + self.splitViewController.delegate = nil; + self.splitViewController.delegate = self; + + [self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0]; +} + +- (BOOL) splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation +{ + if (UIInterfaceOrientationIsLandscape(orientation)){ + return self.masterIsHiddenWhenLandscape; + } + return UIInterfaceOrientationIsPortrait(orientation); +} + +#pragma mark - Pointer +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + + UITouch *touch = [[event allTouches] anyObject]; + CGPoint loc = [touch locationInView:self.currentSlideImageView]; + if (loc.x >= 0 && loc.x <= self.currentSlideImageView.frame.size.width + && loc.y >= 0 && loc.y <= self.currentSlideImageView.frame.size.height){ + + [UIView animateWithDuration:0.2 animations:^{ + [self.previousButton setAlpha:0]; + [self.nextButton setAlpha:0]; + }]; + + CGPoint pointerInPercentage; + pointerInPercentage.x = loc.x / self.currentSlideImageView.frame.size.width; + pointerInPercentage.y = loc.y / self.currentSlideImageView.frame.size.height; + [self.comManager.transmitter setPointerVisibleAt:pointerInPercentage]; + + CGPoint p; + p.x = loc.x + self.currentSlideImageView.frame.origin.x; + p.y = loc.y + self.currentSlideImageView.frame.origin.y; + self.movingPointer.center = p; + [self.movingPointer setHidden:NO]; + } +} + +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch *touch = [[event allTouches] anyObject]; + CGPoint loc = [touch locationInView:self.currentSlideImageView]; + if (loc.x >= 0 && loc.x <= self.currentSlideImageView.frame.size.width + && loc.y >= self.movingPointer.frame.size.height && loc.y <= self.currentSlideImageView.frame.size.height - self.movingPointer.frame.size.height) + { + [UIView animateWithDuration:0.2 animations:^{ + [self.previousButton setAlpha:0]; + [self.nextButton setAlpha:0]; + }]; + + CGPoint pointerInPercentage; + pointerInPercentage.x = loc.x / self.currentSlideImageView.frame.size.width; + pointerInPercentage.y = loc.y / self.currentSlideImageView.frame.size.height; + [self.comManager.transmitter pointerCoordination:pointerInPercentage]; + + CGPoint p; + p.x = loc.x + self.currentSlideImageView.frame.origin.x; + p.y = loc.y + self.currentSlideImageView.frame.origin.y; + self.movingPointer.center = p; + } +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event +{ + [self.movingPointer setHidden:YES]; + [self.comManager.transmitter setPointerDismissed]; + + [UIView animateWithDuration:0.2 animations:^{ + [self.previousButton setAlpha:0.2]; + [self.nextButton setAlpha:0.2]; + }]; +} + +# pragma mark - welcome page + +-(IBAction)startConnectionModal:(id)sender +{ + UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"iPad_autosize" + bundle: nil]; + server_list_vc_ipad * slvc = [mainStoryboard instantiateViewControllerWithIdentifier:@"serverList"]; + slvc.modalPresentationStyle = UIModalPresentationFormSheet; + slvc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; + [self presentViewController:slvc animated:YES completion:^{}]; +} + +# pragma mark - system defaults + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toOrientation + duration:(NSTimeInterval)duration +{ + if (toOrientation == UIInterfaceOrientationPortrait || + toOrientation == UIInterfaceOrientationPortraitUpsideDown){ + if (self.horizontalTableView.isHidden!=NO) { + [self.horizontalTableView setHidden:NO]; + } + [self.horizontalTableView reloadData]; + } + else if (toOrientation == UIInterfaceOrientationLandscapeLeft || + toOrientation == UIInterfaceOrientationLandscapeRight) + [self.horizontalTableView setHidden:YES]; +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation +{ + if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) { + [UIView animateWithDuration:0.25 animations:^{ + self.NotesView.frame = CGRectMake(-15.0, + /*self.NotesView.frame.origin.y - self.horizontalTableView.frame.size.height*/ 466.0, + self.NotesView.frame.size.width, + /*self.NotesView.frame.size.height + self.horizontalTableView.frame.size.height*/ 176.0); + self.horizontalTableView.bounds = CGRectMake(0, 0, 768, 0); + }]; + } else { + [UIView animateWithDuration:0.25 animations:^{ + self.NotesView.frame = CGRectMake(-13.0, + /*self.NotesView.frame.origin.y - self.horizontalTableView.frame.size.height*/ 595.0, + 794.0, + /*self.NotesView.frame.size.height + self.horizontalTableView.frame.size.height*/ 303.0); + self.horizontalTableView.bounds = CGRectMake(0, 0, 129, 768); + } completion:^(BOOL finished) { +// [self.horizontalTableView setHidden:NO]; +// [self.horizontalTableView reloadData]; + }]; + } +} + +- (SlideShow *)slideshow +{ + return self.comManager.interpreter.slideShow; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + self.masterIsHiddenWhenLandscape = YES; + [self.currentSlideImageView setTag:CURRENT_SLIDE_IMAGEVIEW]; + [self.NoteWebView setTag:CURRENT_SLIDE_NOTES]; + self.slideshow.delegate = self; + self.comManager = [CommunicationManager sharedComManager]; + + if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) { + [self.horizontalTableView setHidden:YES]; + } + self.comManager.interpreter.slideShow.delegate = self; + self.movingPointer.layer.cornerRadius = 3; + + self.horizontalTableView.showsVerticalScrollIndicator = NO; + self.horizontalTableView.showsHorizontalScrollIndicator = NO; + self.horizontalTableView.transform = CGAffineTransformMakeRotation(-M_PI * 0.5); + [self.horizontalTableView setFrame:CGRectMake(0, 462, kTableLength - kRowHorizontalPadding, kCellHeight)]; + + self.horizontalTableView.rowHeight = kCellWidth; + + UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"slideshowRail"]]; + [bgImageView setFrame:self.horizontalTableView.frame]; + + self.horizontalTableView.backgroundView = bgImageView; + + self.horizontalTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; + self.horizontalTableView.separatorColor = [UIColor clearColor]; + + NSOperationQueue *mainQueue = [NSOperationQueue mainQueue]; + + self.slideChangedObserver =[[NSNotificationCenter defaultCenter] addObserverForName:MSG_SLIDE_CHANGED + object:nil + queue:mainQueue + usingBlock:^(NSNotification *note) { + if ([self.horizontalTableView numberOfRowsInSection:0] > 0){ + NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.slideshow.currentSlide inSection:0]; + [self.horizontalTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone]; + [[(HorizontalSlideCell *)[self.horizontalTableView cellForRowAtIndexPath:indexPath] numberLabel] setBackgroundColor:kHorizontalTableCellHighlightedBackgroundColor]; + [self.horizontalTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; + } + }]; + self.stopWatch = [[stopWatch alloc] initWithStartButton:self.startButton ClearButton:self.clearButton TimeLabel:self.timeLabel]; +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; + + [UIView animateWithDuration:0.2 delay:1 options:(UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionAllowUserInteraction) animations:^{ + [self.previousButton setAlpha:0.2]; + [self.nextButton setAlpha:0.2]; + } completion:nil]; + + [UIView animateWithDuration:0.4 delay:0 options:(UIViewAnimationOptionCurveEaseIn) animations:^{ + [self.welcome_blocking_page setAlpha:1]; + } completion:nil]; + +// NSLog(@"%f %f %f %f", self.NotesView.frame.origin.x, self.NotesView.frame.origin.y, self.NotesView.frame.size.height, self.NotesView.frame.size.width); + if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) { + [UIView animateWithDuration:0.25 animations:^{ + self.NotesView.frame = CGRectMake(-15.0, + /*self.NotesView.frame.origin.y - self.horizontalTableView.frame.size.height*/ 466.0, + self.NotesView.frame.size.width, + /*self.NotesView.frame.size.height + self.horizontalTableView.frame.size.height*/ 176.0); + NSLog(@"h:%f", self.horizontalTableView.bounds.size.height); + }]; + } else { + [UIView animateWithDuration:0.25 animations:^{ + self.NotesView.frame = CGRectMake(-13.0, + /*self.NotesView.frame.origin.y - self.horizontalTableView.frame.size.height*/ 595.0, + 794.0, + /*self.NotesView.frame.size.height + self.horizontalTableView.frame.size.height*/ 303.0); + }]; + } + + NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; + NSOperationQueue *mainQueue = [NSOperationQueue mainQueue]; + + self.slideShowImageNoteReadyObserver =[center addObserverForName:MSG_SLIDE_CHANGED + object:nil + queue:mainQueue + usingBlock:^(NSNotification *note) { + [self.slideshow getContentAtIndex:self.slideshow.currentSlide forView:self.currentSlideImageView]; + [self.slideshow getContentAtIndex:self.slideshow.currentSlide forView:self.NoteWebView]; + NSLog(@"slideShowImageNoteReadyObserver:%u/%u", [self.slideshow currentSlide]+1, [self.slideshow size]); + [self.slideNumber setText:[NSString stringWithFormat:@"%u/%u", [self.slideshow currentSlide]+1, [self.slideshow size]]]; + }]; + + self.slideShowFinishedObserver = [center addObserverForName:STATUS_CONNECTED_NOSLIDESHOW + object:nil + queue:mainQueue + usingBlock:^(NSNotification *note) { + [self.stopWatch clear]; + [self hideMaster:YES]; + if ([self.comManager.interpreter.slideShow size] == 0) + [self setWelcomePageVisible:YES]; + if (!self.presentedViewController) { + UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"iPad_autosize" + bundle: nil]; + slideShowPreviewTable_vc_ipad * sspt = [mainStoryboard instantiateViewControllerWithIdentifier:@"slideShowPreview"]; + + sspt.modalPresentationStyle = UIModalPresentationFormSheet; + sspt.modalTransitionStyle = UIModalTransitionStyleCoverVertical; + + [self presentViewController:sspt animated:YES completion:^{}]; + } + }]; +} + +- (void) setWelcomePageVisible:(BOOL)visible +{ + if (!visible) { + [self.currentSlideImageView setUserInteractionEnabled:NO]; + + [UIView animateWithDuration:0.15 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{ + self.welcome_blocking_page.alpha = 0.0; + } completion:^(BOOL finished) { + if (finished) { + self.welcome_blocking_page.hidden = YES; + [self.currentSlideImageView setUserInteractionEnabled:YES]; + } else { + [self setWelcomePageVisible:visible]; + [self.currentSlideImageView setUserInteractionEnabled:YES]; + } + if ([[NSUserDefaults standardUserDefaults] boolForKey:KEY_TIMER]) + [self.stopWatch start]; + }]; + self.slideshow.delegate = self; + } + else { + [self.currentSlideImageView setUserInteractionEnabled:NO]; + self.welcome_blocking_page.hidden = NO; + + [UIView animateWithDuration:0.15 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{ + self.welcome_blocking_page.alpha = 1.0; + } completion:nil]; + } +} + +- (void) viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; +} + + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +- (void)viewDidUnload { + [self setHorizontalTableView:nil]; + [self setNotesView:nil]; + [self setNoteWebView:nil]; + [self setMovingPointer:nil]; + [self setCurrentSlideImageView:nil]; + [self setPreviousButton:nil]; + [self setNextButton:nil]; + [self setSlideNumber:nil]; + [self setSlideNumber:nil]; + [self setWelcome_connect_button:nil]; + + [[NSNotificationCenter defaultCenter] removeObserver:self.slideShowFinishedObserver]; + [[NSNotificationCenter defaultCenter] removeObserver:self.slideShowImageNoteReadyObserver]; + + [self setStartButton:nil]; + [self setClearButton:nil]; + [self setTimeLabel:nil]; + [self setWelcome_label:nil]; + [super viewDidUnload]; +} + +#pragma mark - Reconnection + +- (void) needReconnect +{ + [self dismissViewControllerAnimated:YES completion:nil]; + if (self.welcome_blocking_page.hidden == NO) { + [self setWelcomePageVisible:YES]; + } +} + +#pragma mark - Slide Control + +- (IBAction)nextSlideAction:(id)sender { + + [[self.comManager transmitter] nextTransition]; + + [UIView animateWithDuration:0.4 delay:0 options:(UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionAllowUserInteraction) animations:^{ + [self.previousButton setAlpha:0.5]; + [self.nextButton setAlpha:0.5]; + } completion:^(BOOL finished) { + [UIView animateWithDuration:0.4 delay:1 options:(UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionAllowUserInteraction) animations:^{ + [self.previousButton setAlpha:0.2]; + [self.nextButton setAlpha:0.2]; + } completion:nil]; + }]; +} + +- (IBAction)previousSlideAction:(id)sender { + + [[self.comManager transmitter] previousTransition]; + + [UIView animateWithDuration:0.4 delay:0 options:(UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionAllowUserInteraction) animations:^{ + [self.previousButton setAlpha:0.5]; + [self.nextButton setAlpha:0.5]; + } completion:^(BOOL finished) { + [UIView animateWithDuration:0.4 delay:1 options:(UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionAllowUserInteraction) animations:^{ + [self.previousButton setAlpha:0.2]; + [self.nextButton setAlpha:0.2]; + } completion:nil]; + }]; +} + +@end diff --git a/ios/iosremote/iosremote/Communication/Client.m b/ios/iosremote/iosremote/Communication/Client.m index 417b4188e7be..466e2398eb82 100644 --- a/ios/iosremote/iosremote/Communication/Client.m +++ b/ios/iosremote/iosremote/Communication/Client.m @@ -192,6 +192,13 @@ int count = 0; NSString *str; while (true) { len = [(NSInputStream *)stream read:buf maxLength:1024]; + if (len <= 0){ + [self disconnect]; + [self connect]; + NSLog(@"eroor"); + break; + } + [data appendBytes:(const void *)buf length:len]; if (len < 1024) { // Potentially the end of a command diff --git a/ios/iosremote/iosremote/Communication/CommunicationManager.m b/ios/iosremote/iosremote/Communication/CommunicationManager.m index c2c0332817c7..81f7153f7ef1 100644 --- a/ios/iosremote/iosremote/Communication/CommunicationManager.m +++ b/ios/iosremote/iosremote/Communication/CommunicationManager.m @@ -13,6 +13,8 @@ #import "SlideShow.h" #import "CommandTransmitter.h" #import "CommandInterpreter.h" +#import "BasePresentationViewController.h" +#import "MainSplitViewController.h" #import "serverList_vc.h" #import <dispatch/dispatch.h> @@ -70,7 +72,10 @@ [message show]; }); } else { + NSLog(@"delegate type: %@", [self.delegate class]); [[self.delegate navigationController] popToRootViewControllerAnimated:YES]; + BasePresentationViewController * bpvc = [[(MainSplitViewController *)[self.delegate presentingViewController] viewControllers] objectAtIndex:1]; + [bpvc needReconnect]; dispatch_async(dispatch_get_main_queue(), ^{ UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Connection Lost" message:@"Oups, connection lost...Please try to reconnect to your computer. " diff --git a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard index e18dbffbe934..4a68626ecb46 100644 --- a/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard +++ b/ios/iosremote/iosremote/en.lproj/iPhone_autoSize.storyboard @@ -555,74 +555,12 @@ <image name="timer_clear_btn.png" width="74" height="74"/> <image name="timer_start_btn.png" width="74" height="74"/> </resources> - <classes> - <class className="EditableTableViewCell" superclassName="UITableViewCell"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/EditableTableViewCell.h"/> - </class> - <class className="SWRevealViewController" superclassName="UIViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/SWRevealViewController.h"/> - </class> - <class className="newServerViewController" superclassName="UITableViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/newServerViewController.h"/> - <relationships> - <relationship kind="action" name="save:"/> - </relationships> - </class> - <class className="pinValidation_vc" superclassName="UIViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/pinValidation_vc.h"/> - <relationships> - <relationship kind="outlet" name="pinLabel" candidateClass="UILabel"/> - <relationship kind="outlet" name="statusLabel" candidateClass="UILabel"/> - </relationships> - </class> - <class className="server_list_vc" superclassName="UITableViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/server_list_vc.h"/> - <relationships> - <relationship kind="outlet" name="serverTable" candidateClass="UITableView"/> - </relationships> - </class> - <class className="slideShowPreviewTable_vc" superclassName="UITableViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShowPreviewTable_vc.h"/> - <relationships> - <relationship kind="outlet" name="optionsTable" candidateClass="UITableView"/> - </relationships> - </class> - <class className="slideShowSwipeInList" superclassName="UITableViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShowSwipeInList.h"/> - <relationships> - <relationship kind="action" name="stopWatchClear:"/> - <relationship kind="action" name="stopWatchStart:"/> - </relationships> - </class> - <class className="slideShow_vc" superclassName="UIViewController"> - <source key="sourceIdentifier" type="project" relativePath="./Classes/slideShow_vc.h"/> - <relationships> - <relationship kind="action" name="accPointerAction:"/> - <relationship kind="action" name="nextSlideAction:"/> - <relationship kind="action" name="pointerAction:"/> - <relationship kind="action" name="previousSlideAction:"/> - <relationship kind="outlet" name="blockingView" candidateClass="UIView"/> - <relationship kind="outlet" name="bottomView" candidateClass="UIView"/> - <relationship kind="outlet" name="lecturer_notes" candidateClass="UIWebView"/> - <relationship kind="outlet" name="movingPointer" candidateClass="UIView"/> - <relationship kind="outlet" name="notesView" candidateClass="UIView"/> - <relationship kind="outlet" name="pointerBtn" candidateClass="UIButton"/> - <relationship kind="outlet" name="revealButtonItem" candidateClass="UIBarButtonItem"/> - <relationship kind="outlet" name="secondarySlideView" candidateClass="UIImageView"/> - <relationship kind="outlet" name="slideNumber" candidateClass="UILabel"/> - <relationship kind="outlet" name="slideView" candidateClass="UIImageView"/> - <relationship kind="outlet" name="touchPointerImage" candidateClass="UIImageView"/> - <relationship kind="outlet" name="touchPointerScrollView" candidateClass="UIScrollView"/> - </relationships> - </class> - </classes> <simulatedMetricsContainer key="defaultSimulatedMetrics"> <simulatedStatusBarMetrics key="statusBar"/> <simulatedOrientationMetrics key="orientation"/> <simulatedScreenMetrics key="destination" type="retina4"/> </simulatedMetricsContainer> <inferredMetricsTieBreakers> - <segue reference="eIY-4P-1sI"/> - <segue reference="EWS-Nn-mQc"/> + <segue reference="gCy-Mv-VrC"/> </inferredMetricsTieBreakers> -</document>
\ No newline at end of file +</document> diff --git a/setup_native/source/mac/ooo/DS_Store b/setup_native/source/mac/ooo/DS_Store Binary files differdeleted file mode 100644 index fec0edc61bc5..000000000000 --- a/setup_native/source/mac/ooo/DS_Store +++ /dev/null |