Adding loads of neato registration stuff!
[MenuTunes.git] / MTShizzleWindow.m
diff --git a/MTShizzleWindow.m b/MTShizzleWindow.m
new file mode 100755 (executable)
index 0000000..b5241c8
--- /dev/null
@@ -0,0 +1,180 @@
+#import "MTShizzleWindow.h"
+
+@interface MTShizzleWindow (Private)
+- (void)setBling:(id)bling;
+- (void)buildWindow;
+- (void)setTargets;
+@end
+
+@implementation MTShizzleWindow
+
+static MTShizzleWindow *_privateSharedWindow = nil;
+
++ (id)sharedWindowForSender:(id)sender
+{
+    if( _privateSharedWindow ) {
+        [_privateSharedWindow setBling:sender];
+        return _privateSharedWindow;
+    } else {
+        _privateSharedWindow = [[MTShizzleWindow alloc]
+                        initWithContentRect:NSMakeRect(0, 0, 385, 353)
+                        styleMask:NSTitledWindowMask
+                        backing:NSBackingStoreBuffered
+                        defer:YES];
+        [_privateSharedWindow setBling:sender];
+        return _privateSharedWindow;
+    }
+}
+
+- (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)styleMask backing:(NSBackingStoreType)backingType defer:(BOOL)flag
+{
+    if ( (self = [super initWithContentRect:contentRect
+                        styleMask:styleMask
+                        backing:backingType
+                        defer:flag]) ) {
+        [self buildWindow];
+    }
+    return self;
+}
+
+- (void)dealloc
+{
+    [regMessage release];
+    [regBenefits release];
+    [enterInfo release];
+    [owner release];
+    [key release];
+    [ownerEntry release];
+    [keyEntry release];
+    [registerButton release];
+    [regLater release];
+    [verifyKey release];
+    [contentView release];
+    [box release];
+    [super dealloc];
+}
+
+- (void)setBling:(id)bling
+{
+    _sender = bling;
+    [self setTargets];
+}
+
+- (void)buildWindow
+{
+    unichar returnChar = '\r';
+    
+    [self setReleasedWhenClosed:NO];
+    [self setTitle:[NSString stringWithFormat:@"Register %@", @"MenuTunes"]];
+    contentView = [self contentView];
+    
+    regMessage = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 282, 345, 51)];
+    [regMessage setStringValue:[NSString stringWithFormat:@"%@ is shareware.  If you find it to be a valuable tool, please click the button below to buy your copy.  Your support is greatly appreciated.", @"MenuTunes"]];
+    [regMessage setBordered:NO];
+    [regMessage setBezeled:NO];
+    [regMessage setEditable:NO];
+    [regMessage setSelectable:NO];
+    [regMessage setDrawsBackground:NO];
+    [contentView addSubview:regMessage];
+    
+    //Make me gray!
+    box = [[NSBox alloc] initWithFrame:NSMakeRect(20, 181, 345, 81)];
+    [box setTitlePosition:NSNoTitle];
+    [box setBorderType:NSBezelBorder];
+    [contentView addSubview:box];
+    
+    //This isn't tall enough
+    registerButton = [[NSButton alloc] initWithFrame:NSMakeRect(24, 13, 115, 49)];
+    [registerButton setImage:[NSImage imageNamed:@"esellerate"]];
+    [registerButton setButtonType:NSMomentaryPushButton];
+    [registerButton setBezelStyle:NSRegularSquareBezelStyle];
+    [registerButton setTarget:_sender];
+    [registerButton setAction:@selector(goToTheStore:)];
+    [[box contentView] addSubview:registerButton];
+    
+    regBenefits = [[NSTextField alloc] initWithFrame:NSMakeRect(152, 16, 175, 42)];
+    [regBenefits setStringValue:[NSString stringWithUTF8String:"• Register instantly and easily.\n• Fast, secure transaction.\n• Major credit cards accepted."]];
+    [regBenefits setBordered:NO];
+    [regBenefits setBezeled:NO];
+    [regBenefits setEditable:NO];
+    [regBenefits setSelectable:NO];
+    [regBenefits setDrawsBackground:NO];
+    [regBenefits setFont:[NSFont fontWithName:@"Lucida Grande" size:11]];
+    [[box contentView] addSubview:regBenefits];
+    
+    enterInfo = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 148, 345, 17)];
+    [enterInfo setStringValue:@"Please enter your registration information below."];
+    [enterInfo setBordered:NO];
+    [enterInfo setBezeled:NO];
+    [enterInfo setEditable:NO];
+    [enterInfo setSelectable:NO];
+    [enterInfo setDrawsBackground:NO];
+    [enterInfo setFont:[NSFont fontWithName:@"Lucida Grande" size:13]];
+    [contentView addSubview:enterInfo];
+    
+    owner = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 126, 345, 14)];
+    [owner setStringValue:@"License Owner:"];
+    [owner setBordered:NO];
+    [owner setBezeled:NO];
+    [owner setEditable:NO];
+    [owner setSelectable:NO];
+    [owner setDrawsBackground:NO];
+    [owner setFont:[NSFont fontWithName:@"Lucida Grande" size:11]];
+    [contentView addSubview:owner];
+    
+    key = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 82, 345, 14)];
+    [key setStringValue:@"License Key:"];
+    [key setBordered:NO];
+    [key setBezeled:NO];
+    [key setEditable:NO];
+    [key setSelectable:NO];
+    [key setDrawsBackground:NO];
+    [key setFont:[NSFont fontWithName:@"Lucida Grande" size:11]];
+    [contentView addSubview:key];
+    
+    ownerEntry = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 104, 345, 22)];
+    [ownerEntry setTarget:_sender];
+    [ownerEntry setAction:@selector(verifyKey:)];
+    [contentView addSubview:ownerEntry];
+    
+    keyEntry = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 60, 345, 22)];
+    [keyEntry setTarget:_sender];
+    [keyEntry setAction:@selector(verifyKey:)];
+    [contentView addSubview:keyEntry];
+    
+    regLater = [[NSButton alloc] initWithFrame:NSMakeRect(138, 16, 116, 25)];
+    [regLater setTitle:@"Register Later"];
+    [regLater setTarget:_sender];
+    [regLater setAction:@selector(registerLater:)];
+    [regLater setBezelStyle:NSRoundedBezelStyle];
+    [contentView addSubview:regLater];
+    
+    verifyKey = [[NSButton alloc] initWithFrame:NSMakeRect(255, 16, 116, 25)];
+    [verifyKey setTitle:@"Verify Key"];
+    [verifyKey setTarget:_sender];
+    [verifyKey setAction:@selector(verifyKey:)];
+    [verifyKey setBezelStyle:NSRoundedBezelStyle];
+    [verifyKey setKeyEquivalent:[NSString stringWithCharacters:&returnChar length:1]];
+    [contentView addSubview:verifyKey];
+}
+
+- (void)setTargets
+{
+    [registerButton setTarget:_sender];
+    [ownerEntry setTarget:_sender];
+    [keyEntry setTarget:_sender];
+    [regLater setTarget:_sender];
+    [verifyKey setTarget:_sender];
+}
+
+- (NSString *)owner
+{
+    return [ownerEntry stringValue];
+}
+
+- (NSString *)key
+{
+    return [keyEntry stringValue];
+}
+
+@end