Show guide only first time + improved guide docs.
BIN
Default@2x.png
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 502 KiB |
2
External/Pearl
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 905b44a5aa28319230d36842f9431d76411c146d
|
Subproject commit 203a779802b8aa6c330b5f8a88c6611925bd0968
|
@ -15,6 +15,8 @@
|
|||||||
DA34DA0D14B1BC7D00F721C1 /* OPElementStoredEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34DA0C14B1BC7D00F721C1 /* OPElementStoredEntity.m */; };
|
DA34DA0D14B1BC7D00F721C1 /* OPElementStoredEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34DA0C14B1BC7D00F721C1 /* OPElementStoredEntity.m */; };
|
||||||
DA34DA1114B1BC7E00F721C1 /* OPElementEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34DA1014B1BC7E00F721C1 /* OPElementEntity.m */; };
|
DA34DA1114B1BC7E00F721C1 /* OPElementEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34DA1014B1BC7E00F721C1 /* OPElementEntity.m */; };
|
||||||
DA34DA1614B1BEA100F721C1 /* OPTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34DA1514B1BEA100F721C1 /* OPTypes.m */; };
|
DA34DA1614B1BEA100F721C1 /* OPTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34DA1514B1BEA100F721C1 /* OPTypes.m */; };
|
||||||
|
DA41A40B14DB3BF100638533 /* guide_page_0.png in Resources */ = {isa = PBXBuildFile; fileRef = DA41A40914DB3BF100638533 /* guide_page_0.png */; };
|
||||||
|
DA41A40C14DB3BF100638533 /* guide_page_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA41A40A14DB3BF100638533 /* guide_page_0@2x.png */; };
|
||||||
DA55B29E14B38272001131B7 /* OPContentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA55B29D14B38272001131B7 /* OPContentViewController.m */; };
|
DA55B29E14B38272001131B7 /* OPContentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA55B29D14B38272001131B7 /* OPContentViewController.m */; };
|
||||||
DA55B2A214B4EB47001131B7 /* OPSearchDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DA55B2A114B4EB46001131B7 /* OPSearchDelegate.m */; };
|
DA55B2A214B4EB47001131B7 /* OPSearchDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DA55B2A114B4EB46001131B7 /* OPSearchDelegate.m */; };
|
||||||
DA5BFA49147E415C00F98B1E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA48147E415C00F98B1E /* UIKit.framework */; };
|
DA5BFA49147E415C00F98B1E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA48147E415C00F98B1E /* UIKit.framework */; };
|
||||||
@ -706,6 +708,8 @@
|
|||||||
DA34DA1014B1BC7E00F721C1 /* OPElementEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPElementEntity.m; sourceTree = "<group>"; };
|
DA34DA1014B1BC7E00F721C1 /* OPElementEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPElementEntity.m; sourceTree = "<group>"; };
|
||||||
DA34DA1414B1BEA100F721C1 /* OPTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPTypes.h; sourceTree = "<group>"; };
|
DA34DA1414B1BEA100F721C1 /* OPTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPTypes.h; sourceTree = "<group>"; };
|
||||||
DA34DA1514B1BEA100F721C1 /* OPTypes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPTypes.m; sourceTree = "<group>"; };
|
DA34DA1514B1BEA100F721C1 /* OPTypes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPTypes.m; sourceTree = "<group>"; };
|
||||||
|
DA41A40914DB3BF100638533 /* guide_page_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = guide_page_0.png; sourceTree = "<group>"; };
|
||||||
|
DA41A40A14DB3BF100638533 /* guide_page_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "guide_page_0@2x.png"; sourceTree = "<group>"; };
|
||||||
DA55B29C14B38272001131B7 /* OPContentViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPContentViewController.h; sourceTree = "<group>"; };
|
DA55B29C14B38272001131B7 /* OPContentViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPContentViewController.h; sourceTree = "<group>"; };
|
||||||
DA55B29D14B38272001131B7 /* OPContentViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPContentViewController.m; sourceTree = "<group>"; };
|
DA55B29D14B38272001131B7 /* OPContentViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPContentViewController.m; sourceTree = "<group>"; };
|
||||||
DA55B2A014B4EB46001131B7 /* OPSearchDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPSearchDelegate.h; sourceTree = "<group>"; };
|
DA55B2A014B4EB46001131B7 /* OPSearchDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPSearchDelegate.h; sourceTree = "<group>"; };
|
||||||
@ -1860,12 +1864,14 @@
|
|||||||
DA6556F714D730B700841C99 /* Guide */ = {
|
DA6556F714D730B700841C99 /* Guide */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
DA41A40A14DB3BF100638533 /* guide_page_0@2x.png */,
|
||||||
DA65570714D760BD00841C99 /* guide_page_1@2x.png */,
|
DA65570714D760BD00841C99 /* guide_page_1@2x.png */,
|
||||||
DA65570814D760BD00841C99 /* guide_page_2@2x.png */,
|
DA65570814D760BD00841C99 /* guide_page_2@2x.png */,
|
||||||
DA65570914D760BD00841C99 /* guide_page_3@2x.png */,
|
DA65570914D760BD00841C99 /* guide_page_3@2x.png */,
|
||||||
DA65570A14D760BD00841C99 /* guide_page_4@2x.png */,
|
DA65570A14D760BD00841C99 /* guide_page_4@2x.png */,
|
||||||
DA65570B14D760BD00841C99 /* guide_page_5@2x.png */,
|
DA65570B14D760BD00841C99 /* guide_page_5@2x.png */,
|
||||||
DA65570C14D760BD00841C99 /* guide_page_6@2x.png */,
|
DA65570C14D760BD00841C99 /* guide_page_6@2x.png */,
|
||||||
|
DA41A40914DB3BF100638533 /* guide_page_0.png */,
|
||||||
DA6556F814D730B700841C99 /* guide_page_1.png */,
|
DA6556F814D730B700841C99 /* guide_page_1.png */,
|
||||||
DA6556F914D730B700841C99 /* guide_page_2.png */,
|
DA6556F914D730B700841C99 /* guide_page_2.png */,
|
||||||
DA6556FA14D730B700841C99 /* guide_page_3.png */,
|
DA6556FA14D730B700841C99 /* guide_page_3.png */,
|
||||||
@ -2317,9 +2323,9 @@
|
|||||||
/* End PBXHeadersBuildPhase section */
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
DA5BFA43147E415C00F98B1E /* OnePassword */ = {
|
DA5BFA43147E415C00F98B1E /* MasterPassword */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = DA5BFA6D147E415C00F98B1E /* Build configuration list for PBXNativeTarget "OnePassword" */;
|
buildConfigurationList = DA5BFA6D147E415C00F98B1E /* Build configuration list for PBXNativeTarget "MasterPassword" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
DA5BFA40147E415C00F98B1E /* Sources */,
|
DA5BFA40147E415C00F98B1E /* Sources */,
|
||||||
DA5BFA41147E415C00F98B1E /* Frameworks */,
|
DA5BFA41147E415C00F98B1E /* Frameworks */,
|
||||||
@ -2331,7 +2337,7 @@
|
|||||||
dependencies = (
|
dependencies = (
|
||||||
DAC63282148681190075AEA5 /* PBXTargetDependency */,
|
DAC63282148681190075AEA5 /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
name = OnePassword;
|
name = MasterPassword;
|
||||||
productName = OnePassword;
|
productName = OnePassword;
|
||||||
productReference = DA5BFA44147E415C00F98B1E /* OnePassword.app */;
|
productReference = DA5BFA44147E415C00F98B1E /* OnePassword.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
@ -2412,7 +2418,7 @@
|
|||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
DA5BFA43147E415C00F98B1E /* OnePassword */,
|
DA5BFA43147E415C00F98B1E /* MasterPassword */,
|
||||||
DAC77CAC148291A600BCF976 /* Pearl */,
|
DAC77CAC148291A600BCF976 /* Pearl */,
|
||||||
DAC6325C1486805C0075AEA5 /* uicolor-utilities */,
|
DAC6325C1486805C0075AEA5 /* uicolor-utilities */,
|
||||||
DAC6326B148680650075AEA5 /* jrswizzle */,
|
DAC6326B148680650075AEA5 /* jrswizzle */,
|
||||||
@ -2984,6 +2990,8 @@
|
|||||||
DA65571014D760BD00841C99 /* guide_page_4@2x.png in Resources */,
|
DA65571014D760BD00841C99 /* guide_page_4@2x.png in Resources */,
|
||||||
DA65571114D760BD00841C99 /* guide_page_5@2x.png in Resources */,
|
DA65571114D760BD00841C99 /* guide_page_5@2x.png in Resources */,
|
||||||
DA65571214D760BD00841C99 /* guide_page_6@2x.png in Resources */,
|
DA65571214D760BD00841C99 /* guide_page_6@2x.png in Resources */,
|
||||||
|
DA41A40B14DB3BF100638533 /* guide_page_0.png in Resources */,
|
||||||
|
DA41A40C14DB3BF100638533 /* guide_page_0@2x.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -3281,7 +3289,7 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
DA5BFA6D147E415C00F98B1E /* Build configuration list for PBXNativeTarget "OnePassword" */ = {
|
DA5BFA6D147E415C00F98B1E /* Build configuration list for PBXNativeTarget "MasterPassword" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
DA5BFA6E147E415C00F98B1E /* Debug */,
|
DA5BFA6E147E415C00F98B1E /* Debug */,
|
||||||
|
@ -346,7 +346,7 @@ The passwords aren't saved anywhere. This is a major advantage: if you loose yo
|
|||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" alpha="0.80000000000000004" contentMode="scaleToFill" image="ui_panel_container.png" id="0Yh-Py-lB6">
|
<imageView userInteractionEnabled="NO" alpha="0.80000000000000004" contentMode="scaleToFill" image="ui_panel_container.png" id="0Yh-Py-lB6">
|
||||||
<rect key="frame" x="11" y="20" width="298" height="87"/>
|
<rect key="frame" x="11" y="20" width="298" height="87"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
<rect key="contentStretch" x="0.050000000000000003" y="0.10000000000000001" width="0.89999999999999991" height="0.79999999999999982"/>
|
<rect key="contentStretch" x="0.050000000000000003" y="0.10000000000000001" width="0.89999999999999991" height="0.79999999999999982"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" alpha="0.80000001192092896" contentMode="scaleToFill" image="ui_panel_display.png" id="cw7-HD-Wht">
|
<imageView userInteractionEnabled="NO" alpha="0.80000001192092896" contentMode="scaleToFill" image="ui_panel_display.png" id="cw7-HD-Wht">
|
||||||
@ -625,32 +625,36 @@ L4m3P4sSw0rD</string>
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_1.png" id="eJP-cS-VRU">
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_0.png" id="eJP-cS-VRU">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_2.png" id="1J9-z9-h96">
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_1.png" id="1J9-z9-h96">
|
||||||
<rect key="frame" x="320" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="320" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_3.png" id="8kf-Wm-F3L">
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_2.png" id="8kf-Wm-F3L">
|
||||||
<rect key="frame" x="640" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="640" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_4.png" id="H5W-P4-o7O">
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_3.png" id="H5W-P4-o7O">
|
||||||
<rect key="frame" x="960" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="960" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_5.png" id="IXz-T9-Umi">
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_4.png" id="IXz-T9-Umi">
|
||||||
<rect key="frame" x="1280" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="1280" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_6.png" id="Hd0-Or-naq">
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_5.png" id="Hd0-Or-naq">
|
||||||
<rect key="frame" x="1280" y="0.0" width="320" height="460"/>
|
<rect key="frame" x="1280" y="0.0" width="320" height="460"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
|
<imageView userInteractionEnabled="NO" contentMode="bottom" image="guide_page_6.png" id="1jq-Ic-GVZ">
|
||||||
|
<rect key="frame" x="1600" 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">
|
<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"/>
|
<rect key="frame" x="1610" y="394" width="300" height="46"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||||
<size key="titleShadowOffset" width="0.0" height="1"/>
|
<size key="titleShadowOffset" width="0.0" height="1"/>
|
||||||
@ -700,6 +704,7 @@ L4m3P4sSw0rD</string>
|
|||||||
<resources>
|
<resources>
|
||||||
<image name="Content-Backdrop.png" width="480" height="480"/>
|
<image name="Content-Backdrop.png" width="480" height="480"/>
|
||||||
<image name="Square-bottom.png" width="551" height="58"/>
|
<image name="Square-bottom.png" width="551" height="58"/>
|
||||||
|
<image name="guide_page_0.png" width="320" height="480"/>
|
||||||
<image name="guide_page_1.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_2.png" width="320" height="480"/>
|
||||||
<image name="guide_page_3.png" width="320" height="480"/>
|
<image name="guide_page_3.png" width="320" height="480"/>
|
||||||
|
@ -121,7 +121,7 @@
|
|||||||
}
|
}
|
||||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||||
|
|
||||||
if ([[OPConfig get].firstRun boolValue])
|
if ([[OPConfig get].showQuickstart boolValue])
|
||||||
[self showGuide];
|
[self showGuide];
|
||||||
else
|
else
|
||||||
[self loadKeyPhrase];
|
[self loadKeyPhrase];
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
@property (nonatomic, retain) NSNumber *rememberKeyPhrase;
|
@property (nonatomic, retain) NSNumber *rememberKeyPhrase;
|
||||||
@property (nonatomic, retain) NSNumber *forgetKeyPhrase;
|
@property (nonatomic, retain) NSNumber *forgetKeyPhrase;
|
||||||
@property (nonatomic, retain) NSNumber *helpHidden;
|
@property (nonatomic, retain) NSNumber *helpHidden;
|
||||||
|
@property (nonatomic, retain) NSNumber *showQuickstart;
|
||||||
|
|
||||||
+ (OPConfig *)get;
|
+ (OPConfig *)get;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
@implementation OPConfig
|
@implementation OPConfig
|
||||||
|
|
||||||
@dynamic dataStoreError, storeKeyPhrase, rememberKeyPhrase, forgetKeyPhrase, helpHidden;
|
@dynamic dataStoreError, storeKeyPhrase, rememberKeyPhrase, forgetKeyPhrase, helpHidden, showQuickstart;
|
||||||
|
|
||||||
|
|
||||||
- (id)init {
|
- (id)init {
|
||||||
@ -24,6 +24,7 @@
|
|||||||
[NSNumber numberWithBool:YES], NSStringFromSelector(@selector(rememberKeyPhrase)),
|
[NSNumber numberWithBool:YES], NSStringFromSelector(@selector(rememberKeyPhrase)),
|
||||||
[NSNumber numberWithBool:NO], NSStringFromSelector(@selector(forgetKeyPhrase)),
|
[NSNumber numberWithBool:NO], NSStringFromSelector(@selector(forgetKeyPhrase)),
|
||||||
[NSNumber numberWithBool:NO], NSStringFromSelector(@selector(helpHidden)),
|
[NSNumber numberWithBool:NO], NSStringFromSelector(@selector(helpHidden)),
|
||||||
|
[NSNumber numberWithBool:YES], NSStringFromSelector(@selector(showQuickstart)),
|
||||||
nil]];
|
nil]];
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
[super viewWillDisappear:animated];
|
[super viewWillDisappear:animated];
|
||||||
|
|
||||||
|
[OPConfig get].showQuickstart = [NSNumber numberWithBool:NO];
|
||||||
[[OPAppDelegate get] loadKeyPhrase];
|
[[OPAppDelegate get] loadKeyPhrase];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)viewWillDisappear:(BOOL)animated {
|
- (void)viewWillDisappear:(BOOL)animated {
|
||||||
|
|
||||||
[super viewWillDisappear:animated];
|
[super viewWillDisappear:animated];
|
||||||
|
|
||||||
self.searchTipContainer.hidden = YES;
|
self.searchTipContainer.hidden = YES;
|
||||||
@ -85,10 +85,11 @@
|
|||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
|
|
||||||
// Put the search tip on the window so it's above the nav bar.
|
// Put the search tip on the window so it's above the nav bar.
|
||||||
// [self.searchTipContainer removeFromSuperview];
|
CGRect newFrame = [self.navigationController.navigationBar convertRect:self.searchTipContainer.frame
|
||||||
// [[UIApplication sharedApplication].keyWindow addSubview:self.searchTipContainer];
|
fromView:self.searchTipContainer.superview];
|
||||||
// self.searchTipContainer.frame = CGRectSetY(self.searchTipContainer.frame, self.searchTipContainer.frame.origin.y
|
[self.searchTipContainer removeFromSuperview];
|
||||||
// + self.navigationController.navigationBar.frame.size.height /* Nav */ + 20 /* Status */);
|
[self.navigationController.navigationBar addSubview:self.searchTipContainer];
|
||||||
|
self.searchTipContainer.frame = newFrame;
|
||||||
self.searchTipContainer.hidden = YES;
|
self.searchTipContainer.hidden = YES;
|
||||||
|
|
||||||
// Because IB's edit button doesn't auto-toggle self.editable like editButtonItem does.
|
// Because IB's edit button doesn't auto-toggle self.editable like editButtonItem does.
|
||||||
|
BIN
OnePassword/Resources/Guide/guide_page_0.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
OnePassword/Resources/Guide/guide_page_0@2x.png
Normal file
After Width: | Height: | Size: 247 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 331 KiB |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 338 KiB After Width: | Height: | Size: 279 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 262 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 399 KiB After Width: | Height: | Size: 412 KiB |
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 400 KiB After Width: | Height: | Size: 354 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 369 KiB |
@ -96,6 +96,22 @@
|
|||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSToggleSwitchSpecifier</string>
|
<string>PSToggleSwitchSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>PSGroupSpecifier</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string>Usability</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>PSToggleSwitchSpecifier</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string>Show Quickstart</string>
|
||||||
|
<key>Key</key>
|
||||||
|
<string>showQuickstart</string>
|
||||||
|
<key>DefaultValue</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>StringsTable</key>
|
<key>StringsTable</key>
|
||||||
<string>Root</string>
|
<string>Root</string>
|
||||||
|