From 46d6f8b25b8e80fcca83e7461cdf768c99b4ea6c Mon Sep 17 00:00:00 2001 From: padawan Date: Tue, 25 Dec 2012 22:23:47 +0600 Subject: [PATCH 1/2] Initial commit --- README.md | 4 +- .../project.pbxproj | 305 ++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 18416 bytes .../xcdebugger/Breakpoints.xcbkptlist | 33 + .../xcschemes/passwordGenerator.xcscheme | 86 + .../xcschemes/xcschememanagement.plist | 22 + .../passwordGenerator/AppDelegate.h | 26 + .../passwordGenerator/AppDelegate.m | 86 + .../passwordGenerator/Password.h | 14 + .../passwordGenerator/Password.m | 13 + .../passwordGenerator/en.lproj/Credits.rtf | 29 + .../en.lproj/InfoPlist.strings | 2 + .../passwordGenerator/en.lproj/MainMenu.xib | 4263 +++++++++++++++++ passwordGenerator/passwordGenerator/main.m | 14 + .../passwordGenerator-Info.plist | 34 + .../passwordGenerator-Prefix.pch | 7 + 17 files changed, 4943 insertions(+), 2 deletions(-) create mode 100644 passwordGenerator/passwordGenerator.xcodeproj/project.pbxproj create mode 100644 passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/xcuserdata/padawan.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/passwordGenerator.xcscheme create mode 100644 passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 passwordGenerator/passwordGenerator/AppDelegate.h create mode 100644 passwordGenerator/passwordGenerator/AppDelegate.m create mode 100644 passwordGenerator/passwordGenerator/Password.h create mode 100644 passwordGenerator/passwordGenerator/Password.m create mode 100644 passwordGenerator/passwordGenerator/en.lproj/Credits.rtf create mode 100644 passwordGenerator/passwordGenerator/en.lproj/InfoPlist.strings create mode 100644 passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib create mode 100644 passwordGenerator/passwordGenerator/main.m create mode 100644 passwordGenerator/passwordGenerator/passwordGenerator-Info.plist create mode 100644 passwordGenerator/passwordGenerator/passwordGenerator-Prefix.pch diff --git a/README.md b/README.md index 58d96e8..0fd0954 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -osx-project-3 +osx-project-3 / Генератор паролей ============= -OS X Development Course, Project 3 \ No newline at end of file +Очень торопился, сильно не пинайте )) diff --git a/passwordGenerator/passwordGenerator.xcodeproj/project.pbxproj b/passwordGenerator/passwordGenerator.xcodeproj/project.pbxproj new file mode 100644 index 0000000..39935e4 --- /dev/null +++ b/passwordGenerator/passwordGenerator.xcodeproj/project.pbxproj @@ -0,0 +1,305 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 21D60C801689D36E009E033A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21D60C7F1689D36E009E033A /* Cocoa.framework */; }; + 21D60C8A1689D36E009E033A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 21D60C881689D36E009E033A /* InfoPlist.strings */; }; + 21D60C8C1689D36E009E033A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 21D60C8B1689D36E009E033A /* main.m */; }; + 21D60C901689D36E009E033A /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 21D60C8E1689D36E009E033A /* Credits.rtf */; }; + 21D60C931689D36E009E033A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 21D60C921689D36E009E033A /* AppDelegate.m */; }; + 21D60C961689D36E009E033A /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 21D60C941689D36E009E033A /* MainMenu.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 21D60C7B1689D36E009E033A /* passwordGenerator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = passwordGenerator.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 21D60C7F1689D36E009E033A /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 21D60C821689D36E009E033A /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + 21D60C831689D36E009E033A /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 21D60C841689D36E009E033A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 21D60C871689D36E009E033A /* passwordGenerator-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "passwordGenerator-Info.plist"; sourceTree = ""; }; + 21D60C891689D36E009E033A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 21D60C8B1689D36E009E033A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 21D60C8D1689D36E009E033A /* passwordGenerator-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "passwordGenerator-Prefix.pch"; sourceTree = ""; }; + 21D60C8F1689D36E009E033A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + 21D60C911689D36E009E033A /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 21D60C921689D36E009E033A /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 21D60C951689D36E009E033A /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 21D60C781689D36E009E033A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 21D60C801689D36E009E033A /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 21D60C701689D36E009E033A = { + isa = PBXGroup; + children = ( + 21D60C851689D36E009E033A /* passwordGenerator */, + 21D60C7E1689D36E009E033A /* Frameworks */, + 21D60C7C1689D36E009E033A /* Products */, + ); + sourceTree = ""; + }; + 21D60C7C1689D36E009E033A /* Products */ = { + isa = PBXGroup; + children = ( + 21D60C7B1689D36E009E033A /* passwordGenerator.app */, + ); + name = Products; + sourceTree = ""; + }; + 21D60C7E1689D36E009E033A /* Frameworks */ = { + isa = PBXGroup; + children = ( + 21D60C7F1689D36E009E033A /* Cocoa.framework */, + 21D60C811689D36E009E033A /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 21D60C811689D36E009E033A /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 21D60C821689D36E009E033A /* AppKit.framework */, + 21D60C831689D36E009E033A /* CoreData.framework */, + 21D60C841689D36E009E033A /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 21D60C851689D36E009E033A /* passwordGenerator */ = { + isa = PBXGroup; + children = ( + 21D60C911689D36E009E033A /* AppDelegate.h */, + 21D60C921689D36E009E033A /* AppDelegate.m */, + 21D60C941689D36E009E033A /* MainMenu.xib */, + 21D60C861689D36E009E033A /* Supporting Files */, + ); + path = passwordGenerator; + sourceTree = ""; + }; + 21D60C861689D36E009E033A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 21D60C871689D36E009E033A /* passwordGenerator-Info.plist */, + 21D60C881689D36E009E033A /* InfoPlist.strings */, + 21D60C8B1689D36E009E033A /* main.m */, + 21D60C8D1689D36E009E033A /* passwordGenerator-Prefix.pch */, + 21D60C8E1689D36E009E033A /* Credits.rtf */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 21D60C7A1689D36E009E033A /* passwordGenerator */ = { + isa = PBXNativeTarget; + buildConfigurationList = 21D60C991689D36E009E033A /* Build configuration list for PBXNativeTarget "passwordGenerator" */; + buildPhases = ( + 21D60C771689D36E009E033A /* Sources */, + 21D60C781689D36E009E033A /* Frameworks */, + 21D60C791689D36E009E033A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = passwordGenerator; + productName = passwordGenerator; + productReference = 21D60C7B1689D36E009E033A /* passwordGenerator.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 21D60C721689D36E009E033A /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = padawan; + }; + buildConfigurationList = 21D60C751689D36E009E033A /* Build configuration list for PBXProject "passwordGenerator" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 21D60C701689D36E009E033A; + productRefGroup = 21D60C7C1689D36E009E033A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 21D60C7A1689D36E009E033A /* passwordGenerator */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 21D60C791689D36E009E033A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 21D60C8A1689D36E009E033A /* InfoPlist.strings in Resources */, + 21D60C901689D36E009E033A /* Credits.rtf in Resources */, + 21D60C961689D36E009E033A /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 21D60C771689D36E009E033A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 21D60C8C1689D36E009E033A /* main.m in Sources */, + 21D60C931689D36E009E033A /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 21D60C881689D36E009E033A /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 21D60C891689D36E009E033A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 21D60C8E1689D36E009E033A /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + 21D60C8F1689D36E009E033A /* en */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + 21D60C941689D36E009E033A /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 21D60C951689D36E009E033A /* en */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 21D60C971689D36E009E033A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 21D60C981689D36E009E033A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx; + }; + name = Release; + }; + 21D60C9A1689D36E009E033A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "passwordGenerator/passwordGenerator-Prefix.pch"; + INFOPLIST_FILE = "passwordGenerator/passwordGenerator-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 21D60C9B1689D36E009E033A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "passwordGenerator/passwordGenerator-Prefix.pch"; + INFOPLIST_FILE = "passwordGenerator/passwordGenerator-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 21D60C751689D36E009E033A /* Build configuration list for PBXProject "passwordGenerator" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 21D60C971689D36E009E033A /* Debug */, + 21D60C981689D36E009E033A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 21D60C991689D36E009E033A /* Build configuration list for PBXNativeTarget "passwordGenerator" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 21D60C9A1689D36E009E033A /* Debug */, + 21D60C9B1689D36E009E033A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 21D60C721689D36E009E033A /* Project object */; +} diff --git a/passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..e4ed9e8 --- /dev/null +++ b/passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/xcuserdata/padawan.xcuserdatad/UserInterfaceState.xcuserstate b/passwordGenerator/passwordGenerator.xcodeproj/project.xcworkspace/xcuserdata/padawan.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..4df63e1c47d457f6922f7b9df86760f37fc81ce0 GIT binary patch literal 18416 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 QQIz=2z94=FKKmB`KZBBt=>Px# literal 0 HcmV?d00001 diff --git a/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..7dda655 --- /dev/null +++ b/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/passwordGenerator.xcscheme b/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/passwordGenerator.xcscheme new file mode 100644 index 0000000..6838109 --- /dev/null +++ b/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/passwordGenerator.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/xcschememanagement.plist b/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..c3c7c19 --- /dev/null +++ b/passwordGenerator/passwordGenerator.xcodeproj/xcuserdata/padawan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + passwordGenerator.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 21D60C7A1689D36E009E033A + + primary + + + + + diff --git a/passwordGenerator/passwordGenerator/AppDelegate.h b/passwordGenerator/passwordGenerator/AppDelegate.h new file mode 100644 index 0000000..f5ab28f --- /dev/null +++ b/passwordGenerator/passwordGenerator/AppDelegate.h @@ -0,0 +1,26 @@ +// +// AppDelegate.h +// passwordGenerator +// +// Created by padawan on 25.12.12. +// Copyright (c) 2012 padawan. All rights reserved. +// + +#import + +@interface AppDelegate : NSObject { + NSMutableArray *upperCaseSymbol, *lowerCase, *numberCase; + int upperCaseCheck, numberCaseCheck; +} + +@property NSNumber *lengthPassword; +@property (assign) IBOutlet NSWindow *window; +@property (weak) IBOutlet NSTextField *lengthField; +@property (weak) IBOutlet NSTextField *passwordField; +@property (weak) IBOutlet NSButton *upperCaseCheckBox; + +- (IBAction)clickOnUpperCase:(id)sender; +- (IBAction)clickeOnNumberCase:(id)sender; +- (IBAction)clickGenerate:(id)sender; + +@end diff --git a/passwordGenerator/passwordGenerator/AppDelegate.m b/passwordGenerator/passwordGenerator/AppDelegate.m new file mode 100644 index 0000000..2be09db --- /dev/null +++ b/passwordGenerator/passwordGenerator/AppDelegate.m @@ -0,0 +1,86 @@ +// +// AppDelegate.m +// passwordGenerator +// +// Created by padawan on 25.12.12. +// Copyright (c) 2012 padawan. All rights reserved. +// + +#import "AppDelegate.h" +const void *RMDocumentKVOContext; +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification +{ + +} + + +-(id) init { + if(self = [super init]) { + [self setValue:[NSNumber numberWithInt:8 ] forKey:@"lengthPassword"]; + upperCaseCheck = 1; + numberCaseCheck = 1; + lowerCase = [NSMutableArray arrayWithObjects: + @"a", @"b", @"c", @"d", @"e", @"f", @"g", @"h", @"i", @"g", @"k", @"l", @"m", + @"n", @"o", @"p", @"q", @"r", @"s", @"t", @"u", @"v", @"w", @"x", @"y", @"z", + nil]; + upperCaseSymbol = [NSMutableArray arrayWithObjects: + @"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"G", @"K", @"L", @"M", + @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z", + nil]; + numberCase = [NSMutableArray arrayWithObjects:@"0", @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9",nil]; + + [self addObserver:self forKeyPath:@"lengthPassword" options:NSKeyValueObservingOptionOld context:&RMDocumentKVOContext]; + + [self addObserver:self forKeyPath:@"upperCaseCheck" options:NSKeyValueObservingOptionOld context:&RMDocumentKVOContext]; + [self addObserver:self forKeyPath:@"numberCaseCheck" options:NSKeyValueObservingOptionOld context:&RMDocumentKVOContext]; + } + return self; +} + +-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { + if(keyPath == @"lengthPassword") { + [_lengthField setStringValue:[NSString stringWithFormat:@"%@", _lengthPassword]]; + } + [_passwordField setStringValue:[self generate]]; +} + +-(id) generate { + id symbol; + NSMutableArray *currentCase = [[NSMutableArray alloc] init]; + NSString *p = [NSString stringWithFormat:@""]; + NSMutableArray *cases = [[NSMutableArray alloc] init]; + + [cases addObject:lowerCase]; + + if (upperCaseCheck) { + [cases addObject:upperCaseSymbol]; + } + if (numberCaseCheck) { + [cases addObject:numberCase]; + } + for (int i = 0; i<[_lengthPassword intValue]; i++) { + currentCase = [cases objectAtIndex:arc4random()%[cases count]]; + symbol = [currentCase objectAtIndex: arc4random()%currentCase.count]; + p = [p stringByAppendingString:symbol]; + } + return p; +} + +- (IBAction)clickOnUpperCase:(id)sender { + [self willChangeValueForKey:@"upperCaseCheck"]; + upperCaseCheck = [sender intValue]; + [self didChangeValueForKey:@"upperCaseCheck"]; +} + +- (IBAction)clickeOnNumberCase:(id)sender { + [self willChangeValueForKey:@"numberCaseCheck"]; + numberCaseCheck = [sender intValue]; + [self didChangeValueForKey:@"numberCaseCheck"]; +} + +- (IBAction)clickGenerate:(id)sender { + [_passwordField setStringValue:[self generate]]; +} +@end diff --git a/passwordGenerator/passwordGenerator/Password.h b/passwordGenerator/passwordGenerator/Password.h new file mode 100644 index 0000000..1d4d4ed --- /dev/null +++ b/passwordGenerator/passwordGenerator/Password.h @@ -0,0 +1,14 @@ +// +// Password.h +// passwordGenerator +// +// Created by padawan on 25.12.12. +// Copyright (c) 2012 padawan. All rights reserved. +// + +#import + +@interface Password : NSObject +@property NSInteger *lengthPassword; +@property NSString *password; +@end diff --git a/passwordGenerator/passwordGenerator/Password.m b/passwordGenerator/passwordGenerator/Password.m new file mode 100644 index 0000000..d87b374 --- /dev/null +++ b/passwordGenerator/passwordGenerator/Password.m @@ -0,0 +1,13 @@ +// +// Password.m +// passwordGenerator +// +// Created by padawan on 25.12.12. +// Copyright (c) 2012 padawan. All rights reserved. +// + +#import "Password.h" + +@implementation Password + +@end diff --git a/passwordGenerator/passwordGenerator/en.lproj/Credits.rtf b/passwordGenerator/passwordGenerator/en.lproj/Credits.rtf new file mode 100644 index 0000000..46576ef --- /dev/null +++ b/passwordGenerator/passwordGenerator/en.lproj/Credits.rtf @@ -0,0 +1,29 @@ +{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw9840\paperh8400 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf0 Engineering: +\b0 \ + Some people\ +\ + +\b Human Interface Design: +\b0 \ + Some other people\ +\ + +\b Testing: +\b0 \ + Hopefully not nobody\ +\ + +\b Documentation: +\b0 \ + Whoever\ +\ + +\b With special thanks to: +\b0 \ + Mom\ +} diff --git a/passwordGenerator/passwordGenerator/en.lproj/InfoPlist.strings b/passwordGenerator/passwordGenerator/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/passwordGenerator/passwordGenerator/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib b/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib new file mode 100644 index 0000000..bc9950d --- /dev/null +++ b/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib @@ -0,0 +1,4263 @@ + + + + 1080 + 12C3006 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + IBNSLayoutConstraint + NSBox + NSButton + NSButtonCell + NSCustomObject + NSMenu + NSMenuItem + NSNumberFormatter + NSStepper + NSStepperCell + NSTextField + NSTextFieldCell + NSUserDefaultsController + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + + + passwordGenerator + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + passwordGenerator + + + + About passwordGenerator + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide passwordGenerator + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit passwordGenerator + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save… + s + 1048576 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste and Match Style + V + 1572864 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find and Replace… + f + 1572864 + 2147483647 + + + 12 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + + + Show Spelling and Grammar + : + 1048576 + 2147483647 + + + + + + Check Document Now + ; + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + Correct Spelling Automatically + + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + + + Show Substitutions + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Dashes + + 2147483647 + + + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + Text Replacement + + 2147483647 + + + + + + + + + Transformations + + 2147483647 + + + submenuAction: + + Transformations + + + + Make Upper Case + + 2147483647 + + + + + + Make Lower Case + + 2147483647 + + + + + + Capitalize + + 2147483647 + + + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + + + Font + + 2147483647 + + + submenuAction: + + Font + + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligatures + + 2147483647 + + + submenuAction: + + Ligatures + + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Writing Direction + + 2147483647 + + + submenuAction: + + Writing Direction + + + + YES + Paragraph + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + YES + Selection + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + + + passwordGenerator Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 15 + 2 + {{335, 390}, {260, 175}} + 1954021376 + passwordGenerator + NSWindow + + + + + 256 + + + + 268 + {{224, 130}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 8 + 4 + 32 + 1 + YES + + NO + + + + 268 + {{189, 133}, {30, 22}} + + + + _NS:9 + YES + + -2075131840 + 71304192 + + + LucidaGrande + 13 + 1044 + + + + + + + + + -∞ + + +∞ + + # + # + + + + + + + + NaN + + + + 0 + 0 + YES + NO + 1 + AAAAAAAAAAAAAAAAAAAAAA + + + + 3 + YES + YES + YES + + . + , + NO + NO + YES + + _NS:9 + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + NO + + + + 268 + {{17, 135}, {88, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + Дина пароля + + _NS:1535 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + NO + + + + 268 + {{0, 49}, {260, 22}} + + + + _NS:9 + YES + + -1804599231 + 138413056 + + + _NS:9 + + YES + + + + NO + + + + 268 + {{187, 109}, {47, 18}} + + + + _NS:9 + YES + + -2080374784 + 268435456 + А-Я + + _NS:9 + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + + 268 + {{187, 89}, {46, 18}} + + + + _NS:9 + YES + + -2080374784 + 268435456 + 0-9 + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{17, 110}, {109, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + Добавить набор + + _NS:1535 + + + + + NO + + + + 268 + {{66, 13}, {129, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + Генерировать + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 12 + {{0, 77}, {260, 5}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + {260, 175} + + + + {733, 750} + + {{0, 0}, {1280, 778}} + {10000000000000, 10000000000000} + YES + + + AppDelegate + + + NSFontManager + + + YES + + + + + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 495 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + saveDocument: + + + + 362 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + raiseBaseline: + + + + 426 + + + + lowerBaseline: + + + + 427 + + + + copyFont: + + + + 428 + + + + subscript: + + + + 429 + + + + superscript: + + + + 430 + + + + tightenKerning: + + + + 431 + + + + underline: + + + + 432 + + + + orderFrontColorPanel: + + + + 433 + + + + useAllLigatures: + + + + 434 + + + + loosenKerning: + + + + 435 + + + + pasteFont: + + + + 436 + + + + unscript: + + + + 437 + + + + useStandardKerning: + + + + 438 + + + + useStandardLigatures: + + + + 439 + + + + turnOffLigatures: + + + + 440 + + + + turnOffKerning: + + + + 441 + + + + toggleAutomaticSpellingCorrection: + + + + 456 + + + + orderFrontSubstitutionsPanel: + + + + 458 + + + + toggleAutomaticDashSubstitution: + + + + 461 + + + + toggleAutomaticTextReplacement: + + + + 463 + + + + uppercaseWord: + + + + 464 + + + + capitalizeWord: + + + + 467 + + + + lowercaseWord: + + + + 468 + + + + pasteAsPlainText: + + + + 486 + + + + performFindPanelAction: + + + + 487 + + + + performFindPanelAction: + + + + 488 + + + + performFindPanelAction: + + + + 489 + + + + showHelp: + + + + 493 + + + + alignCenter: + + + + 518 + + + + pasteRuler: + + + + 519 + + + + toggleRuler: + + + + 520 + + + + alignRight: + + + + 521 + + + + copyRuler: + + + + 522 + + + + alignJustified: + + + + 523 + + + + alignLeft: + + + + 524 + + + + makeBaseWritingDirectionNatural: + + + + 525 + + + + makeBaseWritingDirectionLeftToRight: + + + + 526 + + + + makeBaseWritingDirectionRightToLeft: + + + + 527 + + + + makeTextWritingDirectionNatural: + + + + 528 + + + + makeTextWritingDirectionLeftToRight: + + + + 529 + + + + makeTextWritingDirectionRightToLeft: + + + + 530 + + + + performFindPanelAction: + + + + 535 + + + + addFontTrait: + + + + 421 + + + + addFontTrait: + + + + 422 + + + + modifyFont: + + + + 423 + + + + orderFrontFontPanel: + + + + 424 + + + + modifyFont: + + + + 425 + + + + window + + + + 532 + + + + lengthField + + + + 664 + + + + passwordField + + + + 680 + + + + upperCase + + + + 699 + + + + clickOnUpperCase: + + + + 705 + + + + clickeOnNumberCase: + + + + 710 + + + + clickGenerate: + + + + 734 + + + + value: self.lengthPassword + + + + + + value: self.lengthPassword + value + self.lengthPassword + 2 + + + 679 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + + + + + 19 + + + + + + + + 56 + + + + + + + + 217 + + + + + + + + 83 + + + + + + + + 81 + + + + + + + + + + + + + + + + + 75 + + + + + 78 + + + + + 72 + + + + + 82 + + + + + 124 + + + + + + + + 77 + + + + + 73 + + + + + 79 + + + + + 112 + + + + + 74 + + + + + 125 + + + + + + + + 126 + + + + + 205 + + + + + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + + + + + + 216 + + + + + + + + 200 + + + + + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 57 + + + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + + + + + + 296 + + + + + + + + + 297 + + + + + 298 + + + + + 211 + + + + + + + + 212 + + + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + + + + + + 349 + + + + + + + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + + + + + + 372 + + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 6 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + + + 5 + 0 + + 5 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 3 + 0 + + 4 + 1 + + 6 + + 1000 + + 6 + 24 + 3 + + + + 5 + 0 + + 5 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 4 + 0 + + 4 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + + + 6 + 0 + + 6 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + + + 11 + 0 + + 11 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 11 + 0 + + 11 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + + + + + + + + + + + + 375 + + + + + + + + 376 + + + + + + + + + 377 + + + + + + + + 388 + + + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + + + + + + 398 + + + + + + + + 399 + + + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 420 + + + + + 450 + + + + + + + + 451 + + + + + + + + + + 452 + + + + + 453 + + + + + 454 + + + + + 457 + + + + + 459 + + + + + 460 + + + + + 462 + + + + + 465 + + + + + 466 + + + + + 485 + + + + + 490 + + + + + + + + 491 + + + + + + + + 492 + + + + + 494 + + + + + 496 + + + + + + + + 497 + + + + + + + + + + + + + + + + + 498 + + + + + 499 + + + + + 500 + + + + + 501 + + + + + 502 + + + + + 503 + + + + + + + + 504 + + + + + 505 + + + + + 506 + + + + + 507 + + + + + 508 + + + + + + + + + + + + + + + + 509 + + + + + 510 + + + + + 511 + + + + + 512 + + + + + 513 + + + + + 514 + + + + + 515 + + + + + 516 + + + + + 517 + + + + + 534 + + + + + 634 + + + + + 643 + + + + + + + + 644 + + + + + 647 + + + + + + 7 + 0 + + 0 + 1 + + 30 + + 1000 + + 3 + 9 + 1 + + + + + + 648 + + + + + + + + 651 + + + + + 652 + + + + + + + + 653 + + + + + 655 + + + + + 659 + + + + + 660 + + + + + 665 + + + + + + + + 666 + + + + + 657 + + + + + 676 + + + + + 695 + + + + + + + + 696 + + + + + 697 + + + + + 706 + + + + + + + + 707 + + + + + 708 + + + + + 709 + + + + + 714 + + + + + 715 + + + + + 717 + + + + + + + + 718 + + + + + 719 + + + + + 720 + + + + + 725 + + + + + 726 + + + + + 727 + + + + + 730 + + + + + + + + 731 + + + + + 735 + + + + + 736 + + + + + 738 + + + + + 740 + + + + + 742 + + + + + 743 + + + + + 744 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{380, 496}, {480, 360}} + + + + + + + + + + + + + + + + + + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 744 + + + + + AppDelegate + NSObject + + id + id + id + + + + clickGenerate: + id + + + clickOnUpperCase: + id + + + clickeOnNumberCase: + id + + + + NSTextField + NSTextField + NSButton + NSWindow + + + + lengthField + NSTextField + + + passwordField + NSTextField + + + upperCaseCheckBox + NSButton + + + window + NSWindow + + + + IBProjectSource + ./Classes/AppDelegate.h + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + + 0 + IBCocoaFramework + YES + 3 + + {11, 11} + {10, 3} + {15, 15} + + YES + + diff --git a/passwordGenerator/passwordGenerator/main.m b/passwordGenerator/passwordGenerator/main.m new file mode 100644 index 0000000..629ad82 --- /dev/null +++ b/passwordGenerator/passwordGenerator/main.m @@ -0,0 +1,14 @@ +// +// main.m +// passwordGenerator +// +// Created by padawan on 25.12.12. +// Copyright (c) 2012 padawan. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **)argv); +} diff --git a/passwordGenerator/passwordGenerator/passwordGenerator-Info.plist b/passwordGenerator/passwordGenerator/passwordGenerator-Info.plist new file mode 100644 index 0000000..62c5519 --- /dev/null +++ b/passwordGenerator/passwordGenerator/passwordGenerator-Info.plist @@ -0,0 +1,34 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + newitem.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSHumanReadableCopyright + Copyright © 2012 padawan. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/passwordGenerator/passwordGenerator/passwordGenerator-Prefix.pch b/passwordGenerator/passwordGenerator/passwordGenerator-Prefix.pch new file mode 100644 index 0000000..74b63c6 --- /dev/null +++ b/passwordGenerator/passwordGenerator/passwordGenerator-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'passwordGenerator' target in the 'passwordGenerator' project +// + +#ifdef __OBJC__ + #import +#endif From 90c820059caa096202a4804b6fafc65bf40a1e91 Mon Sep 17 00:00:00 2001 From: padawan Date: Tue, 25 Dec 2012 22:25:48 +0600 Subject: [PATCH 2/2] FINAL --- .DS_Store | Bin 0 -> 6148 bytes .../UserInterfaceState.xcuserstate | Bin 18416 -> 18507 bytes .../passwordGenerator/AppDelegate.h | 1 - .../passwordGenerator/en.lproj/MainMenu.xib | 182 +++++++++--------- 4 files changed, 91 insertions(+), 92 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 a%S_A6%>1D0oIufZ=*fH$dRG6>toMJ@doq0h diff --git a/passwordGenerator/passwordGenerator/AppDelegate.h b/passwordGenerator/passwordGenerator/AppDelegate.h index f5ab28f..873ed53 100644 --- a/passwordGenerator/passwordGenerator/AppDelegate.h +++ b/passwordGenerator/passwordGenerator/AppDelegate.h @@ -17,7 +17,6 @@ @property (assign) IBOutlet NSWindow *window; @property (weak) IBOutlet NSTextField *lengthField; @property (weak) IBOutlet NSTextField *passwordField; -@property (weak) IBOutlet NSButton *upperCaseCheckBox; - (IBAction)clickOnUpperCase:(id)sender; - (IBAction)clickeOnNumberCase:(id)sender; diff --git a/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib b/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib index bc9950d..6c264ae 100644 --- a/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib +++ b/passwordGenerator/passwordGenerator/en.lproj/MainMenu.xib @@ -1318,7 +1318,7 @@ {{224, 130}, {19, 27}} - + _NS:1099 YES @@ -1436,7 +1436,7 @@ _NS:1535 - + 6 System controlColor @@ -1445,7 +1445,7 @@ MC42NjY2NjY2NjY3AA - + 6 System controlTextColor @@ -1460,7 +1460,7 @@ {{0, 49}, {260, 22}} - + _NS:9 YES @@ -1482,7 +1482,7 @@ {{187, 109}, {47, 18}} - + _NS:9 YES @@ -1494,11 +1494,11 @@ 1211912448 2 - + NSImage NSSwitch - + NSSwitch @@ -1508,26 +1508,26 @@ NO - + 268 {{187, 89}, {46, 18}} - + _NS:9 YES - + -2080374784 268435456 0-9 _NS:9 - + 1211912448 2 - - + + 200 @@ -1535,7 +1535,7 @@ NO - + 268 {{17, 110}, {109, 17}} @@ -1544,19 +1544,19 @@ _NS:1535 YES - + 68157504 272630784 Добавить набор _NS:1535 - - - + + + NO - + 268 {{66, 13}, {129, 32}} @@ -1565,13 +1565,13 @@ _NS:9 YES - + 67108864 134217728 Генерировать _NS:9 - + -2038284288 129 @@ -1581,7 +1581,7 @@ NO - + 12 {{0, 77}, {260, 5}} @@ -2345,7 +2345,7 @@ clickeOnNumberCase: - + 710 @@ -2353,7 +2353,7 @@ clickGenerate: - + 734 @@ -2898,7 +2898,7 @@ 372 - + 6 0 @@ -2946,8 +2946,8 @@ 24 3 - - + + 5 0 @@ -2962,8 +2962,8 @@ 24 2 - - + + 3 0 @@ -3010,11 +3010,11 @@ 29 3 - + 4 0 - + 4 1 @@ -3027,7 +3027,7 @@ 3 - + 3 0 @@ -3042,8 +3042,8 @@ 24 3 - - + + 9 0 @@ -3058,11 +3058,11 @@ 24 2 - + 3 0 - + 4 1 @@ -3074,7 +3074,7 @@ 24 3 - + 6 0 @@ -3090,7 +3090,7 @@ 29 3 - + 5 0 @@ -3106,8 +3106,8 @@ 29 3 - - + + 6 0 @@ -3122,8 +3122,8 @@ 29 3 - - + + 5 0 @@ -3139,7 +3139,7 @@ 3 - + 5 0 @@ -3154,8 +3154,8 @@ 29 3 - - + + 3 0 @@ -3170,8 +3170,8 @@ 24 3 - - + + 11 0 @@ -3186,7 +3186,7 @@ 24 2 - + 5 0 @@ -3219,14 +3219,14 @@ 2 - + - - + + - + @@ -3829,63 +3829,63 @@ 706 - + - + 707 - - + + 708 - + 709 - + 714 - + 715 - + 717 - + - + 718 - - + + 719 - + 720 - + 725 - + @@ -3895,45 +3895,45 @@ 727 - + 730 - + - + 731 - - + + 735 - + 736 - + 738 - + 740 - + 742 - + @@ -3943,7 +3943,7 @@ 744 - + @@ -4014,25 +4014,25 @@ - - - + + + - - - - - - + + + + + + - + - - + + - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin