Added a quick-start guide.
@ -28,6 +28,19 @@
|
||||
DA5BFA67147E415C00F98B1E /* OPMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5BFA66147E415C00F98B1E /* OPMainViewController.m */; };
|
||||
DA5DB7A614BE4B19002DD256 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5DB7A514BE4B19002DD256 /* Default.png */; };
|
||||
DA5DB7A814BE4B4B002DD256 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5DB7A714BE4B4B002DD256 /* Default@2x.png */; };
|
||||
DA6556FE14D730B700841C99 /* guide_page_1.png in Resources */ = {isa = PBXBuildFile; fileRef = DA6556F814D730B700841C99 /* guide_page_1.png */; };
|
||||
DA6556FF14D730B700841C99 /* guide_page_2.png in Resources */ = {isa = PBXBuildFile; fileRef = DA6556F914D730B700841C99 /* guide_page_2.png */; };
|
||||
DA65570014D730B700841C99 /* guide_page_3.png in Resources */ = {isa = PBXBuildFile; fileRef = DA6556FA14D730B700841C99 /* guide_page_3.png */; };
|
||||
DA65570114D730B700841C99 /* guide_page_4.png in Resources */ = {isa = PBXBuildFile; fileRef = DA6556FB14D730B700841C99 /* guide_page_4.png */; };
|
||||
DA65570214D730B700841C99 /* guide_page_5.png in Resources */ = {isa = PBXBuildFile; fileRef = DA6556FC14D730B700841C99 /* guide_page_5.png */; };
|
||||
DA65570314D730B700841C99 /* guide_page_6.png in Resources */ = {isa = PBXBuildFile; fileRef = DA6556FD14D730B700841C99 /* guide_page_6.png */; };
|
||||
DA65570614D731F000841C99 /* OPGuideViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA65570514D731F000841C99 /* OPGuideViewController.m */; };
|
||||
DA65570D14D760BD00841C99 /* guide_page_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA65570714D760BD00841C99 /* guide_page_1@2x.png */; };
|
||||
DA65570E14D760BD00841C99 /* guide_page_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA65570814D760BD00841C99 /* guide_page_2@2x.png */; };
|
||||
DA65570F14D760BD00841C99 /* guide_page_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA65570914D760BD00841C99 /* guide_page_3@2x.png */; };
|
||||
DA65571014D760BD00841C99 /* guide_page_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA65570A14D760BD00841C99 /* guide_page_4@2x.png */; };
|
||||
DA65571114D760BD00841C99 /* guide_page_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA65570B14D760BD00841C99 /* guide_page_5@2x.png */; };
|
||||
DA65571214D760BD00841C99 /* guide_page_6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA65570C14D760BD00841C99 /* guide_page_6@2x.png */; };
|
||||
DA684B7F14CF662700A497EC /* ui_background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA684B5014CF662700A497EC /* ui_background@2x.png */; };
|
||||
DA684B8014CF662700A497EC /* ui_box_checked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA684B5114CF662700A497EC /* ui_box_checked@2x.png */; };
|
||||
DA684B8114CF662700A497EC /* ui_box_empty@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA684B5214CF662700A497EC /* ui_box_empty@2x.png */; };
|
||||
@ -713,6 +726,20 @@
|
||||
DA5BFA66147E415C00F98B1E /* OPMainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OPMainViewController.m; sourceTree = "<group>"; };
|
||||
DA5DB7A514BE4B19002DD256 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = ../Default.png; sourceTree = "<group>"; };
|
||||
DA5DB7A714BE4B4B002DD256 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default@2x.png"; path = "../Default@2x.png"; sourceTree = "<group>"; };
|
||||
DA6556F814D730B700841C99 /* guide_page_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_1.png; sourceTree = "<group>"; };
|
||||
DA6556F914D730B700841C99 /* guide_page_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_2.png; sourceTree = "<group>"; };
|
||||
DA6556FA14D730B700841C99 /* guide_page_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_3.png; sourceTree = "<group>"; };
|
||||
DA6556FB14D730B700841C99 /* guide_page_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_4.png; sourceTree = "<group>"; };
|
||||
DA6556FC14D730B700841C99 /* guide_page_5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_5.png; sourceTree = "<group>"; };
|
||||
DA6556FD14D730B700841C99 /* guide_page_6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_6.png; sourceTree = "<group>"; };
|
||||
DA65570414D731F000841C99 /* OPGuideViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPGuideViewController.h; sourceTree = "<group>"; };
|
||||
DA65570514D731F000841C99 /* OPGuideViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPGuideViewController.m; sourceTree = "<group>"; };
|
||||
DA65570714D760BD00841C99 /* guide_page_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_1@2x.png"; sourceTree = "<group>"; };
|
||||
DA65570814D760BD00841C99 /* guide_page_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_2@2x.png"; sourceTree = "<group>"; };
|
||||
DA65570914D760BD00841C99 /* guide_page_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_3@2x.png"; sourceTree = "<group>"; };
|
||||
DA65570A14D760BD00841C99 /* guide_page_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_4@2x.png"; sourceTree = "<group>"; };
|
||||
DA65570B14D760BD00841C99 /* guide_page_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_5@2x.png"; sourceTree = "<group>"; };
|
||||
DA65570C14D760BD00841C99 /* guide_page_6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_6@2x.png"; sourceTree = "<group>"; };
|
||||
DA684B5014CF662700A497EC /* ui_background@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_background@2x.png"; sourceTree = "<group>"; };
|
||||
DA684B5114CF662700A497EC /* ui_box_checked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_box_checked@2x.png"; sourceTree = "<group>"; };
|
||||
DA684B5214CF662700A497EC /* ui_box_empty@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_box_empty@2x.png"; sourceTree = "<group>"; };
|
||||
@ -1780,6 +1807,8 @@
|
||||
DA5BFA5A147E415C00F98B1E /* OPAppDelegate.m */,
|
||||
DA5BFA65147E415C00F98B1E /* OPMainViewController.h */,
|
||||
DA5BFA66147E415C00F98B1E /* OPMainViewController.m */,
|
||||
DA65570414D731F000841C99 /* OPGuideViewController.h */,
|
||||
DA65570514D731F000841C99 /* OPGuideViewController.m */,
|
||||
DA55B2A014B4EB46001131B7 /* OPSearchDelegate.h */,
|
||||
DA55B2A114B4EB46001131B7 /* OPSearchDelegate.m */,
|
||||
DAC781341482E67300BCF976 /* OPRecentViewController.h */,
|
||||
@ -1801,6 +1830,7 @@
|
||||
DA5BFA51147E415C00F98B1E /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DA6556F714D730B700841C99 /* Guide */,
|
||||
DAA3B80414CDBBC600F35AF6 /* jquery-1.6.1.min.js */,
|
||||
DA84811E14CB50C100A2FA22 /* Tooltips */,
|
||||
DA0B951214C37486001D4EB1 /* Insignia */,
|
||||
@ -1827,6 +1857,26 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DA6556F714D730B700841C99 /* Guide */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DA65570714D760BD00841C99 /* guide_page_1@2x.png */,
|
||||
DA65570814D760BD00841C99 /* guide_page_2@2x.png */,
|
||||
DA65570914D760BD00841C99 /* guide_page_3@2x.png */,
|
||||
DA65570A14D760BD00841C99 /* guide_page_4@2x.png */,
|
||||
DA65570B14D760BD00841C99 /* guide_page_5@2x.png */,
|
||||
DA65570C14D760BD00841C99 /* guide_page_6@2x.png */,
|
||||
DA6556F814D730B700841C99 /* guide_page_1.png */,
|
||||
DA6556F914D730B700841C99 /* guide_page_2.png */,
|
||||
DA6556FA14D730B700841C99 /* guide_page_3.png */,
|
||||
DA6556FB14D730B700841C99 /* guide_page_4.png */,
|
||||
DA6556FC14D730B700841C99 /* guide_page_5.png */,
|
||||
DA6556FD14D730B700841C99 /* guide_page_6.png */,
|
||||
);
|
||||
name = Guide;
|
||||
path = Resources/Guide;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DA7C28A214AF02A000491972 /* Models */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -2922,6 +2972,18 @@
|
||||
DA684BE714CF6B0E00A497EC /* tip_location_mercury@2x.png in Resources */,
|
||||
DA684BE814CF6B0E00A497EC /* tip_location_teal@2x.png in Resources */,
|
||||
DA684BE914CF6B0E00A497EC /* tip_location_wood@2x.png in Resources */,
|
||||
DA6556FE14D730B700841C99 /* guide_page_1.png in Resources */,
|
||||
DA6556FF14D730B700841C99 /* guide_page_2.png in Resources */,
|
||||
DA65570014D730B700841C99 /* guide_page_3.png in Resources */,
|
||||
DA65570114D730B700841C99 /* guide_page_4.png in Resources */,
|
||||
DA65570214D730B700841C99 /* guide_page_5.png in Resources */,
|
||||
DA65570314D730B700841C99 /* guide_page_6.png in Resources */,
|
||||
DA65570D14D760BD00841C99 /* guide_page_1@2x.png in Resources */,
|
||||
DA65570E14D760BD00841C99 /* guide_page_2@2x.png in Resources */,
|
||||
DA65570F14D760BD00841C99 /* guide_page_3@2x.png in Resources */,
|
||||
DA65571014D760BD00841C99 /* guide_page_4@2x.png in Resources */,
|
||||
DA65571114D760BD00841C99 /* guide_page_5@2x.png in Resources */,
|
||||
DA65571214D760BD00841C99 /* guide_page_6@2x.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -2963,6 +3025,7 @@
|
||||
DA55B2A214B4EB47001131B7 /* OPSearchDelegate.m in Sources */,
|
||||
DA0A848C14C4DFCB0090EA8E /* OPElementGeneratedEntity.m in Sources */,
|
||||
DAA3B81414CDC77100F35AF6 /* jquery-1.6.1.min.js in Sources */,
|
||||
DA65570614D731F000841C99 /* OPGuideViewController.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.0" toolsVersion="1938" systemVersion="11C74" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="KZF-fe-y9n">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.0" toolsVersion="1938" systemVersion="11D50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="KZF-fe-y9n">
|
||||
<dependencies>
|
||||
<development defaultVersion="4200" identifier="xcode"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="933"/>
|
||||
@ -616,26 +616,66 @@ L4m3P4sSw0rD</string>
|
||||
<scene sceneID="Rt1-b4-sUB">
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="7yf-G7-kVy" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<viewController id="qz3-eG-aEi" sceneMemberID="viewController">
|
||||
<viewController id="qz3-eG-aEi" customClass="OPGuideViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="cwa-ct-2DY">
|
||||
<rect key="frame" x="0.0" y="20" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="app.png" id="vz0-cw-aVL">
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" pagingEnabled="YES" showsVerticalScrollIndicator="NO" id="Nr4-hi-8b2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<view alpha="0.80000000000000004" contentMode="scaleToFill" id="XR2-Mq-TMD">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="viewFlipsideBackgroundColor"/>
|
||||
</view>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_1.png" id="eJP-cS-VRU">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_2.png" id="1J9-z9-h96">
|
||||
<rect key="frame" x="320" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_3.png" id="8kf-Wm-F3L">
|
||||
<rect key="frame" x="640" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_4.png" id="H5W-P4-o7O">
|
||||
<rect key="frame" x="960" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_5.png" id="IXz-T9-Umi">
|
||||
<rect key="frame" x="1280" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_6.png" id="Hd0-Or-naq">
|
||||
<rect key="frame" x="1280" y="0.0" width="320" height="460"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" reversesTitleShadowWhenHighlighted="YES" lineBreakMode="middleTruncation" id="q93-J1-auj">
|
||||
<rect key="frame" x="1290" y="394" width="300" height="46"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||
<size key="titleShadowOffset" width="0.0" height="1"/>
|
||||
<state key="normal" title="Get started" backgroundImage="ui_button_green_large.png">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="titleShadowColor" red="0.194560533886145" green="0.30086678832116787" blue="0.1263640535337863" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<state key="highlighted">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="close" destination="qz3-eG-aEi" eventType="touchUpInside" id="uYR-EJ-U6H"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="scrollView" destination="Nr4-hi-8b2" id="8QD-sv-vu6"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="455" y="793"/>
|
||||
<point key="canvasLocation" x="455" y="785"/>
|
||||
</scene>
|
||||
<scene sceneID="8r0-wA-Zre">
|
||||
<objects>
|
||||
@ -650,22 +690,29 @@ L4m3P4sSw0rD</string>
|
||||
<nil name="viewControllers"/>
|
||||
<connections>
|
||||
<segue destination="PQa-Xl-A3x" kind="relationship" relationship="rootViewController" id="LUg-eF-JQd"/>
|
||||
<segue destination="qz3-eG-aEi" kind="modal" identifier="OP_Guide" id="vyG-wN-8hU"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-51" y="182"/>
|
||||
<point key="canvasLocation" x="-85" y="182"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="Content-Backdrop.png" width="480" height="480"/>
|
||||
<image name="Square-bottom.png" width="551" height="58"/>
|
||||
<image name="app.png" width="320" height="480"/>
|
||||
<image name="guide_page_1.png" width="320" height="480"/>
|
||||
<image name="guide_page_2.png" width="320" height="480"/>
|
||||
<image name="guide_page_3.png" width="320" height="480"/>
|
||||
<image name="guide_page_4.png" width="320" height="480"/>
|
||||
<image name="guide_page_5.png" width="320" height="480"/>
|
||||
<image name="guide_page_6.png" width="320" height="480"/>
|
||||
<image name="icon_cancel.png" width="32" height="32"/>
|
||||
<image name="icon_edit.png" width="32" height="32"/>
|
||||
<image name="icon_plus.png" width="32" height="32"/>
|
||||
<image name="icon_question.png" width="32" height="32"/>
|
||||
<image name="tip_alert_black.png" width="235" height="81"/>
|
||||
<image name="tip_basic_black.png" width="210" height="60"/>
|
||||
<image name="ui_button_green_large.png" width="300" height="46"/>
|
||||
<image name="ui_button_standard_large.png" width="300" height="46"/>
|
||||
<image name="ui_list_first.png" width="300" height="35"/>
|
||||
<image name="ui_list_last.png" width="300" height="35"/>
|
||||
@ -673,6 +720,53 @@ L4m3P4sSw0rD</string>
|
||||
<image name="ui_panel_container.png" width="300" height="87"/>
|
||||
<image name="ui_panel_display.png" width="300" height="86"/>
|
||||
</resources>
|
||||
<classes>
|
||||
<class className="OPGuideViewController" superclassName="UIViewController">
|
||||
<source key="sourceIdentifier" type="project" relativePath="./Classes/OPGuideViewController.h"/>
|
||||
<relationships>
|
||||
<relationship kind="action" name="close"/>
|
||||
<relationship kind="outlet" name="scrollView" candidateClass="UIScrollView"/>
|
||||
</relationships>
|
||||
</class>
|
||||
<class className="OPMainViewController" superclassName="UIViewController">
|
||||
<source key="sourceIdentifier" type="project" relativePath="./Classes/OPMainViewController.h"/>
|
||||
<relationships>
|
||||
<relationship kind="action" name="closeAlert"/>
|
||||
<relationship kind="action" name="copyContent"/>
|
||||
<relationship kind="action" name="editPassword"/>
|
||||
<relationship kind="action" name="incrementPasswordCounter"/>
|
||||
<relationship kind="action" name="toggleHelp"/>
|
||||
<relationship kind="outlet" name="alertBody" candidateClass="UITextView"/>
|
||||
<relationship kind="outlet" name="alertContainer" candidateClass="UIView"/>
|
||||
<relationship kind="outlet" name="alertTitle" candidateClass="UILabel"/>
|
||||
<relationship kind="outlet" name="contentContainer" candidateClass="UIView"/>
|
||||
<relationship kind="outlet" name="contentField" candidateClass="UITextField"/>
|
||||
<relationship kind="outlet" name="contentTipBody" candidateClass="UILabel"/>
|
||||
<relationship kind="outlet" name="contentTipContainer" candidateClass="UIView"/>
|
||||
<relationship kind="outlet" name="contentTipEditIcon" candidateClass="UIImageView"/>
|
||||
<relationship kind="outlet" name="helpContainer" candidateClass="UIView"/>
|
||||
<relationship kind="outlet" name="helpView" candidateClass="UIWebView"/>
|
||||
<relationship kind="outlet" name="passwordCounter" candidateClass="UILabel"/>
|
||||
<relationship kind="outlet" name="passwordEdit" candidateClass="UIButton"/>
|
||||
<relationship kind="outlet" name="passwordIncrementer" candidateClass="UIButton"/>
|
||||
<relationship kind="outlet" name="searchResultsController" candidateClass="OPSearchDelegate"/>
|
||||
<relationship kind="outlet" name="searchTipContainer" candidateClass="UIView"/>
|
||||
<relationship kind="outlet" name="siteName" candidateClass="UILabel"/>
|
||||
<relationship kind="outlet" name="typeButton" candidateClass="UIButton"/>
|
||||
</relationships>
|
||||
</class>
|
||||
<class className="OPSearchDelegate" superclassName="NSObject">
|
||||
<source key="sourceIdentifier" type="project" relativePath="./Classes/OPSearchDelegate.h"/>
|
||||
<relationships>
|
||||
<relationship kind="outlet" name="delegate"/>
|
||||
<relationship kind="outlet" name="searchDisplayController" candidateClass="UISearchDisplayController"/>
|
||||
<relationship kind="outlet" name="searchTipContainer" candidateClass="UIView"/>
|
||||
</relationships>
|
||||
</class>
|
||||
<class className="OPTypeViewController" superclassName="UITableViewController">
|
||||
<source key="sourceIdentifier" type="project" relativePath="./Classes/OPTypeViewController.h"/>
|
||||
</class>
|
||||
</classes>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
|
@ -24,4 +24,7 @@
|
||||
- (void)saveContext;
|
||||
- (NSURL *)applicationDocumentsDirectory;
|
||||
|
||||
- (void)showGuide;
|
||||
- (void)loadKeyPhrase;
|
||||
|
||||
@end
|
||||
|
@ -15,7 +15,6 @@
|
||||
+ (NSDictionary *)keyPhraseQuery;
|
||||
+ (NSDictionary *)keyPhraseHashQuery;
|
||||
|
||||
- (void)loadKeyPhrase;
|
||||
- (void)forgetKeyPhrase;
|
||||
- (void)loadStoredKeyPhrase;
|
||||
- (void)askKeyPhrase;
|
||||
@ -122,7 +121,15 @@
|
||||
}
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
|
||||
[self loadKeyPhrase];
|
||||
if ([[OPConfig get].firstRun boolValue])
|
||||
[self showGuide];
|
||||
else
|
||||
[self loadKeyPhrase];
|
||||
}
|
||||
|
||||
- (void)showGuide {
|
||||
|
||||
[self.navigationController performSegueWithIdentifier:@"OP_Guide" sender:self];
|
||||
}
|
||||
|
||||
- (void)loadKeyPhrase {
|
||||
|
17
OnePassword/OPGuideViewController.h
Normal file
@ -0,0 +1,17 @@
|
||||
//
|
||||
// OPGuideViewController.h
|
||||
// OnePassword
|
||||
//
|
||||
// Created by Maarten Billemont on 30/01/12.
|
||||
// Copyright (c) 2012 Lyndir. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface OPGuideViewController : UIViewController
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
|
||||
|
||||
- (IBAction)close;
|
||||
|
||||
@end
|
45
OnePassword/OPGuideViewController.m
Normal file
@ -0,0 +1,45 @@
|
||||
//
|
||||
// OPGuideViewController.m
|
||||
// OnePassword
|
||||
//
|
||||
// Created by Maarten Billemont on 30/01/12.
|
||||
// Copyright (c) 2012 Lyndir. All rights reserved.
|
||||
//
|
||||
|
||||
#import "OPGuideViewController.h"
|
||||
#import "OPAppDelegate.h"
|
||||
|
||||
@implementation OPGuideViewController
|
||||
@synthesize scrollView;
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
|
||||
return (interfaceOrientation == UIInterfaceOrientationPortrait);
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
||||
[super viewDidLoad];
|
||||
|
||||
[UIUtils autoSizeContent:self.scrollView];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
|
||||
[super viewWillDisappear:animated];
|
||||
|
||||
[[OPAppDelegate get] loadKeyPhrase];
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
|
||||
[self setScrollView:nil];
|
||||
[super viewDidUnload];
|
||||
}
|
||||
|
||||
- (IBAction)close {
|
||||
|
||||
[self.presentingViewController dismissModalViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
@end
|
@ -64,13 +64,8 @@
|
||||
|
||||
[super viewWillAppear:animated];
|
||||
|
||||
if (![self.searchTipContainer.superview isKindOfClass:[UIWindow class]]) {
|
||||
// Put the search tip on the window so it's above the nav bar.
|
||||
[self.searchTipContainer removeFromSuperview];
|
||||
[[UIApplication sharedApplication].keyWindow addSubview:self.searchTipContainer];
|
||||
self.searchTipContainer.frame = CGRectSetY(self.searchTipContainer.frame, self.searchTipContainer.frame.origin.y
|
||||
+ self.navigationController.navigationBar.frame.size.height /* Nav */ + 20 /* Status */);
|
||||
}
|
||||
self.searchTipContainer.hidden = NO;
|
||||
|
||||
if (!self.activeElement.name)
|
||||
[UIView animateWithDuration:animated? 0.2f: 0 animations:^{
|
||||
self.searchTipContainer.alpha = 1;
|
||||
@ -80,8 +75,22 @@
|
||||
[self updateAnimated:NO];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
|
||||
[super viewWillDisappear:animated];
|
||||
|
||||
self.searchTipContainer.hidden = YES;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
||||
// Put the search tip on the window so it's above the nav bar.
|
||||
// [self.searchTipContainer removeFromSuperview];
|
||||
// [[UIApplication sharedApplication].keyWindow addSubview:self.searchTipContainer];
|
||||
// self.searchTipContainer.frame = CGRectSetY(self.searchTipContainer.frame, self.searchTipContainer.frame.origin.y
|
||||
// + self.navigationController.navigationBar.frame.size.height /* Nav */ + 20 /* Status */);
|
||||
self.searchTipContainer.hidden = YES;
|
||||
|
||||
// Because IB's edit button doesn't auto-toggle self.editable like editButtonItem does.
|
||||
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"ui_background"]];
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillResignActiveNotification object:nil queue:[NSOperationQueue mainQueue]
|
||||
@ -368,7 +377,7 @@
|
||||
[[UIApplication sharedApplication] openURL:[request URL]];
|
||||
return NO;
|
||||
}
|
||||
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>©2011-2012, Lyndir</string>
|
||||
<string>© 2011-2012, Lyndir</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>MainStoryboard_iPhone</string>
|
||||
<key>UIMainStoryboardFile~ipad</key>
|
||||
|
BIN
OnePassword/Resources/Guide/guide_page_1.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
OnePassword/Resources/Guide/guide_page_1@2x.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
OnePassword/Resources/Guide/guide_page_2.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
OnePassword/Resources/Guide/guide_page_2@2x.png
Normal file
After Width: | Height: | Size: 338 KiB |
BIN
OnePassword/Resources/Guide/guide_page_3.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
OnePassword/Resources/Guide/guide_page_3@2x.png
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
OnePassword/Resources/Guide/guide_page_4.png
Normal file
After Width: | Height: | Size: 147 KiB |
BIN
OnePassword/Resources/Guide/guide_page_4@2x.png
Normal file
After Width: | Height: | Size: 399 KiB |
BIN
OnePassword/Resources/Guide/guide_page_5.png
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
OnePassword/Resources/Guide/guide_page_5@2x.png
Normal file
After Width: | Height: | Size: 400 KiB |
BIN
OnePassword/Resources/Guide/guide_page_6.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
OnePassword/Resources/Guide/guide_page_6@2x.png
Normal file
After Width: | Height: | Size: 255 KiB |
@ -24,7 +24,7 @@ done
|
||||
|
||||
echo
|
||||
emit "Converting @2x artwork"
|
||||
for file in ./*@2x.png; do
|
||||
for file in ./{,Guide/}*@2x.png; do
|
||||
inArray "${file##*/}" "${icons[@]}" && continue
|
||||
|
||||
emit "${file/@2x}" --
|
||||
|