Browse Source

Password Practice Start

master
GRMrGecko 14 years ago
commit
bdef28154a
  1. 31
      Classes/MGMController.h
  2. 72
      Classes/MGMController.m
  3. 2
      English.lproj/InfoPlist.strings
  4. 6057
      English.lproj/MainMenu.xib
  5. 2
      License.txt
  6. 6057
      Password Practice.ai
  7. BIN
      Password Practice.icns
  8. BIN
      Password Practice.png
  9. 155
      Password Practice.xcodeproj/grmrgecko.pbxuser
  10. 1493
      Password Practice.xcodeproj/grmrgecko.perspectivev3
  11. 292
      Password Practice.xcodeproj/project.pbxproj
  12. 10
      Prefix.pch
  13. 1
      ReadMe.txt
  14. 32
      info.plist
  15. 13
      main.m

31
Classes/MGMController.h

@ -0,0 +1,31 @@
//
// MGMController.h
// Password Practice
//
// Created by Mr. Gecko's Media on 5/21/10.
//
#import <Cocoa/Cocoa.h>
@interface MGMController : NSObject {
IBOutlet NSWindow *passwordWindow;
IBOutlet NSTextField *pwPassword;
IBOutlet NSTextField *pwVerify;
NSString *password;
IBOutlet NSWindow *practiceWindow;
IBOutlet NSTextField *ppPassword;
IBOutlet NSTextField *ppTotal;
IBOutlet NSTextField *ppCorrect;
IBOutlet NSTextField *ppMisstakes;
IBOutlet NSTextField *ppAccuracy;
int total;
int correct;
int mistakes;
IBOutlet NSButton *ppSounds;
NSSound *sound;
}
- (IBAction)pwContinue:(id)sender;
- (IBAction)ppCheck:(id)sender;
- (IBAction)ppSounds:(id)sender;
@end

72
Classes/MGMController.m

@ -0,0 +1,72 @@
//
// MGMController.m
// Password Practice
//
// Created by Mr. Gecko's Media on 5/21/10.
//
#import "MGMController.h"
NSString * const MGMSoundsKey = @"sounds";
@implementation MGMController
- (void)awakeFromNib {
[ppSounds setState:([[NSUserDefaults standardUserDefaults] boolForKey:MGMSoundsKey] ? NSOnState : NSOffState)];
total = 0;
correct = 0;
mistakes = 0;
[passwordWindow makeKeyAndOrderFront:self];
}
- (IBAction)pwContinue:(id)sender {
if ([[pwPassword stringValue] isEqualToString:[pwVerify stringValue]]) {
password = [[pwPassword stringValue] copy];
[pwPassword setStringValue:@""];
[pwVerify setStringValue:@""];
[passwordWindow orderOut:self];
[practiceWindow makeKeyAndOrderFront:self];
} else {
NSBeep();
NSAlert *theAlert = [[NSAlert new] autorelease];
[theAlert setMessageText:@"Incorrect Password"];
[theAlert setInformativeText:@"The Passwords you have entered does not match. Please try again."];
[theAlert addButtonWithTitle:@"Ok"];
[theAlert runModal];
}
}
- (IBAction)ppCheck:(id)sender {
total++;
if ([[ppPassword stringValue] isEqualToString:password]) {
correct++;
if ([ppSounds state]==NSOnState && sound==nil) {
sound = [[NSSound soundNamed:@"Glass"] retain];
[sound setDelegate:self];
[sound play];
}
} else {
if ([ppSounds state]==NSOnState && sound==nil) {
sound = [[NSSound soundNamed:@"Basso"] retain];
[sound setDelegate:self];
[sound play];
}
mistakes++;
}
[ppTotal setIntValue:total];
[ppCorrect setIntValue:correct];
[ppMisstakes setIntValue:mistakes];
[ppAccuracy setStringValue:[NSString stringWithFormat:@"%.0f%%", ((float)correct/(float)total)*100]];
[ppPassword setStringValue:@""];
}
- (IBAction)ppSounds:(id)sender {
[[NSUserDefaults standardUserDefaults] setBool:([ppSounds state]==NSOnState) forKey:MGMSoundsKey];
}
- (void)sound:(NSSound *)theSound didFinishPlaying:(BOOL)finishedPlaying {
if (finishedPlaying) {
if (theSound==sound) {
[sound release];
sound = nil;
}
}
}
@end

2
English.lproj/InfoPlist.strings

@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */

6057
English.lproj/MainMenu.xib
File diff suppressed because it is too large
View File

2
License.txt

@ -0,0 +1,2 @@
This project was started by Mr. Gecko's Media and was put in the public domain for anyone to use at free will.
I here by give you full permission to edit, redistribute, sale, or do anything you can imagine with this code for Password Practice. I do not claim any rights to this project.

6057
Password Practice.ai
File diff suppressed because it is too large
View File

BIN
Password Practice.icns

BIN
Password Practice.png

After

Width: 512  |  Height: 512  |  Size: 134 KiB

155
Password Practice.xcodeproj/grmrgecko.pbxuser

@ -0,0 +1,155 @@
// !$*UTF8*$!
{
256AC3D80F4B6AC300CF3369 /* MGMController.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1221, 646}}";
sepNavSelRange = "{157, 0}";
sepNavVisRange = "{0, 689}";
sepNavWindowFrame = "{{0, 4}, {1280, 774}}";
};
};
256AC3D90F4B6AC300CF3369 /* MGMController.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1221, 949}}";
sepNavSelRange = "{0, 95}";
sepNavVisRange = "{0, 1429}";
sepNavWindowFrame = "{{0, 4}, {1280, 774}}";
};
};
256AC3F00F4B6AF500CF3369 /* Prefix.pch */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1221, 646}}";
sepNavSelRange = "{35, 0}";
sepNavVisRange = "{0, 161}";
sepNavWindowFrame = "{{0, 4}, {1280, 774}}";
};
};
29B97313FDCFA39411CA2CEA /* Project object */ = {
activeBuildConfigurationName = Release;
activeExecutable = 2AA24C9911A795F70032E0EF /* Password Practice */;
activeTarget = 8D1107260486CEB800E47090 /* Password Practice */;
addToTargets = (
8D1107260486CEB800E47090 /* Password Practice */,
);
codeSenseManager = 2AA24CA811A796140032E0EF /* Code sense */;
executables = (
2AA24C9911A795F70032E0EF /* Password Practice */,
);
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
834,
20,
48,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
794,
60,
20,
48,
43,
43,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXTargetDataSource_PrimaryAttribute,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 296254544;
PBXWorkspaceStateSaveDate = 296254544;
};
sourceControlManager = 2AA24CA711A796140032E0EF /* Source Control */;
userBuildSettings = {
};
};
29B97316FDCFA39411CA2CEA /* main.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1221, 646}}";
sepNavSelRange = "{71, 0}";
sepNavVisRange = "{0, 209}";
sepNavWindowFrame = "{{0, 4}, {1280, 774}}";
};
};
2AA24C9911A795F70032E0EF /* Password Practice */ = {
isa = PBXExecutable;
activeArgIndices = (
);
argumentStrings = (
);
autoAttachOnCrash = 1;
breakpointsEnabled = 0;
configStateDict = {
};
customDataFormattersEnabled = 1;
dataTipCustomDataFormattersEnabled = 1;
dataTipShowTypeColumn = 1;
dataTipSortType = 0;
debuggerPlugin = GDBDebugging;
disassemblyDisplayState = 0;
dylibVariantSuffix = "";
enableDebugStr = 1;
environmentEntries = (
);
executableSystemSymbolLevel = 0;
executableUserSymbolLevel = 0;
libgmallocEnabled = 0;
name = "Password Practice";
savedGlobals = {
};
showTypeColumn = 0;
sourceDirectories = (
);
variableFormatDictionary = {
};
};
2AA24CA711A796140032E0EF /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
2AA24CA811A796140032E0EF /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
2AA24D2F11A879550032E0EF /* info.plist */ = {
uiCtxt = {
sepNavWindowFrame = "{{0, 4}, {1280, 774}}";
};
};
8D1107260486CEB800E47090 /* Password Practice */ = {
activeExec = 0;
executables = (
2AA24C9911A795F70032E0EF /* Password Practice */,
);
};
}

1493
Password Practice.xcodeproj/grmrgecko.perspectivev3
File diff suppressed because it is too large
View File

292
Password Practice.xcodeproj/project.pbxproj

@ -0,0 +1,292 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
256AC3DA0F4B6AC300CF3369 /* MGMController.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* MGMController.m */; };
2AA24D3311A879A70032E0EF /* Password Practice.icns in Resources */ = {isa = PBXBuildFile; fileRef = 2AA24D3211A879A70032E0EF /* Password Practice.icns */; };
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
256AC3D80F4B6AC300CF3369 /* MGMController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMController.h; sourceTree = "<group>"; };
256AC3D90F4B6AC300CF3369 /* MGMController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMController.m; sourceTree = "<group>"; };
256AC3F00F4B6AF500CF3369 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
2AA24D2F11A879550032E0EF /* info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = info.plist; sourceTree = "<group>"; };
2AA24D3211A879A70032E0EF /* Password Practice.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "Password Practice.icns"; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* Password Practice.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Password Practice.app"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
256AC3D80F4B6AC300CF3369 /* MGMController.h */,
256AC3D90F4B6AC300CF3369 /* MGMController.m */,
);
path = Classes;
sourceTree = "<group>";
};
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* Password Practice.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* Password Practice */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = "Password Practice";
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
256AC3F00F4B6AF500CF3369 /* Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
2AA24D3211A879A70032E0EF /* Password Practice.icns */,
2AA24D2F11A879550032E0EF /* info.plist */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* Password Practice */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Password Practice" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "Password Practice";
productInstallPath = "$(HOME)/Applications";
productName = "Password Practice";
productReference = 8D1107320486CEB800E47090 /* Password Practice.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Password Practice" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
mainGroup = 29B97314FDCFA39411CA2CEA /* Password Practice */;
projectDirPath = "";
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* Password Practice */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
2AA24D3311A879A70032E0EF /* Password Practice.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072D0486CEB800E47090 /* main.m in Sources */,
256AC3DA0F4B6AC300CF3369 /* MGMController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C165DFE840E0CC02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
1DDD58150DA1D0A300B32029 /* English */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Prefix.pch;
GCC_VERSION = 4.0;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = "Password Practice";
SDKROOT = macosx10.4;
"SDKROOT[arch=x86_64]" = macosx10.5;
};
name = Debug;
};
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Prefix.pch;
GCC_VERSION = 4.0;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = "Password Practice";
SDKROOT = macosx10.4;
"SDKROOT[arch=x86_64]" = macosx10.5;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
SDKROOT = macosx10.6;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.6;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Password Practice" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
C01FCF4C08A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Password Practice" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

10
Prefix.pch

@ -0,0 +1,10 @@
//
// Password_Practice_Prefix.pch
// Password Practice
//
// Created by Mr. Gecko's Media on 5/21/10.
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

1
ReadMe.txt

@ -0,0 +1 @@
Simple, type in your password twice to verify that you typed it in right, and then hit return, a new window will appear allowing you to type in your password as many times as you like and keep track of if you typed it in right or not.

32
info.plist

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>Password Practice</string>
<key>CFBundleIdentifier</key>
<string>com.MrGeckosMedia.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.1</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

13
main.m

@ -0,0 +1,13 @@
//
// main.m
// Password Practice
//
// Created by Mr. Gecko's Media on 5/21/10.
//
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}
Loading…
Cancel
Save