aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Ehlin <eddiex@eddiex.se>2013-02-23 18:53:37 +0100
committerEddie Ehlin <eddiex@eddiex.se>2013-02-23 18:53:37 +0100
commit06fcd32c074dd7413d54d1025276040128264fdf (patch)
tree0a363ac44b65c09df7041060e4cd480d9a6a3d8f
parente16b75a3ff640188fe6ea980355f7ea4491e2629 (diff)
downloadiBean-06fcd32c074dd7413d54d1025276040128264fdf.tar.gz
iBean-06fcd32c074dd7413d54d1025276040128264fdf.zip
Initial version of the extraction timer for bean collection (drop-down style).
-rw-r--r--iBean/iBean.xcodeproj/project.pbxproj4
-rw-r--r--iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstatebin49744 -> 51543 bytes
-rw-r--r--iBean/iBean/.DS_Storebin6148 -> 6148 bytes
-rw-r--r--iBean/iBean/BeanCollectionExtractionViewController.h4
-rw-r--r--iBean/iBean/BeanCollectionExtractionViewController.m57
-rw-r--r--iBean/iBean/Graphics/ibean-extraction-dropdown-background.pngbin0 -> 81326 bytes
-rw-r--r--iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxmbin0 -> 201374 bytes
-rw-r--r--iBean/iBean/iPhoneStoryboard.storyboard92
8 files changed, 124 insertions, 33 deletions
diff --git a/iBean/iBean.xcodeproj/project.pbxproj b/iBean/iBean.xcodeproj/project.pbxproj
index 3cabdce..f2f8088 100644
--- a/iBean/iBean.xcodeproj/project.pbxproj
+++ b/iBean/iBean.xcodeproj/project.pbxproj
@@ -37,6 +37,7 @@
024CB03716C2EF10009CBC15 /* UITableView+Extra.m in Sources */ = {isa = PBXBuildFile; fileRef = 024CB03616C2EF10009CBC15 /* UITableView+Extra.m */; };
024CB03916C2EFD5009CBC15 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 024CB03816C2EFD5009CBC15 /* QuartzCore.framework */; };
024CC6B016D0F33200F84F3D /* Threshold.m in Sources */ = {isa = PBXBuildFile; fileRef = 024CC6AF16D0F33200F84F3D /* Threshold.m */; };
+ 024CC6EB16D6B36000F84F3D /* ibean-extraction-dropdown-background.png in Resources */ = {isa = PBXBuildFile; fileRef = 024CC6EA16D6B36000F84F3D /* ibean-extraction-dropdown-background.png */; };
024F676D16A4A61D004A1201 /* InstantExtractionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 024F676C16A4A61D004A1201 /* InstantExtractionViewController.m */; };
0276253916B58D6000EE2F4E /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0276253816B58D6000EE2F4E /* SettingsViewController.m */; };
0276253C16B59E4C00EE2F4E /* Configuration.m in Sources */ = {isa = PBXBuildFile; fileRef = 0276253B16B59E4C00EE2F4E /* Configuration.m */; };
@@ -98,6 +99,7 @@
024CB03816C2EFD5009CBC15 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
024CC6AE16D0F33200F84F3D /* Threshold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Threshold.h; sourceTree = "<group>"; };
024CC6AF16D0F33200F84F3D /* Threshold.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Threshold.m; sourceTree = "<group>"; };
+ 024CC6EA16D6B36000F84F3D /* ibean-extraction-dropdown-background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ibean-extraction-dropdown-background.png"; path = "Graphics/ibean-extraction-dropdown-background.png"; sourceTree = "<group>"; };
024F676B16A4A61D004A1201 /* InstantExtractionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstantExtractionViewController.h; sourceTree = "<group>"; };
024F676C16A4A61D004A1201 /* InstantExtractionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InstantExtractionViewController.m; sourceTree = "<group>"; };
0276253716B58D6000EE2F4E /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsViewController.h; sourceTree = "<group>"; };
@@ -319,6 +321,7 @@
024CB02216C0543B009CBC15 /* Graphics */ = {
isa = PBXGroup;
children = (
+ 024CC6EA16D6B36000F84F3D /* ibean-extraction-dropdown-background.png */,
023AAB3D16C98B2A00B6886C /* ibean-beancell-bean.png */,
);
name = Graphics;
@@ -409,6 +412,7 @@
020C55B01691014E00D8224C /* Default-568h@2x.png in Resources */,
020C55BD169101FB00D8224C /* iPhoneStoryboard.storyboard in Resources */,
023AAB3E16C98B2A00B6886C /* ibean-beancell-bean.png in Resources */,
+ 024CC6EB16D6B36000F84F3D /* ibean-extraction-dropdown-background.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate b/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate
index f76b034..ca9b272 100644
--- a/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate
+++ b/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
diff --git a/iBean/iBean/.DS_Store b/iBean/iBean/.DS_Store
index 00a4276..e72bc32 100644
--- a/iBean/iBean/.DS_Store
+++ b/iBean/iBean/.DS_Store
Binary files differ
diff --git a/iBean/iBean/BeanCollectionExtractionViewController.h b/iBean/iBean/BeanCollectionExtractionViewController.h
index 88c8e92..79388f0 100644
--- a/iBean/iBean/BeanCollectionExtractionViewController.h
+++ b/iBean/iBean/BeanCollectionExtractionViewController.h
@@ -27,8 +27,10 @@
@property (weak, nonatomic) IBOutlet UITextView *beanCollectionNoteTextView;
@property (weak, nonatomic) IBOutlet UILabel *extractionProgressLabel;
@property (weak, nonatomic) IBOutlet UIButton *extractionButton;
+@property (weak, nonatomic) IBOutlet UIView *extractionTimerView;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *toggleExtractionTimerButton;
/* UI Actions */
- (IBAction) startExtraction:(id)sender;
-
+- (IBAction) showExtractionTimer:(id)sender;
@end
diff --git a/iBean/iBean/BeanCollectionExtractionViewController.m b/iBean/iBean/BeanCollectionExtractionViewController.m
index 7eeb574..21c27ba 100644
--- a/iBean/iBean/BeanCollectionExtractionViewController.m
+++ b/iBean/iBean/BeanCollectionExtractionViewController.m
@@ -13,6 +13,7 @@
#import "AppDelegate+Storage.h"
#import "UITableView+Extra.h"
#import "UIColor+Extra.h"
+#import <QuartzCore/QuartzCore.h>
@interface BeanCollectionExtractionViewController ()
@@ -33,6 +34,10 @@
{
[super viewDidLoad];
// Do any additional setup after loading the view.
+
+ //Bring the extraction timer view on top
+ [self.view bringSubviewToFront:self.extractionTimerView];
+
//[self.beanCollectionNoteTextView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed: @"textview-bg.png"]]];
}
@@ -65,7 +70,10 @@
if (self.beanCollection != nil)
{
self.navigationItem.title = self.beanCollection.name;
- self.extractionProgressLabel.text = [self.beanCollection.extractionTime stringValue];
+ self.extractionProgressLabel.text = [NSString stringWithFormat:@"%1.1f", [self.beanCollection.extractionTime doubleValue]];
+
+ //Make sure that extraction button always is non-toggled when entering the view.
+ self.toggleExtractionTimerButton.style = UIBarButtonItemStylePlain;
if (![self.beanCollection.note isEqualToString:@""])
{
@@ -124,8 +132,8 @@
NSLog(@"BeanCollectionExtractionViewController - timerInterrupted");
//Return UI to "Start extraction" state.
- [self.extractionButton setTitle:@"Start extraction" forState:UIControlStateNormal];
- self.extractionProgressLabel.text = [self.beanCollection.extractionTime stringValue];
+ [self.extractionButton setTitle:@"Start" forState:UIControlStateNormal];
+ self.extractionProgressLabel.text = [NSString stringWithFormat:@"%1.1f", [self.beanCollection.extractionTime doubleValue]];
self.extractionInProgress = NO;
}
@@ -140,7 +148,7 @@
if ([(AppDelegate*) [[UIApplication sharedApplication] delegate] getTimer] == nil || self.extractionInProgress == NO)
{
self.extractionProgress = [self.beanCollection.extractionTime doubleValue];
- [self.extractionButton setTitle:@"Stop extraction" forState:UIControlStateNormal];
+ [self.extractionButton setTitle:@"Stop" forState:UIControlStateNormal];
self.extractionInProgress = YES;
[(AppDelegate*) [[UIApplication sharedApplication] delegate] createTimer:self :@selector(updateExtractionProgress) :nil :YES];
@@ -151,6 +159,47 @@
}
}
+- (void) showExtractionTimer:(id)sender
+{
+ [UIView animateWithDuration:0.2f delay: 0.0f options: UIViewAnimationOptionCurveEaseInOut
+ animations:^{
+ if (self.extractionTimerView.frame.origin.y < 0)
+ {
+ self.toggleExtractionTimerButton.style = UIBarButtonItemStyleDone;
+ //Slide in
+ self.extractionTimerView.frame = CGRectMake(
+ self.extractionTimerView.frame.origin.x,
+ 0.0,
+ self.extractionTimerView.frame.size.width,
+ self.extractionTimerView.frame.size.height);
+
+ //Drop shadow
+ [self.extractionTimerView.layer setShadowColor:[UIColor blackColor].CGColor];
+ [self.extractionTimerView.layer setShadowOpacity:0.8];
+ [self.extractionTimerView.layer setShadowRadius:3.0];
+ [self.extractionTimerView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
+ }
+ else
+ {
+ self.toggleExtractionTimerButton.style = UIBarButtonItemStylePlain;
+ //Slide out
+ self.extractionTimerView.frame = CGRectMake(
+ self.extractionTimerView.frame.origin.x,
+ self.extractionTimerView.frame.size.height * -1,
+ self.extractionTimerView.frame.size.width,
+ self.extractionTimerView.frame.size.height);
+ //Remove shadow
+ //[self.extractionTimerView.layer setShadowOpacity:0.0];
+ [self.extractionTimerView.layer setShadowRadius:0.0];
+ [self.extractionTimerView.layer setShadowOffset:CGSizeMake(0.0, 0.0)];
+ }
+ }
+ completion:^(BOOL finished){
+ NSLog(@"Anim done!");
+ }
+ ];
+}
+
/*****************************************************
Delegates
*****************************************************/
diff --git a/iBean/iBean/Graphics/ibean-extraction-dropdown-background.png b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.png
new file mode 100644
index 0000000..07b0dd6
--- /dev/null
+++ b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.png
Binary files differ
diff --git a/iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm
new file mode 100644
index 0000000..a84fc61
--- /dev/null
+++ b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm
Binary files differ
diff --git a/iBean/iBean/iPhoneStoryboard.storyboard b/iBean/iBean/iPhoneStoryboard.storyboard
index c23e3fc..5856bcd 100644
--- a/iBean/iBean/iPhoneStoryboard.storyboard
+++ b/iBean/iBean/iPhoneStoryboard.storyboard
@@ -1101,13 +1101,54 @@
<rect key="frame" x="0.0" y="64" width="320" height="455"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
+ <view alpha="0.90000000000000002" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rra-M1-0R9">
+ <subviews>
+ <imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="ibean-extraction-dropdown-background.png" translatesAutoresizingMaskIntoConstraints="NO" id="8F1-ZM-Rbe"/>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="XX.x" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="05C-Wm-dzE">
+ <constraints>
+ <constraint firstAttribute="height" constant="62" id="dYg-S0-WR7"/>
+ </constraints>
+ <fontDescription key="fontDescription" type="system" pointSize="64"/>
+ <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+ <nil key="highlightedColor"/>
+ <color key="shadowColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
+ <size key="shadowOffset" width="0.0" height="1"/>
+ </label>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Eiq-kN-FyK">
+ <constraints>
+ <constraint firstAttribute="width" constant="94" id="jo6-rt-MJm"/>
+ </constraints>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
+ <state key="normal" title="Start">
+ <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <connections>
+ <action selector="startExtraction:" destination="aA5-tc-vwr" eventType="touchUpInside" id="8e4-x0-uqi"/>
+ </connections>
+ </button>
+ </subviews>
+ <color key="backgroundColor" cocoaTouchSystemColor="viewFlipsideBackgroundColor"/>
+ <constraints>
+ <constraint firstItem="8F1-ZM-Rbe" firstAttribute="leading" secondItem="rra-M1-0R9" secondAttribute="leading" type="default" id="Baw-6p-yOh"/>
+ <constraint firstItem="05C-Wm-dzE" firstAttribute="top" secondItem="rra-M1-0R9" secondAttribute="top" constant="57" id="P9H-mW-vwH"/>
+ <constraint firstItem="05C-Wm-dzE" firstAttribute="leading" secondItem="rra-M1-0R9" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="VFw-dV-has"/>
+ <constraint firstAttribute="trailing" secondItem="Eiq-kN-FyK" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="cpJ-7f-QAc"/>
+ <constraint firstItem="Eiq-kN-FyK" firstAttribute="top" secondItem="rra-M1-0R9" secondAttribute="top" constant="66" id="mbt-jO-WmY"/>
+ <constraint firstItem="Eiq-kN-FyK" firstAttribute="leading" secondItem="05C-Wm-dzE" secondAttribute="trailing" constant="8" symbolic="YES" type="default" id="oXH-Ha-Ash"/>
+ <constraint firstItem="8F1-ZM-Rbe" firstAttribute="bottom" secondItem="rra-M1-0R9" secondAttribute="bottom" type="default" id="qML-qu-7Zp"/>
+ <constraint firstItem="8F1-ZM-Rbe" firstAttribute="top" secondItem="rra-M1-0R9" secondAttribute="top" type="default" id="rgc-Ky-uZP"/>
+ </constraints>
+ </view>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lWi-pD-I1j" customClass="BeanCollectionExtractionScrollView">
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" dataMode="prototypes" style="plain" separatorStyle="none" allowsSelection="NO" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="nNM-14-LcQ">
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="89" id="ulf-w1-iKE"/>
- <constraint firstAttribute="width" constant="320" id="vRm-5F-Wp0"/>
</constraints>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="BeanCell" rowHeight="60" id="GFY-k6-GqL" customClass="BeanCell">
@@ -1186,51 +1227,42 @@
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
+ <constraint firstAttribute="bottom" secondItem="WyC-9J-FOJ" secondAttribute="bottom" constant="80" id="AnZ-Ou-PC5"/>
<constraint firstItem="nNM-14-LcQ" firstAttribute="leading" secondItem="lWi-pD-I1j" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="Fjx-gD-Ph5"/>
<constraint firstItem="nNM-14-LcQ" firstAttribute="top" secondItem="lWi-pD-I1j" secondAttribute="top" constant="20" symbolic="YES" type="default" id="FtY-Zh-q0q"/>
<constraint firstItem="WyC-9J-FOJ" firstAttribute="leading" secondItem="lWi-pD-I1j" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="Lb4-0U-ujx"/>
- <constraint firstItem="WyC-9J-FOJ" firstAttribute="centerX" secondItem="lWi-pD-I1j" secondAttribute="centerX" type="default" id="M8q-m1-I5x"/>
- <constraint firstAttribute="bottom" secondItem="WyC-9J-FOJ" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="ZJd-94-CmJ"/>
<constraint firstAttribute="trailing" secondItem="WyC-9J-FOJ" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="bjg-lY-kza"/>
<constraint firstItem="WyC-9J-FOJ" firstAttribute="top" secondItem="nNM-14-LcQ" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="fPM-8S-dGh"/>
<constraint firstAttribute="trailing" secondItem="nNM-14-LcQ" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="ffc-G9-gKf"/>
+ <constraint firstItem="nNM-14-LcQ" firstAttribute="centerX" secondItem="lWi-pD-I1j" secondAttribute="centerX" type="default" id="tjo-rC-SdR"/>
</constraints>
</scrollView>
- <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YJ7-1f-6ZW">
- <fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
- <state key="normal" title="Start extraction">
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
- <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
- </state>
- <connections>
- <action selector="startExtraction:" destination="aA5-tc-vwr" eventType="touchUpInside" id="VkN-OE-9wh"/>
- </connections>
- </button>
- <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Extraction counter" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OLN-e5-oOe">
- <fontDescription key="fontDescription" type="system" pointSize="17"/>
- <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
- <nil key="highlightedColor"/>
- </label>
</subviews>
- <color key="backgroundColor" red="0.34650985049999999" green="0.21581921879999999" blue="0.1054245046" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
+ <constraint firstItem="rra-M1-0R9" firstAttribute="top" secondItem="Wfz-bK-fv9" secondAttribute="top" constant="-250" id="0Pe-jV-Y9A"/>
<constraint firstItem="lWi-pD-I1j" firstAttribute="top" secondItem="Wfz-bK-fv9" secondAttribute="top" constant="-20" id="23s-Qj-OI3"/>
- <constraint firstAttribute="bottom" secondItem="OLN-e5-oOe" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="5Qr-Sh-PDH"/>
- <constraint firstItem="lWi-pD-I1j" firstAttribute="centerX" secondItem="Wfz-bK-fv9" secondAttribute="centerX" type="default" id="TpB-6n-I3J"/>
- <constraint firstAttribute="trailing" secondItem="YJ7-1f-6ZW" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="gAH-4W-K42"/>
- <constraint firstItem="OLN-e5-oOe" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="lYU-wl-w14"/>
- <constraint firstItem="YJ7-1f-6ZW" firstAttribute="top" secondItem="lWi-pD-I1j" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="oQd-Hn-Q7R"/>
- <constraint firstItem="YJ7-1f-6ZW" firstAttribute="centerY" secondItem="OLN-e5-oOe" secondAttribute="centerY" type="default" id="rZZ-sg-nWO"/>
+ <constraint firstItem="rra-M1-0R9" firstAttribute="centerX" secondItem="lWi-pD-I1j" secondAttribute="centerX" type="default" id="Q1f-lO-YVD"/>
+ <constraint firstItem="rra-M1-0R9" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" type="default" id="Xsh-N7-SFo"/>
+ <constraint firstItem="lWi-pD-I1j" firstAttribute="bottom" secondItem="Wfz-bK-fv9" secondAttribute="bottom" type="default" id="dSB-0x-tTb"/>
+ <constraint firstAttribute="bottom" secondItem="rra-M1-0R9" secondAttribute="bottom" constant="455" id="hdq-jm-LZE"/>
+ <constraint firstItem="lWi-pD-I1j" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" constant="-20" id="mLb-KI-AQj"/>
+ <constraint firstItem="rra-M1-0R9" firstAttribute="trailing" secondItem="Wfz-bK-fv9" secondAttribute="trailing" type="default" id="rkI-EU-Vo1"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="nKM-NZ-clm">
- <barButtonItem key="rightBarButtonItem" title="Extract!" id="ikw-nF-0l3"/>
+ <barButtonItem key="rightBarButtonItem" title="Extract!" id="ikw-nF-0l3">
+ <connections>
+ <action selector="showExtractionTimer:" destination="aA5-tc-vwr" id="HI3-s8-R1U"/>
+ </connections>
+ </barButtonItem>
</navigationItem>
<connections>
<outlet property="beanCollectionNoteTextView" destination="WyC-9J-FOJ" id="ajj-RC-E9O"/>
<outlet property="beanTableView" destination="nNM-14-LcQ" id="fOr-10-Kts"/>
- <outlet property="extractionButton" destination="YJ7-1f-6ZW" id="tvs-fK-NQd"/>
- <outlet property="extractionProgressLabel" destination="OLN-e5-oOe" id="X73-Gr-2yj"/>
+ <outlet property="extractionButton" destination="Eiq-kN-FyK" id="Jzg-9B-7Ve"/>
+ <outlet property="extractionProgressLabel" destination="05C-Wm-dzE" id="fPd-ul-hiL"/>
+ <outlet property="extractionTimerView" destination="rra-M1-0R9" id="Qae-E5-pcu"/>
+ <outlet property="toggleExtractionTimerButton" destination="ikw-nF-0l3" id="ZPG-GJ-AVM"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="ZA6-Ra-Cp0" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -1260,6 +1292,7 @@
</scenes>
<resources>
<image name="ibean-beancell-bean.png" width="200" height="198"/>
+ <image name="ibean-extraction-dropdown-background.png" width="320" height="240"/>
</resources>
<classes>
<class className="AddBeanViewController" superclassName="UIViewController">
@@ -1302,11 +1335,14 @@
<class className="BeanCollectionExtractionViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/BeanCollectionExtractionViewController.h"/>
<relationships>
+ <relationship kind="action" name="showExtractionTimer:"/>
<relationship kind="action" name="startExtraction:"/>
<relationship kind="outlet" name="beanCollectionNoteTextView" candidateClass="UITextView"/>
<relationship kind="outlet" name="beanTableView" candidateClass="UITableView"/>
<relationship kind="outlet" name="extractionButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="extractionProgressLabel" candidateClass="UILabel"/>
+ <relationship kind="outlet" name="extractionTimerView" candidateClass="UIView"/>
+ <relationship kind="outlet" name="toggleExtractionTimerButton" candidateClass="UIBarButtonItem"/>
</relationships>
</class>
<class className="BeanCollectionInfoViewController" superclassName="UIViewController">