Kaydet (Commit) 556f0fe9 authored tarafından siqi's avatar siqi

auto start if slideshow is running

Change-Id: I814971373827763a4ea9ede02ad245fb86369acb
üst 2626c6cf
......@@ -44,13 +44,13 @@
5753DD8F1781EA0300DB71BB /* serverList_vc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = serverList_vc.m; sourceTree = "<group>"; };
5753DD9717834D7100DB71BB /* newServer_vc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newServer_vc.h; sourceTree = "<group>"; };
5753DD9817834D7100DB71BB /* newServer_vc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = newServer_vc.m; sourceTree = "<group>"; };
57867A531787172A00EBBE52 /* impress.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = impress.jpeg; sourceTree = "<group>"; };
57867A531787172A00EBBE52 /* impress.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = impress.jpeg; path = iosremote/impress.jpeg; sourceTree = "<group>"; };
57867A551787385800EBBE52 /* slideShow_vc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slideShow_vc.h; sourceTree = "<group>"; };
57867A561787385800EBBE52 /* slideShow_vc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = slideShow_vc.m; sourceTree = "<group>"; };
57867A581787510700EBBE52 /* pushed_next_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pushed_next_button.png; sourceTree = "<group>"; };
57867A591787510700EBBE52 /* released_next_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = released_next_button.png; sourceTree = "<group>"; };
57867A5C178752CD00EBBE52 /* pushed_previous_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pushed_previous_button.png; sourceTree = "<group>"; };
57867A5D178752CD00EBBE52 /* released_previous_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = released_previous_button.png; sourceTree = "<group>"; };
57867A581787510700EBBE52 /* pushed_next_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pushed_next_button.png; path = iosremote/pushed_next_button.png; sourceTree = "<group>"; };
57867A591787510700EBBE52 /* released_next_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = released_next_button.png; path = iosremote/released_next_button.png; sourceTree = "<group>"; };
57867A5C178752CD00EBBE52 /* pushed_previous_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pushed_previous_button.png; path = iosremote/pushed_previous_button.png; sourceTree = "<group>"; };
57867A5D178752CD00EBBE52 /* released_previous_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = released_previous_button.png; path = iosremote/released_previous_button.png; sourceTree = "<group>"; };
57B152971764703500EECC67 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Base64.h; path = iosremote/Base64.h; sourceTree = "<group>"; };
57B152981764703500EECC67 /* Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Base64.m; path = iosremote/Base64.m; sourceTree = "<group>"; };
57B1529D176486C300EECC67 /* CommandTransmitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandTransmitter.h; sourceTree = "<group>"; };
......@@ -105,9 +105,22 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
57AEEDAA1788D7B2007F4F97 /* Assets */ = {
isa = PBXGroup;
children = (
57867A581787510700EBBE52 /* pushed_next_button.png */,
57867A591787510700EBBE52 /* released_next_button.png */,
57867A5C178752CD00EBBE52 /* pushed_previous_button.png */,
57867A5D178752CD00EBBE52 /* released_previous_button.png */,
57867A531787172A00EBBE52 /* impress.jpeg */,
);
name = Assets;
sourceTree = "<group>";
};
57C6E3E6175E06E800E8BC5F = {
isa = PBXGroup;
children = (
57AEEDAA1788D7B2007F4F97 /* Assets */,
BE9EBD061765BF0800283FD2 /* CoreImage.framework */,
57B152971764703500EECC67 /* Base64.h */,
57B152981764703500EECC67 /* Base64.m */,
......@@ -164,11 +177,6 @@
57C6E3F9175E06E800E8BC5F /* Supporting Files */ = {
isa = PBXGroup;
children = (
57867A581787510700EBBE52 /* pushed_next_button.png */,
57867A591787510700EBBE52 /* released_next_button.png */,
57867A5C178752CD00EBBE52 /* pushed_previous_button.png */,
57867A5D178752CD00EBBE52 /* released_previous_button.png */,
57867A531787172A00EBBE52 /* impress.jpeg */,
57C6E3FA175E06E800E8BC5F /* iosremote-Info.plist */,
57C6E3FB175E06E800E8BC5F /* InfoPlist.strings */,
57C6E3FE175E06E800E8BC5F /* main.m */,
......
......@@ -43,9 +43,15 @@
object:nil];
}
else if ([instruction isEqualToString:STATUS_PAIRING_PAIRED]){
NSLog(@"Paired command: %@", command);
[[NSNotificationCenter defaultCenter] postNotificationName:STATUS_PAIRING_PAIRED
object:nil];
// @TODO take care of the trailing slideshow_started&slideshow_finished
if ([command objectAtIndex:2] && [[command objectAtIndex:2] isEqualToString:@"slideshow_started"]){
NSRange range;
range.location = 2;
range.length = [command count] - 2;
[self parse:[command subarrayWithRange:range]];
}
}
else if([instruction isEqualToString:@"slideshow_started"]){
uint slideLength = [[command objectAtIndex:1] integerValue];
......
......@@ -49,7 +49,8 @@
- (void) connectionStatusHandler:(NSNotification *)note
{
[self.delegate disableSpinner];
if ([self.delegate respondsToSelector:@selector(disableSpinner)])
[self.delegate disableSpinner];
if([[note name] isEqualToString:@"connection.status.connected"]){
if (self.state!=CONNECTED){
NSLog(@"Connected");
......
......@@ -205,7 +205,7 @@
</objects>
<point key="canvasLocation" x="620" y="372"/>
</scene>
<!--Slide Show vc-->
<!--Slide Show vc - Presentation-->
<scene sceneID="eap-cb-uAt">
<objects>
<viewController id="Ivv-3X-Nhr" customClass="slideShow_vc" sceneMemberID="viewController">
......@@ -252,30 +252,57 @@
</connections>
</button>
<webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xGi-A7-hat">
<color key="backgroundColor" patternImage="99D6BCFF-CD7B-46CE-AEAA-4C817A23EC3B" colorSpace="pattern"/>
<color key="backgroundColor" patternImage="C3EAB918-B6EF-4237-BA62-38FB651AC6C0" colorSpace="pattern"/>
<constraints>
<constraint firstAttribute="width" constant="280" id="lCo-8S-Rvo"/>
<constraint firstAttribute="height" constant="151" id="ndz-J7-2XE"/>
</constraints>
</webView>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" alpha="0.80000000000000004" contentMode="left" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3BV-KX-Qla">
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<rect key="contentStretch" x="1.3877787807814457e-17" y="0.0" width="1" height="1"/>
<constraints>
<constraint firstAttribute="width" constant="52" id="Qhb-gd-btj"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
<color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</label>
<toolbar opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GQv-EU-3bu">
<items>
<barButtonItem title="&lt;" width="80" id="buz-F8-kHg"/>
<barButtonItem style="plain" systemItem="flexibleSpace" id="Aw2-gV-FRx"/>
<barButtonItem title="O" width="80" id="mD4-uo-cXW"/>
<barButtonItem style="plain" systemItem="flexibleSpace" id="Bjb-U8-5of"/>
<barButtonItem title=">" width="80" id="ake-jX-ggk"/>
</items>
</toolbar>
</subviews>
<color key="backgroundColor" cocoaTouchSystemColor="scrollViewTexturedBackgroundColor"/>
<color key="backgroundColor" red="0.90196079015731812" green="0.90196079015731812" blue="0.90196079015731812" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="xGi-A7-hat" firstAttribute="leading" secondItem="Xty-aF-WDv" secondAttribute="leading" constant="15" id="6lE-vb-eac"/>
<constraint firstItem="bZq-z2-OKU" firstAttribute="trailing" secondItem="Xty-aF-WDv" secondAttribute="trailing" type="default" id="8c7-S3-6e7"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="bottom" secondItem="XDZ-bs-OUM" secondAttribute="bottom" type="default" id="Il8-lY-nhX"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="top" secondItem="XDZ-bs-OUM" secondAttribute="top" type="default" id="Nsv-yX-97F"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="top" secondItem="XDZ-bs-OUM" secondAttribute="top" type="default" id="9Ok-Tn-XPY"/>
<constraint firstAttribute="trailing" secondItem="3BV-KX-Qla" secondAttribute="trailing" constant="6" id="CYg-Mi-8Fm"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="top" secondItem="Xty-aF-WDv" secondAttribute="top" constant="227" id="Mc6-Iu-Llg"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="bottom" secondItem="XDZ-bs-OUM" secondAttribute="bottom" type="default" id="Osz-kd-tgN"/>
<constraint firstItem="bZq-z2-OKU" firstAttribute="leading" secondItem="Xty-aF-WDv" secondAttribute="leading" type="default" id="Qsg-3g-46W"/>
<constraint firstAttribute="trailing" secondItem="xGi-A7-hat" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="ULM-bz-2bR"/>
<constraint firstItem="3BV-KX-Qla" firstAttribute="top" secondItem="Xty-aF-WDv" secondAttribute="top" constant="184" id="XgZ-IP-Wsa"/>
<constraint firstItem="GQv-EU-3bu" firstAttribute="leading" secondItem="Xty-aF-WDv" secondAttribute="leading" type="default" id="cKk-ZT-xc9"/>
<constraint firstItem="GQv-EU-3bu" firstAttribute="bottom" secondItem="Xty-aF-WDv" secondAttribute="bottom" type="default" id="dgM-wJ-YtM"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="leading" secondItem="Xty-aF-WDv" secondAttribute="leading" constant="25" id="g90-pp-FIm"/>
<constraint firstAttribute="trailing" secondItem="XDZ-bs-OUM" secondAttribute="trailing" constant="32" id="gQB-7f-3oC"/>
<constraint firstItem="vh9-Zy-DPu" firstAttribute="top" secondItem="Xty-aF-WDv" secondAttribute="top" constant="241" id="prB-kI-7tF"/>
<constraint firstItem="xGi-A7-hat" firstAttribute="leading" secondItem="Xty-aF-WDv" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="qRg-YR-JvP"/>
<constraint firstAttribute="bottom" secondItem="xGi-A7-hat" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="se0-oQ-Uny"/>
<constraint firstItem="GQv-EU-3bu" firstAttribute="trailing" secondItem="Xty-aF-WDv" secondAttribute="trailing" type="default" id="plb-vM-pxW"/>
<constraint firstAttribute="bottom" secondItem="xGi-A7-hat" secondAttribute="bottom" constant="50" id="tCj-cK-tgF"/>
<constraint firstItem="bZq-z2-OKU" firstAttribute="top" secondItem="Xty-aF-WDv" secondAttribute="top" type="default" id="uH1-AT-FKy"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="T79-lT-61m"/>
<navigationItem key="navigationItem" title="Presentation" id="T79-lT-61m">
<barButtonItem key="rightBarButtonItem" title="Slides" id="0Df-q1-4Ho"/>
</navigationItem>
<connections>
<outlet property="lecturer_notes" destination="xGi-A7-hat" id="Cng-HM-0wW"/>
<outlet property="slideNumber" destination="3BV-KX-Qla" id="681-YP-k0T"/>
<outlet property="slideView" destination="bZq-z2-OKU" id="yu0-P8-F3v"/>
</connections>
</viewController>
......@@ -438,7 +465,7 @@
</scene>
</scenes>
<resources>
<image name="99D6BCFF-CD7B-46CE-AEAA-4C817A23EC3B" width="256" height="256">
<image name="C3EAB918-B6EF-4237-BA62-38FB651AC6C0" width="256" height="256">
<mutableData key="keyedArchiveRepresentation">
YnBsaXN0MDDUAQIDBAUGPj9YJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK4HCBMU
GR4fIyQsLzI4O1UkbnVsbNUJCgsMDQ4PEBESVk5TU2l6ZVYkY2xhc3NcTlNJbWFnZUZsYWdzVk5TUmVw
......@@ -4924,6 +4951,7 @@ AAAAAAAEAQAAAAAAAABCAAAAAAAAAAAAAAAAAAQO4w
<relationship kind="action" name="nextSlideAction:"/>
<relationship kind="action" name="previousSlideAction:"/>
<relationship kind="outlet" name="lecturer_notes" candidateClass="UIWebView"/>
<relationship kind="outlet" name="slideNumber" candidateClass="UILabel"/>
<relationship kind="outlet" name="slideView" candidateClass="UIImageView"/>
</relationships>
</class>
......
......@@ -54,7 +54,6 @@
self.serverTable.delegate = self;
}
- (void) viewDidAppear:(BOOL)animated
{
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
......@@ -70,10 +69,15 @@
usingBlock:^(NSNotification *note) {
[self performSegueWithIdentifier:@"SlideShowPreview" sender:self ];
}];
[self.comManager setDelegate:self];
[super viewDidAppear:animated];
}
- (void) viewWillDisappear:(BOOL)animated
{
[self disableSpinner];
[super viewWillDisappear:animated];
}
- (void) viewDidDisappear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter] removeObserver:self.slideShowPreviewStartObserver];
......@@ -84,6 +88,7 @@
-(void)viewWillAppear:(BOOL)animated
{
[self.comManager setDelegate:self];
[self.serverTable reloadData];
[super viewWillAppear:animated];
}
......
......@@ -25,6 +25,8 @@
@synthesize optionsTable = _optionsTable;
@synthesize optionsArray = _optionsArray;
BOOL RUNNING = NO;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
......@@ -46,10 +48,23 @@
self.optionsArray = [NSArray arrayWithObjects:@"Lecturer's Notes", @"Timer", @"Pointer", nil];
self.comManager = [CommunicationManager sharedComManager];
self.comManager.delegate = self;
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
self.slideShowStartObserver = [[NSNotificationCenter defaultCenter] addObserverForName:STATUS_CONNECTED_SLIDESHOW_RUNNING
object:nil
queue:mainQueue
usingBlock:^(NSNotification *note) {
RUNNING = YES;
}];
}
- (void) viewDidAppear:(BOOL)animated
{
if (RUNNING){
NSLog(@"Running...");
RUNNING = NO;
[self.parentViewController performSegueWithIdentifier:@"slideShowSegue" sender:self];
}
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
self.slideShowStartObserver = [[NSNotificationCenter defaultCenter] addObserverForName:STATUS_CONNECTED_SLIDESHOW_RUNNING
object:nil
......@@ -63,6 +78,8 @@
- (void) viewDidDisappear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter] removeObserver:self.slideShowStartObserver];
self.slideShowStartObserver = nil;
RUNNING = NO;
[super viewDidDisappear:animated];
}
......@@ -179,6 +196,8 @@
- (void)viewDidUnload {
[self setOptionsTable:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self.slideShowStartObserver];
self.slideShowStartObserver = nil;
[super viewDidUnload];
}
@end
......@@ -15,5 +15,6 @@
@property (weak, nonatomic) IBOutlet UIWebView *lecturer_notes;
@property (weak, nonatomic) IBOutlet UIImageView *slideView;
@property (weak, nonatomic) IBOutlet UILabel *slideNumber;
@end
......@@ -46,8 +46,19 @@
[self.slideView setImage:[self.slideshow getImageAtIndex:self.slideshow.currentSlide]];
[self.lecturer_notes loadHTMLString: [self.slideshow getNotesAtIndex:self.slideshow.currentSlide]baseURL:nil];
[self.slideNumber setText:[NSString stringWithFormat:@"%u/%u", [self.slideshow currentSlide]+1, [self.slideshow size]]];
[self.lecturer_notes setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"lines.png"]]];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"End"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(handleBack:)];
self.navigationItem.leftBarButtonItem = backButton;
}
- (void) handleBack:(id)sender
{
[self.comManager.transmitter stopPresentation];
[self.navigationController popViewControllerAnimated:YES];
}
......@@ -64,6 +75,9 @@
[self.slideView setImage:[self.slideshow getImageAtIndex:self.slideshow.currentSlide]];
[self.lecturer_notes loadHTMLString: [self.slideshow getNotesAtIndex:self.slideshow.currentSlide]baseURL:nil];
[self.slideNumber setText:[NSString stringWithFormat:@"%u/%u", [self.slideshow currentSlide]+1, [self.slideshow size]]];
}];
self.slideShowFinishedObserver = [center addObserverForName:STATUS_CONNECTED_NOSLIDESHOW
......@@ -93,6 +107,7 @@
- (void)viewDidUnload {
[self setLecturer_notes:nil];
[self setSlideView:nil];
[self setSlideNumber:nil];
[super viewDidUnload];
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment