aboutsummaryrefslogtreecommitdiffhomepage
path: root/example
diff options
context:
space:
mode:
authorGravatar Hoà V. DINH <dinh.viet.hoa@gmail.com>2013-07-17 14:01:19 -0700
committerGravatar Hoà V. DINH <dinh.viet.hoa@gmail.com>2013-07-17 14:01:19 -0700
commitc2f75bfae0ae58be952c2abc07d90ead01e1ed89 (patch)
treed8b5e29de04b3059be461a03b7b54c1bdbb47e27 /example
parentdf1f253e6428f8fd6805e1e2492399efb95fdee9 (diff)
parent739398c238744901170a3800bd3d19f3ad584911 (diff)
Merge pull request #191 from paulyoung/message-preview-in-examples
Add message preview to iOS example.
Diffstat (limited to 'example')
-rw-r--r--example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj6
-rw-r--r--example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.h16
-rw-r--r--example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.m25
-rw-r--r--example/ios/iOS UI Test/iOS UI Test/MasterViewController.m15
-rw-r--r--example/ios/iOS UI Test/iOS UI Test/en.lproj/MainStoryboard.storyboard22
5 files changed, 74 insertions, 10 deletions
diff --git a/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj b/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj
index b15b9b8a..eec98dc0 100644
--- a/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj
+++ b/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj
@@ -35,6 +35,7 @@
C6D71951178BB8B4008ED15F /* GTMOAuth2ViewControllerTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = C6D71947178BA812008ED15F /* GTMOAuth2ViewControllerTouch.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
C6D71952178BB8B4008ED15F /* GTMOAuth2ViewTouch.xib in Resources */ = {isa = PBXBuildFile; fileRef = C6D71948178BA812008ED15F /* GTMOAuth2ViewTouch.xib */; };
C6D71954178BB91E008ED15F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6D71953178BB91E008ED15F /* SystemConfiguration.framework */; };
+ DA9AD477179331A600743873 /* MCTTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9AD476179331A600743873 /* MCTTableViewCell.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -126,6 +127,8 @@
C6D71947178BA812008ED15F /* GTMOAuth2ViewControllerTouch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GTMOAuth2ViewControllerTouch.m; sourceTree = "<group>"; };
C6D71948178BA812008ED15F /* GTMOAuth2ViewTouch.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GTMOAuth2ViewTouch.xib; sourceTree = "<group>"; };
C6D71953178BB91E008ED15F /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+ DA9AD475179331A600743873 /* MCTTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCTTableViewCell.h; sourceTree = "<group>"; };
+ DA9AD476179331A600743873 /* MCTTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MCTTableViewCell.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -222,6 +225,8 @@
AB9EAE3517036FD700D750C7 /* SettingsViewController.xib */,
AB9EAE0C170368F000D750C7 /* Supporting Files */,
AB665BC917134336007F2151 /* common */,
+ DA9AD475179331A600743873 /* MCTTableViewCell.h */,
+ DA9AD476179331A600743873 /* MCTTableViewCell.m */,
);
path = "iOS UI Test";
sourceTree = "<group>";
@@ -408,6 +413,7 @@
C6D7194F178BB8B4008ED15F /* GTMOAuth2Authentication.m in Sources */,
B12AAA3417322654003551C7 /* MCOMessageView.mm in Sources */,
B12AAA3517322654003551C7 /* MCTMsgViewController.mm in Sources */,
+ DA9AD477179331A600743873 /* MCTTableViewCell.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.h b/example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.h
new file mode 100644
index 00000000..0d680415
--- /dev/null
+++ b/example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.h
@@ -0,0 +1,16 @@
+//
+// MCTTableViewCell.h
+// iOS UI Test
+//
+// Created by Paul Young on 14/07/2013.
+// Copyright (c) 2013 AppJon. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <MailCore/MailCore.h>
+
+@interface MCTTableViewCell : UITableViewCell
+
+@property (nonatomic, strong) MCOIMAPMessageRenderingOperation * messageRenderingOperation;
+
+@end
diff --git a/example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.m b/example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.m
new file mode 100644
index 00000000..1c45b0ec
--- /dev/null
+++ b/example/ios/iOS UI Test/iOS UI Test/MCTTableViewCell.m
@@ -0,0 +1,25 @@
+//
+// MCTTableViewCell.m
+// iOS UI Test
+//
+// Created by Paul Young on 14/07/2013.
+// Copyright (c) 2013 AppJon. All rights reserved.
+//
+
+#import "MCTTableViewCell.h"
+
+@implementation MCTTableViewCell
+
+- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
+{
+ self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];
+ return self;
+}
+
+- (void)prepareForReuse
+{
+ [self.messageRenderingOperation cancel];
+ self.detailTextLabel.text = @" ";
+}
+
+@end
diff --git a/example/ios/iOS UI Test/iOS UI Test/MasterViewController.m b/example/ios/iOS UI Test/iOS UI Test/MasterViewController.m
index 5bbc0d53..7540eee8 100644
--- a/example/ios/iOS UI Test/iOS UI Test/MasterViewController.m
+++ b/example/ios/iOS UI Test/iOS UI Test/MasterViewController.m
@@ -11,6 +11,7 @@
#import "FXKeychain.h"
#import "MCTMsgViewController.h"
#import "GTMOAuth2ViewControllerTouch.h"
+#import "MCTTableViewCell.h"
#define CLIENT_ID @"the-client-id"
#define CLIENT_SECRET @"the-client-secret"
@@ -167,10 +168,20 @@ finishedRefreshWithFetcher:(GTMHTTPFetcher *)fetcher
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
-
+ NSString * cellIdentifier = @"Cell";
+ [tableView registerClass:[MCTTableViewCell class] forCellReuseIdentifier:cellIdentifier];
+
+ MCTTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
MCOIMAPMessage *message = self.messages[indexPath.row];
+
cell.textLabel.text = message.header.subject;
+ cell.messageRenderingOperation = [self.imapSession plainTextBodyRenderingOperationWithMessage:message
+ folder:@"INBOX"];
+
+ [cell.messageRenderingOperation start:^(NSString * plainTextBodyString, NSError * error) {
+ cell.detailTextLabel.text = plainTextBodyString;
+ cell.messageRenderingOperation = nil;
+ }];
return cell;
}
diff --git a/example/ios/iOS UI Test/iOS UI Test/en.lproj/MainStoryboard.storyboard b/example/ios/iOS UI Test/iOS UI Test/en.lproj/MainStoryboard.storyboard
index cf016fe6..2e9d223f 100644
--- a/example/ios/iOS UI Test/iOS UI Test/en.lproj/MainStoryboard.storyboard
+++ b/example/ios/iOS UI Test/iOS UI Test/en.lproj/MainStoryboard.storyboard
@@ -1,16 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="4457.6" systemVersion="12E55" targetRuntime="iOS.CocoaTouch" variant="6xAndEarlier" propertyAccessControl="none" useAutolayout="YES" initialViewController="3">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="12E55" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="3">
<dependencies>
<deployment defaultVersion="1552" identifier="iOS"/>
<development version="4600" identifier="xcode"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3682.6"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
</dependencies>
<scenes>
<!--Navigation Controller-->
<scene sceneID="11">
<objects>
<navigationController id="3" sceneMemberID="viewController">
- <extendedEdge key="edgesForExtendedLayout"/>
<navigationBar key="navigationBar" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="4">
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
@@ -31,20 +30,25 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="phq-AM-6qj" style="IBUITableViewCellStyleDefault" id="lJ0-d7-vTF">
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="phq-AM-6qj" detailTextLabel="uHd-0U-sVX" style="IBUITableViewCellStyleSubtitle" id="lJ0-d7-vTF" customClass="MCTTableViewCell">
<rect key="frame" x="0.0" y="22" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="300" height="43"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
- <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="phq-AM-6qj">
- <rect key="frame" x="10" y="0.0" width="280" height="43"/>
+ <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="phq-AM-6qj">
+ <rect key="frame" x="10" y="2" width="38" height="22"/>
<autoresizingMask key="autoresizingMask"/>
- <fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</label>
+ <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Subtitle" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uHd-0U-sVX">
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <color key="textColor" red="0.50196078431372548" green="0.50196078431372548" blue="0.50196078431372548" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+ </label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
@@ -57,7 +61,6 @@
<outlet property="delegate" destination="12" id="15"/>
</connections>
</tableView>
- <extendedEdge key="edgesForExtendedLayout"/>
<navigationItem key="navigationItem" title="Inbox" id="36">
<barButtonItem key="rightBarButtonItem" title="Settings" id="91f-3m-Uww">
<connections>
@@ -72,6 +75,9 @@
</scene>
</scenes>
<classes>
+ <class className="MCTTableViewCell" superclassName="UITableViewCell">
+ <source key="sourceIdentifier" type="project" relativePath="./Classes/MCTTableViewCell.h"/>
+ </class>
<class className="MasterViewController" superclassName="UITableViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/MasterViewController.h"/>
<relationships>