Fixed issue for people who's language is not english, made it localizable, added metadata support so you can filter by metadata, fixed menu bar tooltip, cleaned up strings, and fixed issue where closing the preferences pane or window for events would crash if it's still playing a sound.

This commit is contained in:
GRMrGecko 2011-02-02 14:58:24 -06:00
parent 9ebac37394
commit 85a3c3bcc6
67 changed files with 656 additions and 1102 deletions

View File

@ -2,7 +2,7 @@
// MGMAddons.h
// CocoaShare
//
// Created by James on 1/22/11.
// Created by Mr. Gecko on 1/22/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMAddons.m
// CocoaShare
//
// Created by James on 1/22/11.
// Created by Mr. Gecko on 1/22/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMAutoUpdateField.h
// CocoaShare
//
// Created by James on 1/17/11.
// Created by Mr. Gecko on 1/17/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMAutoUpdateField.m
// CocoaShare
//
// Created by James on 1/17/11.
// Created by Mr. Gecko on 1/17/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -8,6 +8,7 @@
#import <Cocoa/Cocoa.h>
#import "MGMPlugInProtocol.h"
#import "MGMLocalized.h"
extern NSString * const MGMDisplay;
extern NSString * const MGMStartup;

View File

@ -92,10 +92,10 @@ static MGMController *MGMSharedController;
[defaults setInteger:[defaults integerForKey:MGMLaunchCount]+1 forKey:MGMLaunchCount];
if ([defaults integerForKey:MGMLaunchCount]==5) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Donations"];
[alert setInformativeText:@"Thank you for using CocoaShare. CocoaShare is donation supported software. If you like using it, please consider giving a donation to help with development."];
[alert addButtonWithTitle:@"Yes"];
[alert addButtonWithTitle:@"No"];
[alert setMessageText:[@"Donations" localized]];
[alert setInformativeText:[@"Thank you for using CocoaShare. CocoaShare is donation supported software. If you like using it, please consider giving a donation to help with development." localized]];
[alert addButtonWithTitle:[@"Yes" localized]];
[alert addButtonWithTitle:[@"No" localized]];
int result = [alert runModal];
if (result==1000)
[self donate:self];
@ -267,9 +267,9 @@ static MGMController *MGMSharedController;
[menuItem setDelegate:self];
[menuItem setImage:[NSImage imageNamed:@"menuicon"]];
[menuItem setAlternateImage:[NSImage imageNamed:@"menuiconselected"]];
[menuItem setToolTip:@"CocoaShare"];
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
[statusItem setView:menuItem];
[statusItem setToolTip:@"CocoaShare"];
}
}
- (void)removeMenu {
@ -294,10 +294,10 @@ static MGMController *MGMSharedController;
if (isHidden) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Restart Required"];
[alert setInformativeText:@"Inorder to hide the dock, you must restart CocoaShare. Do you want to restart CocoaShare now?"];
[alert addButtonWithTitle:@"Yes"];
[alert addButtonWithTitle:@"No"];
[alert setMessageText:[@"Restart Required" localized]];
[alert setInformativeText:[@"Inorder to hide the dock, you must restart CocoaShare. Do you want to restart CocoaShare now?" localized]];
[alert addButtonWithTitle:[@"Yes" localized]];
[alert addButtonWithTitle:[@"No" localized]];
int result = [alert runModal];
if (result==1000) {
//Took from Sparkle.
@ -309,8 +309,8 @@ static MGMController *MGMSharedController;
}
} else {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Unable to change dock"];
[alert setInformativeText:[NSString stringWithFormat:@"CocoaShare is unable to %@ the dock due to permissions. To fix this issue, right click on CocoaShare and choose Get Info to make CocoaShare writable.", (isHidden ? @"hide" : @"unhide")]];
[alert setMessageText:[@"Unable to change dock" localized]];
[alert setInformativeText:[NSString stringWithFormat:[@"CocoaShare is unable to %@ the dock due to permissions. To fix this issue, right click on CocoaShare and choose Get Info to make CocoaShare writable." localized], (isHidden ? [@"hide" localized] : [@"unhide" localized])]];
[alert runModal];
}
if (!isHidden) {
@ -337,8 +337,8 @@ static MGMController *MGMSharedController;
if ([manager fileExistsAtPath:[files objectAtIndex:i] isDirectory:&directory]) {
if (directory) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Upload Error"];
[alert setInformativeText:@"Uploading of directories is impossible."];
[alert setMessageText:[@"Upload Error" localized]];
[alert setInformativeText:[@"Uploading of directories is impossible." localized]];
[alert runModal];
continue;
}
@ -365,7 +365,7 @@ static MGMController *MGMSharedController;
NSDictionary *historyItem = [history objectAtIndex:i];
NSMenuItem *item = [[NSMenuItem new] autorelease];
NSDateFormatter *formatter = [[NSDateFormatter new] autorelease];
[formatter setDateFormat:@"MMMM d, yyyy h:mm:ss a"];
[formatter setDateFormat:[@"MMMM d, yyyy h:mm:ss a" localized]];
NSString *date = [formatter stringFromDate:[historyItem objectForKey:MGMHDate]];
if (date!=nil)
[item setTitle:date];
@ -378,7 +378,7 @@ static MGMController *MGMSharedController;
}
} else {
NSMenuItem *item = [[NSMenuItem new] autorelease];
[item setTitle:@"No Upload History"];
[item setTitle:[@"No Upload History" localized]];
[item setEnabled:NO];
[mainMenu insertItem:item atIndex:splitterIndex];
}
@ -408,8 +408,8 @@ static MGMController *MGMSharedController;
[panel setCanChooseDirectories:NO];
[panel setResolvesAliases:YES];
[panel setAllowsMultipleSelection:YES];
[panel setTitle:@"Choose File(s)"];
[panel setPrompt:@"Choose"];
[panel setTitle:[@"Choose File(s)" localized]];
[panel setPrompt:[@"Choose" localized]];
[self becomeFront:nil];
int returnCode = [panel runModal];
if (returnCode==NSOKButton) {
@ -433,7 +433,7 @@ static MGMController *MGMSharedController;
- (IBAction)disableFilters:(id)sender {
filtersEnabled = !filtersEnabled;
[disableFilters setTitle:(filtersEnabled ? @"Disable Auto Upload" : @"Enable Auto Upload")];
[disableFilters setTitle:(filtersEnabled ? [@"Disable Auto Upload" localized] : [@"Enable Auto Upload" localized])];
}
- (IBAction)about:(id)sender {
[about show];
@ -492,16 +492,45 @@ static MGMController *MGMSharedController;
- (void)subscribedPathChanged:(NSString *)thePath {
if (filtersEnabled) {
NSFileManager *manager = [NSFileManager defaultManager];
NSDate *dateLimit = [NSDate dateWithTimeIntervalSinceNow:-2];
NSArray *filtersFound = [self filtersForPath:thePath];
NSArray *files = [manager contentsOfDirectoryAtPath:thePath];
for (int i=0; i<[files count]; i++) {
NSString *file = [files objectAtIndex:i];
NSString *fullPath = [thePath stringByAppendingPathComponent:file];
NSDictionary *attributes = [manager attributesOfItemAtPath:fullPath];
if ([[attributes objectForKey:NSFileCreationDate] earlierDate:dateLimit]!=dateLimit)
continue;
BOOL directory = NO;
if ([manager fileExistsAtPath:fullPath isDirectory:&directory] && !directory) {
for (int f=0; f<[filtersFound count]; f++) {
if ([file isMatchedByRegex:[[filtersFound objectAtIndex:f] objectForKey:MGMFFilter]])
[self addPathToUploads:fullPath isAutomatic:YES];
NSString *filter = [[filtersFound objectAtIndex:f] objectForKey:MGMFFilter];
if ([filter hasPrefix:@"MD:"]) {
if ([filter hasPrefix:@"MD: "])
filter = [filter substringFromIndex:4];
else
filter = [filter substringFromIndex:3];
MDItemRef metadata = MDItemCreate(kCFAllocatorDefault, (CFStringRef)fullPath);
if (metadata!=NULL) {
NSArray *items = (NSArray *)MDItemCopyAttributeNames(metadata);
for (int m=0; m<[items count]; m++) {
id item = (id)MDItemCopyAttribute(metadata, (CFStringRef)[items objectAtIndex:m]);
if ([[items objectAtIndex:m] isMatchedByRegex:filter])
[self addPathToUploads:fullPath isAutomatic:YES];
else if ([item isKindOfClass:[NSString class]] && [item isMatchedByRegex:filter])
[self addPathToUploads:fullPath isAutomatic:YES];
CFRelease((CFTypeRef)item);
}
CFRelease((CFArrayRef)items);
CFRelease(metadata);
} else {
NSLog(@"Unable to get metadata of %@", fullPath);
}
} else {
if ([file isMatchedByRegex:filter])
[self addPathToUploads:fullPath isAutomatic:YES];
}
}
}
}
@ -571,20 +600,20 @@ static MGMController *MGMSharedController;
NSString *description = nil;
NSString *notificationName = nil;
if (theEvent==MGMEUploading) {
title = @"Uploading File";
description = [NSString stringWithFormat:@"Uploading %@", [[thePath lastPathComponent] stringByDeletingPathExtension]];
title = [@"Uploading File" localized];
description = [NSString stringWithFormat:[@"Uploading %@" localized], [[thePath lastPathComponent] stringByDeletingPathExtension]];
notificationName = @"UploadingFile";
} else if (theEvent==MGMEUploadingAutomatic) {
title = @"Automatically Uploading File";
description = [NSString stringWithFormat:@"Uploading %@", [[thePath lastPathComponent] stringByDeletingPathExtension]];
title = [@"Automatically Uploading File" localized];
description = [NSString stringWithFormat:[@"Uploading %@" localized], [[thePath lastPathComponent] stringByDeletingPathExtension]];
notificationName = @"UploadingFileAutomatically";
} else if (theEvent==MGMEUploaded) {
title = @"Uploaded File";
description = [NSString stringWithFormat:@"Uploaded %@ to %@", [[thePath lastPathComponent] stringByDeletingPathExtension], theURL];
title = [@"Uploaded File" localized];
description = [NSString stringWithFormat:[@"Uploaded %@ to %@" localized], [[thePath lastPathComponent] stringByDeletingPathExtension], theURL];
notificationName = @"UploadedFile";
} else if (theEvent==MGMEUploadedAutomatic) {
title = @"Automatically Uploaded File";
description = [NSString stringWithFormat:@"Uploaded %@ to %@", [[thePath lastPathComponent] stringByDeletingPathExtension], theURL];
title = [@"Automatically Uploaded File" localized];
description = [NSString stringWithFormat:[@"Uploaded %@ to %@" localized], [[thePath lastPathComponent] stringByDeletingPathExtension], theURL];
notificationName = @"UploadedFileAutomatically";
}
[GrowlApplicationBridge notifyWithTitle:title description:description notificationName:notificationName iconData:[[[NSApplication sharedApplication] applicationIconImage] TIFFRepresentation] priority:0 isSticky:NO clickContext:nil];
@ -610,8 +639,8 @@ static MGMController *MGMSharedController;
if ([currentPlugIn respondsToSelector:@selector(allowedExtensions)]) {
if (![[currentPlugIn allowedExtensions] containsObject:[[thePath pathExtension] lowercaseString]]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Upload Error"];
[alert setInformativeText:@"The current PlugIn does not support this file format."];
[alert setMessageText:[@"Upload Error" localized]];
[alert setInformativeText:[@"The current PlugIn does not support this file format." localized]];
[alert runModal];
return;
}
@ -625,15 +654,15 @@ static MGMController *MGMSharedController;
if ([uploads count]>0) {
if (currentPlugIn==nil) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Upload Error"];
[alert setInformativeText:@"No PlugIns found. You must have at least 1 PlugIn to upload a file."];
[alert setMessageText:[@"Upload Error" localized]];
[alert setInformativeText:[@"No PlugIns found. You must have at least 1 PlugIn to upload a file." localized]];
[alert runModal];
[uploads removeAllObjects];
return;
} else if (![currentPlugIn respondsToSelector:@selector(sendFileAtPath:withName:)]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Upload Error"];
[alert setInformativeText:@"The current PlugIn doesn't support uploading."];
[alert setMessageText:[@"Upload Error" localized]];
[alert setInformativeText:[@"The current PlugIn doesn't support uploading." localized]];
[alert runModal];
[uploads removeAllObjects];
return;
@ -661,11 +690,11 @@ static MGMController *MGMSharedController;
NSDictionary *upload = [self uploadForPath:thePath];
if (upload!=nil) {
if ([[NSUserDefaults standardUserDefaults] boolForKey:MGMGrowlErrors]) {
[GrowlApplicationBridge notifyWithTitle:@"Unable to upload" description:[NSString stringWithFormat:@"%@: %@", [[upload objectForKey:MGMUPath] lastPathComponent], [theError localizedDescription]] notificationName:@"UploadError" iconData:[[[NSApplication sharedApplication] applicationIconImage] TIFFRepresentation] priority:1 isSticky:NO clickContext:nil];
[GrowlApplicationBridge notifyWithTitle:[@"Unable to upload" localized] description:[NSString stringWithFormat:@"%@: %@", [[upload objectForKey:MGMUPath] lastPathComponent], [theError localizedDescription]] notificationName:@"UploadError" iconData:[[[NSApplication sharedApplication] applicationIconImage] TIFFRepresentation] priority:1 isSticky:NO clickContext:nil];
} else {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Upload Error"];
[alert setInformativeText:[NSString stringWithFormat:@"Unable to upload %@: %@", [[upload objectForKey:MGMUPath] lastPathComponent], [theError localizedDescription]]];
[alert setMessageText:[@"Upload Error" localized]];
[alert setInformativeText:[NSString stringWithFormat:[@"Unable to upload %@: %@" localized], [[upload objectForKey:MGMUPath] lastPathComponent], [theError localizedDescription]]];
[alert runModal];
}
[uploads removeObject:upload];

View File

@ -2,7 +2,7 @@
// MGMFileManager.h
// CocoaShare
//
// Created by James on 1/22/11.
// Created by Mr. Gecko on 1/22/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -3,7 +3,7 @@
// MGMFileManager.m
// CocoaShare
//
// Created by James on 1/22/11.
// Created by Mr. Gecko on 1/22/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -0,0 +1,16 @@
//
// MGMLocalized.h
// CocoaShare
//
// Created by Mr. Gecko on 2/2/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import <Cocoa/Cocoa.h>
@interface NSString (MGMLocalized)
- (NSString *)localized;
- (NSString *)localizedInTable:(NSString *)theTable;
- (NSString *)localizedFor:(id)sender;
- (NSString *)localizedFor:(id)sender inTable:(NSString *)theTable;
@end

View File

@ -0,0 +1,29 @@
//
// MGMLocalized.m
// CocoaShare
//
// Created by Mr. Gecko on 2/2/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMLocalized.h"
@implementation NSString (MGMLocalized)
- (NSString *)localized {
return [self localizedFor:nil inTable:nil];
}
- (NSString *)localizedInTable:(NSString *)theTable {
return [self localizedFor:nil inTable:theTable];
}
- (NSString *)localizedFor:(id)sender {
return [self localizedFor:sender inTable:nil];
}
- (NSString *)localizedFor:(id)sender inTable:(NSString *)theTable {
NSString *localized = nil;
if (sender!=nil)
localized = [[NSBundle bundleForClass:[sender class]] localizedStringForKey:self value:@"" table:theTable];
if ([localized isEqual:@""] || localized==nil)
localized = [[NSBundle mainBundle] localizedStringForKey:self value:@"" table:theTable];
return localized;
}
@end

View File

@ -2,7 +2,7 @@
// MGMMenuItem.h
// CocoaShare
//
// Created by James on 1/16/11.
// Created by Mr. Gecko on 1/16/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMMenuItem.m
// CocoaShare
//
// Created by James on 1/16/11.
// Created by Mr. Gecko on 1/16/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMPlugInProtocol.h
// CocoaShare
//
// Created by James on 1/18/11.
// Created by Mr. Gecko on 1/18/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMWebDav.h
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMWebDav.m
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMWebDavAddons.h
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMWebDavAddons.m
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMWebDavDelete.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,12 +2,13 @@
// MGMWebDavDelete.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMWebDavDelete.h"
#import "MGMWebDav.h"
#import "MGMLocalized.h"
NSString * const MGMWebDavMDELETE = @"DELETE";
@ -74,7 +75,7 @@ NSString * const MGMWebDavMDELETE = @"DELETE";
if ([response statusCode]==204) {
if ([[self delegate] respondsToSelector:@selector(webDav:deleted:)]) [[self delegate] webDav:webDav deleted:self];
} else {
NSString *description = [NSString stringWithFormat:@"The response was returned as %@ and not %@.", [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:204]];
NSString *description = [NSString stringWithFormat:[@"The response was returned as %@ and not %@." localized], [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:204]];
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:[response statusCode] userInfo:[NSDictionary dictionaryWithObject:description forKey:NSLocalizedDescriptionKey]];
if ([[self delegate] respondsToSelector:@selector(webDav:error:deleting:)]) [[self delegate] webDav:webDav error:error deleting:self];
}

View File

@ -2,7 +2,7 @@
// MGMWebDavGet.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,12 +2,13 @@
// MGMWebDavGet.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMWebDavGet.h"
#import "MGMWebDav.h"
#import "MGMLocalized.h"
NSString * const MGMWebDavMGET = @"GET";
@ -94,7 +95,7 @@ NSString * const MGMWebDavMGET = @"GET";
[fileHandle closeFile];
[fileHandle release];
fileHandle = nil;
NSString *description = [NSString stringWithFormat:@"The response was returned as %@ and not %@.", [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:200]];
NSString *description = [NSString stringWithFormat:[@"The response was returned as %@ and not %@." localized], [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:200]];
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:[response statusCode] userInfo:[NSDictionary dictionaryWithObject:description forKey:NSLocalizedDescriptionKey]];
if ([[self delegate] respondsToSelector:@selector(webDav:error:getting:)]) [[self delegate] webDav:webDav error:error getting:self];
[webDav cancelHandler:self];

View File

@ -2,7 +2,7 @@
// MGMWebDavMkCol.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,12 +2,13 @@
// MGMWebDavMkCol.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMWebDavMkCol.h"
#import "MGMWebDav.h"
#import "MGMLocalized.h"
NSString * const MGMWebDavMMKCOL = @"MKCOL";
@ -74,7 +75,7 @@ NSString * const MGMWebDavMMKCOL = @"MKCOL";
if ([response statusCode]==201) {
if ([[self delegate] respondsToSelector:@selector(webDav:mkCol:)]) [[self delegate] webDav:webDav mkCol:self];
} else {
NSString *description = [NSString stringWithFormat:@"The response was returned as %@ and not %@.", [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:201]];
NSString *description = [NSString stringWithFormat:[@"The response was returned as %@ and not %@." localized], [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:201]];
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:[response statusCode] userInfo:[NSDictionary dictionaryWithObject:description forKey:NSLocalizedDescriptionKey]];
if ([[self delegate] respondsToSelector:@selector(webDav:error:mkCol:)]) [[self delegate] webDav:webDav error:error mkCol:self];
}

View File

@ -2,7 +2,7 @@
// MGMWebDavOptions.h
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,12 +2,13 @@
// MGMWebDavOptions.m
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMWebDavOptions.h"
#import "MGMWebDav.h"
#import "MGMLocalized.h"
NSString * const MGMWebDavMOPTIONS = @"OPTIONS";
@ -74,7 +75,7 @@ NSString * const MGMWebDavMOPTIONS = @"OPTIONS";
if ([[theResponse allHeaderFields] objectForKey:@"Dav"]!=nil) {
if ([[self delegate] respondsToSelector:@selector(webDav:receivedOptions:)]) [[self delegate] webDav:webDav receivedOptions:self];
} else {
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:1 userInfo:[NSDictionary dictionaryWithObject:@"The HTTP server does not have WebDav enabled in this directory." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:1 userInfo:[NSDictionary dictionaryWithObject:[@"The HTTP server does not have WebDav enabled in this directory." localized] forKey:NSLocalizedDescriptionKey]];
if ([[self delegate] respondsToSelector:@selector(webDav:error:recevingOptions:)]) [[self delegate] webDav:webDav error:error recevingOptions:self];
}
}

View File

@ -2,7 +2,7 @@
// MGMWebDavPropFind.h
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,12 +2,13 @@
// MGMWebDavPropFind.m
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMWebDavPropFind.h"
#import "MGMWebDav.h"
#import "MGMLocalized.h"
NSString * const MGMWebDavMPROPFIND = @"PROPFIND";
@ -141,7 +142,7 @@ NSString * const MGMWebDavPRFile = @"file";
- (void)didReceiveResponse:(NSHTTPURLResponse *)theResponse {
response = [theResponse retain];
if ([response statusCode]!=207) {
NSString *description = [NSString stringWithFormat:@"The response was returned as %@ and not %@.", [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:207]];
NSString *description = [NSString stringWithFormat:[@"The response was returned as %@ and not %@." localized], [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:207]];
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:[response statusCode] userInfo:[NSDictionary dictionaryWithObject:description forKey:NSLocalizedDescriptionKey]];
if ([[self delegate] respondsToSelector:@selector(webDav:error:recevingProperties:)]) [[self delegate] webDav:webDav error:error recevingProperties:self];
[webDav cancelHandler:self];

View File

@ -2,7 +2,7 @@
// MGMWebDavPut.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,12 +2,13 @@
// MGMWebDavPut.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMWebDavPut.h"
#import "MGMWebDav.h"
#import "MGMLocalized.h"
NSString * const MGMWebDavMPUT = @"PUT";
@ -87,7 +88,7 @@ NSString * const MGMWebDavMPUT = @"PUT";
if ([response statusCode]==201 || [response statusCode]==204) {
if ([[self delegate] respondsToSelector:@selector(webDav:successfullyPut:)]) [[self delegate] webDav:webDav successfullyPut:self];
} else {
NSString *description = [NSString stringWithFormat:@"The response was returned as %@ and not %@.", [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:201]];
NSString *description = [NSString stringWithFormat:[@"The response was returned as %@ and not %@." localized], [NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]], [NSHTTPURLResponse localizedStringForStatusCode:201]];
NSError *error = [NSError errorWithDomain:MGMWebDavErrorDomain code:[response statusCode] userInfo:[NSDictionary dictionaryWithObject:description forKey:NSLocalizedDescriptionKey]];
if ([[self delegate] respondsToSelector:@selector(webDav:error:putting:)]) [[self delegate] webDav:webDav error:error putting:self];
}

View File

@ -2,7 +2,7 @@
// MGMAccountPane.h
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMAccountPane.m
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -19,7 +19,7 @@
NSArray *accountPlugIns = [controller accountPlugIns];
for (int i=0; i<[accountPlugIns count]; i++) {
id<MGMPlugInProtocol> plugIn = [accountPlugIns objectAtIndex:i];
NSString *name = ([plugIn respondsToSelector:@selector(plugInName)] ? [plugIn plugInName] : @"Unkown name");
NSString *name = ([plugIn respondsToSelector:@selector(plugInName)] ? [plugIn plugInName] : [@"Unkown name" localized]);
[typePopUp addItemWithTitle:name];
}
[typePopUp selectItemAtIndex:[controller currentPlugInIndex]];
@ -43,7 +43,7 @@
[theItem setImage:[NSImage imageNamed:@"Account"]];
}
+ (NSString *)title {
return @"Account";
return [@"Account" localized];
}
- (NSView *)preferencesView {
return view;

View File

@ -2,7 +2,7 @@
// MGMAutoUploadPane.h
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,13 +2,14 @@
// MGMAutoUploadPane.m
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
#import "MGMAutoUploadPane.h"
#import "MGMController.h"
#import "RegexKitLite.h"
#import <GeckoReporter/GeckoReporter.h>
@implementation MGMAutoUploadPane
- (id)initWithPreferences:(MGMPreferences *)thePreferences {
@ -34,7 +35,7 @@
[theItem setImage:[NSImage imageNamed:@"AutoUpload"]];
}
+ (NSString *)title {
return @"Auto Upload";
return [@"Auto Upload" localized];
}
- (NSView *)preferencesView {
return view;
@ -86,7 +87,12 @@
[NSThread detachNewThreadSelector:@selector(saveFilters) toTarget:controller withObject:nil];
}
- (IBAction)addScreenshotFilter:(id)sender {
[[controller filters] addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"~/Desktop", MGMFPath, @"(?i)Screen shot .+ at .+\\.(?:bmp|gif|jpg|pdf|pict|png|sgi|tga|tif|tiff)\\z|Picture [0-9]+\\.(?:bmp|gif|jpg|pdf|pict|png|sgi|tga|tif|tiff)\\z", MGMFFilter, nil]];
NSString *filter = nil;
if ([[MGMSystemInfo info] isAfterLeopard])
filter = @"MD:(?i)isScreenCapture\\z";
else
filter = [@"(?i)Picture [0-9]+\\.(?:bmp|gif|jpg|pdf|pict|png|sgi|tga|tif|tiff)\\z" localized];
[[controller filters] addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"~/Desktop", MGMFPath, filter, MGMFFilter, nil]];
[filtersTable reloadData];
int index = [[controller filters] count]-1;
[filtersTable selectRowIndexes:[NSIndexSet indexSetWithIndex:index] byExtendingSelection:NO];
@ -107,8 +113,8 @@
[panel setCanChooseDirectories:YES];
[panel setResolvesAliases:YES];
[panel setAllowsMultipleSelection:NO];
[panel setTitle:@"Choose Folder"];
[panel setPrompt:@"Choose"];
[panel setTitle:[@"Choose Folder" localized]];
[panel setPrompt:[@"Choose" localized]];
int returnCode = [panel runModal];
if (returnCode==NSOKButton) {
NSString *path = [[[panel URLs] objectAtIndex:0] path];
@ -139,7 +145,14 @@
[self test:self];
}
- (IBAction)test:(id)sender {
BOOL result = [[testField stringValue] isMatchedByRegex:[filterField stringValue]];
[testStatusField setStringValue:(result ? @"Match" : @"No Match")];
NSString *filter = [filterField stringValue];
if ([filter hasPrefix:@"MD:"]) {
if ([filter hasPrefix:@"MD: "])
filter = [filter substringFromIndex:4];
else
filter = [filter substringFromIndex:3];
}
BOOL result = [[testField stringValue] isMatchedByRegex:filter];
[testStatusField setStringValue:(result ? [@"Match" localized] : [@"No Match" localized])];
}
@end

View File

@ -2,7 +2,7 @@
// MGMEventsPane.h
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -17,6 +17,8 @@
IBOutlet NSButton *moveToChooseButton;
IBOutlet NSMatrix *deleteMatrix;
IBOutlet NSButton *growlButton;
NSSound *sound;
}
- (id)initWithPreferences:(MGMPreferences *)thePreferences;
+ (void)setUpToolbarItem:(NSToolbarItem *)theItem;

View File

@ -2,7 +2,7 @@
// MGMEventsPane.m
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -19,7 +19,7 @@
NSArray *sounds = [[self sounds] retain];
NSMenu *soundsMenu = [[NSMenu new] autorelease];
NSMenuItem *noneMenu = [[NSMenuItem new] autorelease];
[noneMenu setTitle:@"No Sound"];
[noneMenu setTitle:[@"No Sound" localized]];
[soundsMenu addItem:noneMenu];
[soundsMenu addItem:[NSMenuItem separatorItem]];
int selectedPath = -1;
@ -45,6 +45,8 @@
}
- (void)dealloc {
[view release];
[sound stop];
[sound release];
[super dealloc];
}
+ (void)setUpToolbarItem:(NSToolbarItem *)theItem {
@ -53,7 +55,7 @@
[theItem setImage:[NSImage imageNamed:@"Events"]];
}
+ (NSString *)title {
return @"Events";
return [@"Events" localized];
}
- (NSView *)preferencesView {
return view;
@ -111,15 +113,21 @@
}
- (IBAction)soundChange:(id)sender {
if ([[soundPopUp selectedItem] representedObject]!=nil) {
NSSound *sound = [[NSSound alloc] initWithContentsOfFile:[[soundPopUp selectedItem] representedObject] byReference:YES];
if (sound!=nil) {
[sound stop];
[sound release];
}
sound = [[NSSound alloc] initWithContentsOfFile:[[soundPopUp selectedItem] representedObject] byReference:YES];
[sound setDelegate:self];
[sound play];
[preferences setObject:[[soundPopUp selectedItem] representedObject] forKey:[NSString stringWithFormat:MGMESound, [eventPopUp indexOfSelectedItem]]];
}
}
- (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)finishedPlaying {
if (finishedPlaying)
- (void)sound:(NSSound *)theSound didFinishPlaying:(BOOL)finishedPlaying {
if (finishedPlaying) {
[sound release];
sound = nil;
}
}
- (IBAction)moveChange:(id)sender {
@ -131,8 +139,8 @@
[panel setCanChooseDirectories:YES];
[panel setResolvesAliases:YES];
[panel setAllowsMultipleSelection:NO];
[panel setTitle:@"Choose Folder"];
[panel setPrompt:@"Choose"];
[panel setTitle:[@"Choose Folder" localized]];
[panel setPrompt:[@"Choose" localized]];
int returnCode = [panel runModal];
if (returnCode==NSOKButton) {
NSString *path = [[[panel URLs] objectAtIndex:0] path];

View File

@ -2,7 +2,7 @@
// MGMGeneralPane.h
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMGeneralPane.m
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -35,7 +35,7 @@
[theItem setImage:[NSImage imageNamed:@"General"]];
}
+ (NSString *)title {
return @"General";
return [@"General" localized];
}
- (NSView *)preferencesView {
return view;

View File

@ -2,7 +2,7 @@
// main.m
// CocoaShare
//
// Created by James on 1/15/11.
// Created by Mr. Gecko on 1/15/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMDropboxPlugIn.h
// CocoaShare
//
// Created by James on 1/19/11.
// Created by Mr. Gecko on 1/19/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMDropboxPlugIn.m
// CocoaShare
//
// Created by James on 1/19/11.
// Created by Mr. Gecko on 1/19/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -103,24 +103,24 @@ NSString * const MGMDropboxFContents = @"contents";
[emailField setEnabled:NO];
[passwordField setEnabled:NO];
[loginButton setEnabled:NO];
[loginButton setTitle:@"Logging In"];
[loginButton setTitle:[@"Logging In" localizedFor:self]];
}
- (void)unlockLogin {
[emailField setEnabled:YES];
[passwordField setEnabled:YES];
[loginButton setEnabled:YES];
[loginButton setTitle:@"Login"];
[loginButton setTitle:[@"Login" localizedFor:self]];
}
- (IBAction)login:(id)sender {
if ([[emailField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Email Required"];
[alert setInformativeText:@"Please enter your email."];
[alert setMessageText:[@"Email Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your email." localizedFor:self]];
[alert runModal];
} else if ([[passwordField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Password Required"];
[alert setInformativeText:@"Please enter you password."];
[alert setMessageText:[@"Password Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your password." localizedFor:self]];
[alert runModal];
} else {
userLoggingIn = YES;
@ -134,7 +134,7 @@ NSString * const MGMDropboxFContents = @"contents";
- (void)restClient:(DBRestClient *)client loginFailedWithError:(NSError *)error {
NSLog(@"Dropbox Error: %@", error);
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[error localizedDescription]];
[alert runModal];
[self unlockLogin];
@ -147,8 +147,8 @@ NSString * const MGMDropboxFContents = @"contents";
loadingPublic = YES;
[dropbox loadMetadata:MGMDropboxPublic];
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -216,15 +216,15 @@ NSString * const MGMDropboxFContents = @"contents";
}
- (void)restClient:(DBRestClient *)client loadAccountInfoFailedWithError:(NSError *)error {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"Unable to get your account ID."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"Unable to get your account ID." localizedFor:self]];
[alert runModal];
}
- (void)sendFileAtPath:(NSString *)thePath withName:(NSString *)theName {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMDropboxEmail]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}

View File

@ -2,7 +2,7 @@
// MGMFTPPlugIn.m
// CocoaShare
//
// Created by James on 1/25/11.
// Created by Mr. Gecko on 1/25/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -89,7 +89,7 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
[pathField setEnabled:NO];
[urlField setEnabled:NO];
[loginButton setEnabled:NO];
[loginButton setTitle:@"Logging In"];
[loginButton setTitle:[@"Logging In" localizedFor:self]];
}
- (void)unlockLogin {
[hostField setEnabled:YES];
@ -98,28 +98,28 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
[pathField setEnabled:YES];
[urlField setEnabled:YES];
[loginButton setEnabled:YES];
[loginButton setTitle:@"Login"];
[loginButton setTitle:[@"Login" localizedFor:self]];
}
- (IBAction)login:(id)sender {
if ([[hostField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Host Required"];
[alert setInformativeText:@"Please enter your ftp host."];
[alert setMessageText:[@"Host Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your host." localizedFor:self]];
[alert runModal];
} else if ([[userField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"UserName Required"];
[alert setInformativeText:@"Please enter your ftp username."];
[alert setMessageText:[@"UserName Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your username." localizedFor:self]];
[alert runModal];
} else if ([[passwordField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Password Required"];
[alert setInformativeText:@"Please enter your ftp password."];
[alert setMessageText:[@"Password Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your password." localizedFor:self]];
[alert runModal];
} else if ([[urlField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"URL Required"];
[alert setInformativeText:@"Please enter the URL to where the files will be uploaded."];
[alert setMessageText:[@"URL Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter the URL to where the files will be uploaded." localizedFor:self]];
[alert runModal];
} else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@ -161,8 +161,8 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
if (![loginButton isEnabled]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"Incorrect login info."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"Incorrect login info." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -177,15 +177,15 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
if (response==250) {
[self unlockLogin];
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[[FTPInputPipe fileHandleForWriting] writeData:[@"bye\n" dataUsingEncoding:NSUTF8StringEncoding]];
} else if (response==550) {
[self unlockLogin];
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"You have sucessfully logged into your account, but the path you have entered does not exist."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account, but the path you have entered does not exist." localizedFor:self]];
[alert runModal];
[[FTPInputPipe fileHandleForWriting] writeData:[@"bye\n" dataUsingEncoding:NSUTF8StringEncoding]];
} else if (response==230) {
@ -193,8 +193,8 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
if ([[defaults objectForKey:MGMFTPPath] isEqual:@""]) {
[self unlockLogin];
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[[FTPInputPipe fileHandleForWriting] writeData:[@"bye\n" dataUsingEncoding:NSUTF8StringEncoding]];
} else {
@ -203,13 +203,13 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
} else if (response==530) {
NSAlert *alert = [[NSAlert new] autorelease];
[self unlockLogin];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:message];
[alert runModal];
} else if ([message rangeOfString:@"Can't connect or login to host"].location!=NSNotFound && ![loginButton isEnabled]) {
[self unlockLogin];
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:message];
[alert runModal];
}
@ -229,7 +229,7 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
- (void)sendFileAtPath:(NSString *)thePath withName:(NSString *)theName {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMFTPHost]==nil || [defaults objectForKey:MGMFTPUser]==nil || [defaults objectForKey:MGMFTPURL]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}
@ -268,7 +268,7 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
FTPInputPipe = nil;
if (theNotification!=nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:@"Incorrect login info" forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:[@"Incorrect login info." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
NSString *finishPath = [[filePath retain] autorelease];
[filePath release];
filePath = nil;
@ -304,7 +304,7 @@ NSString * const MGMFTPURL = @"MGMFTPURL";
} else if (response==550) {
[[FTPInputPipe fileHandleForWriting] writeData:[@"bye\n" dataUsingEncoding:NSUTF8StringEncoding]];
[self uploadExit:nil];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:@"The path to upload files to does not exist." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:[@"The path to upload files to does not exist." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
NSString *finishPath = [[filePath retain] autorelease];
[filePath release];
filePath = nil;

View File

@ -2,7 +2,7 @@
// MGMHTTPPlugIn.h
// CocoaShare
//
// Created by James on 1/18/11.
// Created by Mr. Gecko on 1/18/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMHTTPPlugIn.m
// CocoaShare
//
// Created by James on 1/18/11.
// Created by Mr. Gecko on 1/18/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -92,7 +92,7 @@ const BOOL MGMHTTPResponseInvisible = YES;
- (void)check:(NSDictionary *)theData didFailWithError:(NSError *)theError {
NSLog(@"HTTP Error: %@", theError);
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[theError localizedDescription]];
[alert runModal];
[self unlockLogin];
@ -106,8 +106,8 @@ const BOOL MGMHTTPResponseInvisible = YES;
if ([[response objectForKey:MGMHTTPRSuccessful] boolValue]) {
if ([[response objectForKey:MGMHTTPRLoggedIn] boolValue] && !userLoggingIn) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[self unlockLogin];
} else if (![[response objectForKey:MGMHTTPRLoggedIn] boolValue]) {
@ -121,7 +121,7 @@ const BOOL MGMHTTPResponseInvisible = YES;
return;
}
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[response objectForKey:MGMHTTPRError]];
[alert runModal];
[self unlockLogin];
@ -131,8 +131,8 @@ const BOOL MGMHTTPResponseInvisible = YES;
}
} else {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Unable to check http login detials"];
[alert setInformativeText:[NSString stringWithFormat:@"The URL %@ may not be a CocoaShare compatible URL.", [[NSUserDefaults standardUserDefaults] objectForKey:MGMHTTPURL]]];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[NSString stringWithFormat:[@"The URL %@ may not be a CocoaShare compatible URL." localizedFor:self], [[NSUserDefaults standardUserDefaults] objectForKey:MGMHTTPURL]]];
[alert runModal];
[self unlockLogin];
}
@ -143,21 +143,21 @@ const BOOL MGMHTTPResponseInvisible = YES;
[userField setEnabled:NO];
[passwordField setEnabled:NO];
[loginButton setEnabled:NO];
[loginButton setTitle:@"Logging In"];
[loginButton setTitle:[@"Logging In" localizedFor:self]];
}
- (void)unlockLogin {
[urlField setEnabled:YES];
[userField setEnabled:YES];
[passwordField setEnabled:YES];
[loginButton setEnabled:YES];
[loginButton setTitle:@"Login"];
[loginButton setTitle:[@"Login" localizedFor:self]];
}
- (IBAction)login:(id)sender {
userLoggingIn = NO;
if ([[urlField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"URL Required"];
[alert setInformativeText:@"Please enter the URL for the HTTP account."];
[alert setMessageText:[@"URL Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter the URL for the HTTP account." localizedFor:self]];
[alert runModal];
} else {
[[MGMController sharedController] setPassword:[passwordField stringValue]];
@ -172,7 +172,7 @@ const BOOL MGMHTTPResponseInvisible = YES;
- (void)sendFileAtPath:(NSString *)thePath withName:(NSString *)theName {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMHTTPURL]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}
@ -216,7 +216,7 @@ const BOOL MGMHTTPResponseInvisible = YES;
[[MGMController sharedController] upload:[theData objectForKey:MGMConnectionObject] receivedError:error];
}
} else {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:@"HTTP Server response is not a CocoaShare compatible response." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:[@"HTTP Server response is not a CocoaShare compatible response." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:[theData objectForKey:MGMConnectionObject] receivedError:error];
}
}

View File

@ -2,7 +2,7 @@
// MGMMobileMePlugIn.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMMobileMePlugIn.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -87,13 +87,13 @@ NSString * const MGMMobileMeFContents = @"contents";
[userField setEnabled:NO];
[passwordField setEnabled:NO];
[loginButton setEnabled:NO];
[loginButton setTitle:@"Logging In"];
[loginButton setTitle:[@"Logging In" localizedFor:self]];
}
- (void)unlockLogin {
[userField setEnabled:YES];
[passwordField setEnabled:YES];
[loginButton setEnabled:YES];
[loginButton setTitle:@"Login"];
[loginButton setTitle:[@"Login" localizedFor:self]];
}
- (void)login {
NSString *user = [[NSUserDefaults standardUserDefaults] objectForKey:MGMMobileMeUser];
@ -108,8 +108,8 @@ NSString * const MGMMobileMeFContents = @"contents";
- (IBAction)login:(id)sender {
if ([userField isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"UserName Required"];
[alert setInformativeText:@"Please enter your MobileMe UserName."];
[alert setMessageText:[@"UserName Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your username." localizedFor:self]];
[alert runModal];
} else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@ -129,7 +129,7 @@ NSString * const MGMMobileMeFContents = @"contents";
- (void)webDav:(MGMWebDav *)theSender error:(NSError *)theError recevingOptions:(MGMWebDavOptions *)theOptions {
NSLog(@"MobileMe Error: %@", theError);
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[theError localizedDescription]];
[alert runModal];
[self unlockLogin];
@ -143,7 +143,7 @@ NSString * const MGMMobileMeFContents = @"contents";
- (void)webDav:(MGMWebDav *)theSender error:(NSError *)theError recevingProperties:(MGMWebDavPropFind *)thePropFind {
NSLog(@"MobileMe Error: %@", theError);
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[theError localizedDescription]];
[alert runModal];
[self unlockLogin];
@ -190,8 +190,8 @@ NSString * const MGMMobileMeFContents = @"contents";
[propFind setDepth:1];
[webDav addHandler:propFind];
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -199,8 +199,8 @@ NSString * const MGMMobileMeFContents = @"contents";
}
}
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"The URL you have entered does not appear to be a directory."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"The URL you have entered does not appear to be a directory." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -233,7 +233,7 @@ NSString * const MGMMobileMeFContents = @"contents";
- (void)sendFileAtPath:(NSString *)thePath withName:(NSString *)theName {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMMobileMeUser]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}

View File

@ -2,7 +2,7 @@
// MGMSFTPPlugIn.h
// CocoaShare
//
// Created by James on 1/26/11.
// Created by Mr. Gecko on 1/26/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMSFTPPlugIn.m
// CocoaShare
//
// Created by James on 1/26/11.
// Created by Mr. Gecko on 1/26/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -89,7 +89,7 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
[pathField setEnabled:NO];
[urlField setEnabled:NO];
[loginButton setEnabled:NO];
[loginButton setTitle:@"Logging In"];
[loginButton setTitle:[@"Logging In" localizedFor:self]];
}
- (void)unlockLogin {
[hostField setEnabled:YES];
@ -98,23 +98,23 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
[pathField setEnabled:YES];
[urlField setEnabled:YES];
[loginButton setEnabled:YES];
[loginButton setTitle:@"Login"];
[loginButton setTitle:[@"Login" localizedFor:self]];
}
- (IBAction)login:(id)sender {
if ([[hostField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Host Required"];
[alert setInformativeText:@"Please enter your sftp host."];
[alert setMessageText:[@"Host Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your sftp host." localizedFor:self]];
[alert runModal];
} else if ([[userField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"UserName Required"];
[alert setInformativeText:@"Please enter your sftp username."];
[alert setMessageText:[@"UserName Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your sftp username." localizedFor:self]];
[alert runModal];
} else if ([[urlField stringValue] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"URL Required"];
[alert setInformativeText:@"Please enter the URL to where the files will be uploaded."];
[alert setMessageText:[@"URL Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter the URL to where the files will be uploaded." localizedFor:self]];
[alert runModal];
} else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@ -160,8 +160,8 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
if (![loginButton isEnabled]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"Incorrect login info."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"Incorrect login info." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -172,8 +172,8 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([[defaults objectForKey:MGMSFTPPath] isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[self unlockLogin];
} else {
@ -184,27 +184,27 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([[defaults objectForKey:MGMSFTPPath] hasPrefix:theString]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[self unlockLogin];
} else {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"You have sucessfully logged into your account, but the path you have entered does not exist."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account, but the path you have entered does not exist." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
[[SFTPInputPipe fileHandleForWriting] writeData:[@"exit\n" dataUsingEncoding:NSUTF8StringEncoding]];
} else if ([theString rangeOfString:@"Permission denied"].location!=NSNotFound) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:theString];
[alert runModal];
[self unlockLogin];
} else if ([theString rangeOfString:@"Could not resolve"].location!=NSNotFound) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:theString];
[alert runModal];
[self unlockLogin];
@ -224,7 +224,7 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
- (void)sendFileAtPath:(NSString *)thePath withName:(NSString *)theName {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMSFTPHost]==nil || [defaults objectForKey:MGMSFTPUser]==nil || [defaults objectForKey:MGMSFTPURL]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}
@ -268,7 +268,7 @@ NSString * const MGMSFTPURL = @"MGMSFTPURL";
SFTPInputPipe = nil;
if (theNotification!=nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:@"Incorrect login info" forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:1 userInfo:[NSDictionary dictionaryWithObject:[@"Incorrect login info" localizedFor:self] forKey:NSLocalizedDescriptionKey]];
NSString *finishPath = [[filePath retain] autorelease];
[filePath release];
filePath = nil;

View File

@ -2,7 +2,7 @@
// MGMWebDavPlugIn.h
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMWebDavPlugIn.m
// CocoaShare
//
// Created by James on 1/28/11.
// Created by Mr. Gecko on 1/28/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -76,14 +76,14 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
[userField setEnabled:NO];
[passwordField setEnabled:NO];
[loginButton setEnabled:NO];
[loginButton setTitle:@"Logging In"];
[loginButton setTitle:[@"Logging In" localizedFor:self]];
}
- (void)unlockLogin {
[urlField setEnabled:YES];
[userField setEnabled:YES];
[passwordField setEnabled:YES];
[loginButton setEnabled:YES];
[loginButton setTitle:@"Login"];
[loginButton setTitle:[@"Login" localizedFor:self]];
}
- (void)login {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@ -100,8 +100,8 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
- (IBAction)login:(id)sender {
if ([urlField isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"URL Required"];
[alert setInformativeText:@"Please enter the WebDav URL."];
[alert setMessageText:[@"URL Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter the WebDav URL." localizedFor:self]];
[alert runModal];
} else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@ -117,7 +117,7 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
- (void)webDav:(MGMWebDav *)theSender error:(NSError *)theError recevingOptions:(MGMWebDavOptions *)theOptions {
NSLog(@"WebDav Error: %@", theError);
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[theError localizedDescription]];
[alert runModal];
[self unlockLogin];
@ -130,7 +130,7 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
- (void)webDav:(MGMWebDav *)theSender error:(NSError *)theError recevingProperties:(MGMWebDavPropFind *)thePropFind {
NSLog(@"WebDav Error: %@", theError);
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[theError localizedDescription]];
[alert runModal];
[self unlockLogin];
@ -141,8 +141,8 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
if ([[[contents objectAtIndex:0] objectForKey:MGMWebDavPResourceType] isEqual:MGMWebDavPRCollection]) {
if (!userLoggingIn) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Login Successful"];
[alert setInformativeText:@"You have sucessfully logged into your account."];
[alert setMessageText:[@"Login Successful" localizedFor:self]];
[alert setInformativeText:[@"You have sucessfully logged into your account." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -150,8 +150,8 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
}
}
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"Account Error"];
[alert setInformativeText:@"The URL you have entered does not appear to be a directory."];
[alert setMessageText:[@"Account Error" localizedFor:self]];
[alert setInformativeText:[@"The URL you have entered does not appear to be a directory." localizedFor:self]];
[alert runModal];
[self unlockLogin];
}
@ -159,7 +159,7 @@ NSString * const MGMWebDavUser = @"MGMWebDavUser";
- (void)sendFileAtPath:(NSString *)thePath withName:(NSString *)theName {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMWebDavURL]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}

View File

@ -2,7 +2,7 @@
// MGMTwitpicPlugIn.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMTwitpicPlugIn.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//
@ -76,8 +76,8 @@ const BOOL MGMTwitpicResponseInvisible = YES;
- (IBAction)save:(id)sender {
if ([userField isEqual:@""]) {
NSAlert *alert = [[NSAlert new] autorelease];
[alert setMessageText:@"UserName Required"];
[alert setInformativeText:@"Please enter your Twitter UserName."];
[alert setMessageText:[@"UserName Required" localizedFor:self]];
[alert setInformativeText:[@"Please enter your Twitter UserName." localizedFor:self]];
[alert runModal];
} else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
@ -119,7 +119,7 @@ const BOOL MGMTwitpicResponseInvisible = YES;
- (void)sendFile:(NSString *)thePath withName:(NSString *)theName post:(BOOL)shouldPost message:(NSString *)theMessage {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:MGMTwitpicUser]==nil) {
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:@"Account is not logged in." forKey:NSLocalizedDescriptionKey]];
NSError *error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:5 userInfo:[NSDictionary dictionaryWithObject:[@"Account is not logged in." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:thePath receivedError:error];
return;
}
@ -210,7 +210,7 @@ const BOOL MGMTwitpicResponseInvisible = YES;
filePath = nil;
[fileName release];
fileName = nil;
error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:3 userInfo:[NSDictionary dictionaryWithObject:@"Unknown response" forKey:NSLocalizedDescriptionKey]];
error = [NSError errorWithDomain:[[NSBundle bundleForClass:[self class]] bundleIdentifier] code:3 userInfo:[NSDictionary dictionaryWithObject:[@"Unknown response." localizedFor:self] forKey:NSLocalizedDescriptionKey]];
[[MGMController sharedController] upload:uploadedPath receivedError:error];
}
@end

View File

@ -2,7 +2,7 @@
// MGMTwitpicPostWindow.h
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -2,7 +2,7 @@
// MGMTwitpicPostWindow.m
// CocoaShare
//
// Created by James on 1/29/11.
// Created by Mr. Gecko on 1/29/11.
// Copyright (c) 2011 Mr. Gecko's Media (James Coleman). All rights reserved. http://mrgeckosmedia.com/
//

View File

@ -7,10 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
2A044B7A12E68D3100E0B624 /* HTTPAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A044B7912E68D3100E0B624 /* HTTPAccountPane.xib */; };
2A044C4E12E7612500E0B624 /* Dropbox.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A044C4012E760DD00E0B624 /* Dropbox.bundle */; };
2A044CE712E768D500E0B624 /* MGMDropboxPlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A044C7212E7621B00E0B624 /* MGMDropboxPlugIn.m */; };
2A044CE812E7698300E0B624 /* DropboxAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A044C7812E762D100E0B624 /* DropboxAccountPane.xib */; };
2A044D8F12E92DA800E0B624 /* MGMUsers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AEAB3F112E2A57400552BAA /* MGMUsers.framework */; };
2A0501D512F49A7B000F74EA /* MGMWebDav.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0501C612F49A7B000F74EA /* MGMWebDav.m */; };
2A0501D612F49A7B000F74EA /* MGMWebDavAddons.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0501C812F49A7B000F74EA /* MGMWebDavAddons.m */; };
@ -22,13 +20,10 @@
2A0501DC12F49A7B000F74EA /* MGMWebDavPut.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0501D412F49A7B000F74EA /* MGMWebDavPut.m */; };
2A0501F812F49D4E000F74EA /* MobileMe.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A0501F112F49D08000F74EA /* MobileMe.bundle */; };
2A05023112F49F74000F74EA /* MGMMobileMePlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A05023012F49F74000F74EA /* MGMMobileMePlugIn.m */; };
2A05023312F49F86000F74EA /* MobileMeAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A05023212F49F86000F74EA /* MobileMeAccountPane.xib */; };
2A0503CC12F4D464000F74EA /* twitpic.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A0503C312F4D43B000F74EA /* twitpic.bundle */; };
2A05041B12F4DDF0000F74EA /* twitpicAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A0503D512F4D4D5000F74EA /* twitpicAccountPane.xib */; };
2A05041C12F4DDFC000F74EA /* MGMTwitpicPlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0503DA12F4D5E6000F74EA /* MGMTwitpicPlugIn.m */; };
2A05042D12F4DE17000F74EA /* MGMUsers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AEAB3F112E2A57400552BAA /* MGMUsers.framework */; };
2A0504B912F4E65C000F74EA /* MGMTwitpicPostWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0504B812F4E65C000F74EA /* MGMTwitpicPostWindow.m */; };
2A0504DA12F4EA04000F74EA /* twitpicPostWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A0504D912F4EA04000F74EA /* twitpicPostWindow.xib */; };
2A0504F312F4F024000F74EA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A0504F212F4F024000F74EA /* QuartzCore.framework */; };
2A280C8512EB50FB00435C36 /* Growl Registration Ticket.growlRegDict in Resources */ = {isa = PBXBuildFile; fileRef = 2A280C8412EB50FB00435C36 /* Growl Registration Ticket.growlRegDict */; };
2A280EBF12EB7A5E00435C36 /* DBAccountInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A280E6A12EB7A5D00435C36 /* DBAccountInfo.m */; };
@ -72,22 +67,29 @@
2A28154412ECE26600435C36 /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A28153D12ECE24300435C36 /* libcrypto.dylib */; };
2A2F97A212F05C720069B37E /* FTP.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A0C8C9412EF844F00A75AB7 /* FTP.bundle */; };
2A2F995412F094F10069B37E /* SFTP.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A2F994512F094710069B37E /* SFTP.bundle */; };
2A2F996A12F0957E0069B37E /* SFTPAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A2F996912F0957E0069B37E /* SFTPAccountPane.xib */; };
2A2F996E12F095DA0069B37E /* MGMSFTPPlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2F996D12F095DA0069B37E /* MGMSFTPPlugIn.m */; };
2A48832E12E52E84001618B5 /* RegexKitLite.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A48832D12E52E84001618B5 /* RegexKitLite.m */; };
2A48833512E52EAA001618B5 /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A48833412E52EAA001618B5 /* libicucore.dylib */; };
2A48835612E53232001618B5 /* MGMAutoUpdateField.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A48835512E53232001618B5 /* MGMAutoUpdateField.m */; };
2A48849612E678C3001618B5 /* MGMHTTPPlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A48849512E678C3001618B5 /* MGMHTTPPlugIn.m */; };
2A48849B12E679DC001618B5 /* HTTP.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A48847612E6768D001618B5 /* HTTP.bundle */; };
2A4FA5C912F9EDE0009F5B3A /* MGMLocalized.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4FA5C812F9EDE0009F5B3A /* MGMLocalized.m */; };
2A4FA61112F9F8DE009F5B3A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61012F9F8DE009F5B3A /* Localizable.strings */; };
2A4FA61312F9F8E4009F5B3A /* HTTPAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61212F9F8E4009F5B3A /* HTTPAccountPane.xib */; };
2A4FA61512F9F8E9009F5B3A /* DropboxAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61412F9F8E9009F5B3A /* DropboxAccountPane.xib */; };
2A4FA61712F9F8F0009F5B3A /* FTPAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61612F9F8F0009F5B3A /* FTPAccountPane.xib */; };
2A4FA61912F9F8F5009F5B3A /* SFTPAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61812F9F8F5009F5B3A /* SFTPAccountPane.xib */; };
2A4FA61B12F9F8FA009F5B3A /* WebDavAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61A12F9F8FA009F5B3A /* WebDavAccountPane.xib */; };
2A4FA61D12F9F900009F5B3A /* MobileMeAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61C12F9F900009F5B3A /* MobileMeAccountPane.xib */; };
2A4FA61F12F9F905009F5B3A /* twitpicAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA61E12F9F905009F5B3A /* twitpicAccountPane.xib */; };
2A4FA62112F9F90A009F5B3A /* twitpicPostWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A4FA62012F9F90A009F5B3A /* twitpicPostWindow.xib */; };
2A52DDC512E3AC17000FC8CD /* CocoaShare.icns in Resources */ = {isa = PBXBuildFile; fileRef = 2A52DDC412E3AC16000FC8CD /* CocoaShare.icns */; };
2A52DDC912E3AC26000FC8CD /* menuicon.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A52DDC612E3AC26000FC8CD /* menuicon.png */; };
2A52DDCA12E3AC26000FC8CD /* menuicondrag.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A52DDC712E3AC26000FC8CD /* menuicondrag.png */; };
2A52DDCB12E3AC26000FC8CD /* menuiconupload.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A52DDC812E3AC26000FC8CD /* menuiconupload.png */; };
2A52DF5812E3D041000FC8CD /* menuiconselected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A52DF5712E3D041000FC8CD /* menuiconselected.png */; };
2A52DF7312E3D436000FC8CD /* MGMMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A52DF7212E3D436000FC8CD /* MGMMenuItem.m */; };
2A55259A12F05B9700F97FE6 /* FTPAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A0C8CB012EF853400A75AB7 /* FTPAccountPane.xib */; };
2A55259D12F05BA700F97FE6 /* MGMFTPPlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0C8CB412EF854D00A75AB7 /* MGMFTPPlugIn.m */; };
2A5C1B0412F2FB3F005153FA /* WebDavAccountPane.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A5C1B0312F2FB3F005153FA /* WebDavAccountPane.xib */; };
2A5C1B0812F2FB5D005153FA /* MGMWebDavPlugIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A5C1B0712F2FB5D005153FA /* MGMWebDavPlugIn.m */; };
2A5C1B4912F32EE3005153FA /* WebDav.bundle in PlugIns */ = {isa = PBXBuildFile; fileRef = 2A5C1AF312F2FA6F005153FA /* WebDav.bundle */; };
2AEAB3F312E2A57400552BAA /* GeckoReporter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AEAB3EF12E2A57400552BAA /* GeckoReporter.framework */; };
@ -211,14 +213,14 @@
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
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>"; };
2A044B7912E68D3100E0B624 /* HTTPAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HTTPAccountPane.xib; sourceTree = "<group>"; };
2A044B7912E68D3100E0B624 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/HTTPAccountPane.xib; sourceTree = "<group>"; };
2A044B8A12E68E9E00E0B624 /* MGMPlugInProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMPlugInProtocol.h; sourceTree = "<group>"; };
2A044C4012E760DD00E0B624 /* Dropbox.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dropbox.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
2A044C5B12E7614C00E0B624 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2A044C6F12E761F300E0B624 /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/Dropbox/prefix.pch; sourceTree = "<group>"; };
2A044C7112E7621B00E0B624 /* MGMDropboxPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMDropboxPlugIn.h; sourceTree = "<group>"; };
2A044C7212E7621B00E0B624 /* MGMDropboxPlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMDropboxPlugIn.m; sourceTree = "<group>"; };
2A044C7812E762D100E0B624 /* DropboxAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DropboxAccountPane.xib; sourceTree = "<group>"; };
2A044C7812E762D100E0B624 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/DropboxAccountPane.xib; sourceTree = "<group>"; };
2A0501C512F49A7B000F74EA /* MGMWebDav.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMWebDav.h; sourceTree = "<group>"; };
2A0501C612F49A7B000F74EA /* MGMWebDav.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMWebDav.m; sourceTree = "<group>"; };
2A0501C712F49A7B000F74EA /* MGMWebDavAddons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMWebDavAddons.h; sourceTree = "<group>"; };
@ -240,21 +242,21 @@
2A05020412F49DF0000F74EA /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/MobileMe/prefix.pch; sourceTree = "<group>"; };
2A05022F12F49F74000F74EA /* MGMMobileMePlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMMobileMePlugIn.h; sourceTree = "<group>"; };
2A05023012F49F74000F74EA /* MGMMobileMePlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMMobileMePlugIn.m; sourceTree = "<group>"; };
2A05023212F49F86000F74EA /* MobileMeAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MobileMeAccountPane.xib; sourceTree = "<group>"; };
2A05023212F49F86000F74EA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MobileMeAccountPane.xib; sourceTree = "<group>"; };
2A0503C312F4D43B000F74EA /* twitpic.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = twitpic.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
2A0503D012F4D49E000F74EA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2A0503D212F4D4AA000F74EA /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/twitpic/prefix.pch; sourceTree = "<group>"; };
2A0503D512F4D4D5000F74EA /* twitpicAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = twitpicAccountPane.xib; sourceTree = "<group>"; };
2A0503D512F4D4D5000F74EA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/twitpicAccountPane.xib; sourceTree = "<group>"; };
2A0503D912F4D5E6000F74EA /* MGMTwitpicPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMTwitpicPlugIn.h; sourceTree = "<group>"; };
2A0503DA12F4D5E6000F74EA /* MGMTwitpicPlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMTwitpicPlugIn.m; sourceTree = "<group>"; };
2A0504B712F4E65C000F74EA /* MGMTwitpicPostWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMTwitpicPostWindow.h; sourceTree = "<group>"; };
2A0504B812F4E65C000F74EA /* MGMTwitpicPostWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMTwitpicPostWindow.m; sourceTree = "<group>"; };
2A0504D912F4EA04000F74EA /* twitpicPostWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = twitpicPostWindow.xib; sourceTree = "<group>"; };
2A0504D912F4EA04000F74EA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/twitpicPostWindow.xib; sourceTree = "<group>"; };
2A0504F212F4F024000F74EA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
2A0C8C9412EF844F00A75AB7 /* FTP.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FTP.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
2A0C8CAB12EF84FE00A75AB7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2A0C8CAD12EF850900A75AB7 /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/FTP/prefix.pch; sourceTree = "<group>"; };
2A0C8CB012EF853400A75AB7 /* FTPAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FTPAccountPane.xib; sourceTree = "<group>"; };
2A0C8CB012EF853400A75AB7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/FTPAccountPane.xib; sourceTree = "<group>"; };
2A0C8CB312EF854D00A75AB7 /* MGMFTPPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMFTPPlugIn.h; sourceTree = "<group>"; };
2A0C8CB412EF854D00A75AB7 /* MGMFTPPlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMFTPPlugIn.m; sourceTree = "<group>"; wrapsLines = 1; };
2A280C8412EB50FB00435C36 /* Growl Registration Ticket.growlRegDict */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Growl Registration Ticket.growlRegDict"; sourceTree = "<group>"; };
@ -337,7 +339,7 @@
2A2F994512F094710069B37E /* SFTP.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SFTP.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
2A2F996112F095320069B37E /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/SFTP/prefix.pch; sourceTree = "<group>"; };
2A2F996712F0955B0069B37E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2A2F996912F0957E0069B37E /* SFTPAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SFTPAccountPane.xib; sourceTree = "<group>"; };
2A2F996912F0957E0069B37E /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/SFTPAccountPane.xib; sourceTree = "<group>"; };
2A2F996C12F095DA0069B37E /* MGMSFTPPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSFTPPlugIn.h; sourceTree = "<group>"; };
2A2F996D12F095DA0069B37E /* MGMSFTPPlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSFTPPlugIn.m; sourceTree = "<group>"; wrapsLines = 1; };
2A48832C12E52E84001618B5 /* RegexKitLite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegexKitLite.h; sourceTree = "<group>"; };
@ -350,6 +352,9 @@
2A48849312E67874001618B5 /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/HTTP/prefix.pch; sourceTree = "<group>"; };
2A48849412E678C3001618B5 /* MGMHTTPPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMHTTPPlugIn.h; sourceTree = "<group>"; };
2A48849512E678C3001618B5 /* MGMHTTPPlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMHTTPPlugIn.m; sourceTree = "<group>"; };
2A4FA57A12F9DA71009F5B3A /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
2A4FA5C712F9EDE0009F5B3A /* MGMLocalized.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMLocalized.h; sourceTree = "<group>"; };
2A4FA5C812F9EDE0009F5B3A /* MGMLocalized.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMLocalized.m; sourceTree = "<group>"; };
2A52DDC412E3AC16000FC8CD /* CocoaShare.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = CocoaShare.icns; sourceTree = SOURCE_ROOT; };
2A52DDC612E3AC26000FC8CD /* menuicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menuicon.png; sourceTree = "<group>"; };
2A52DDC712E3AC26000FC8CD /* menuicondrag.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menuicondrag.png; sourceTree = "<group>"; };
@ -360,7 +365,7 @@
2A5C1AF312F2FA6F005153FA /* WebDav.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WebDav.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
2A5C1AFE12F2FAF3005153FA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2A5C1B0012F2FB04005153FA /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = prefix.pch; path = Classes/WebDav/prefix.pch; sourceTree = "<group>"; };
2A5C1B0312F2FB3F005153FA /* WebDavAccountPane.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WebDavAccountPane.xib; sourceTree = "<group>"; };
2A5C1B0312F2FB3F005153FA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/WebDavAccountPane.xib; sourceTree = "<group>"; };
2A5C1B0612F2FB5D005153FA /* MGMWebDavPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMWebDavPlugIn.h; sourceTree = "<group>"; };
2A5C1B0712F2FB5D005153FA /* MGMWebDavPlugIn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMWebDavPlugIn.m; sourceTree = "<group>"; };
2AEAB3EF12E2A57400552BAA /* GeckoReporter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GeckoReporter.framework; path = Frameworks/GeckoReporter.framework; sourceTree = "<group>"; };
@ -549,7 +554,7 @@
isa = PBXGroup;
children = (
2A044C5B12E7614C00E0B624 /* Info.plist */,
2A044C7812E762D100E0B624 /* DropboxAccountPane.xib */,
2A4FA61412F9F8E9009F5B3A /* DropboxAccountPane.xib */,
);
path = Dropbox;
sourceTree = "<group>";
@ -599,7 +604,7 @@
isa = PBXGroup;
children = (
2A05020212F49DDD000F74EA /* Info.plist */,
2A05023212F49F86000F74EA /* MobileMeAccountPane.xib */,
2A4FA61C12F9F900009F5B3A /* MobileMeAccountPane.xib */,
);
path = MobileMe;
sourceTree = "<group>";
@ -625,8 +630,8 @@
isa = PBXGroup;
children = (
2A0503D012F4D49E000F74EA /* Info.plist */,
2A0503D512F4D4D5000F74EA /* twitpicAccountPane.xib */,
2A0504D912F4EA04000F74EA /* twitpicPostWindow.xib */,
2A4FA61E12F9F905009F5B3A /* twitpicAccountPane.xib */,
2A4FA62012F9F90A009F5B3A /* twitpicPostWindow.xib */,
);
path = twitpic;
sourceTree = "<group>";
@ -654,7 +659,7 @@
isa = PBXGroup;
children = (
2A0C8CAB12EF84FE00A75AB7 /* Info.plist */,
2A0C8CB012EF853400A75AB7 /* FTPAccountPane.xib */,
2A4FA61612F9F8F0009F5B3A /* FTPAccountPane.xib */,
);
path = FTP;
sourceTree = "<group>";
@ -802,7 +807,7 @@
isa = PBXGroup;
children = (
2A2F996712F0955B0069B37E /* Info.plist */,
2A2F996912F0957E0069B37E /* SFTPAccountPane.xib */,
2A4FA61812F9F8F5009F5B3A /* SFTPAccountPane.xib */,
);
path = SFTP;
sourceTree = "<group>";
@ -838,7 +843,7 @@
isa = PBXGroup;
children = (
2A48848A12E67747001618B5 /* Info.plist */,
2A044B7912E68D3100E0B624 /* HTTPAccountPane.xib */,
2A4FA61212F9F8E4009F5B3A /* HTTPAccountPane.xib */,
);
path = HTTP;
sourceTree = "<group>";
@ -864,7 +869,7 @@
isa = PBXGroup;
children = (
2A5C1AFE12F2FAF3005153FA /* Info.plist */,
2A5C1B0312F2FB3F005153FA /* WebDavAccountPane.xib */,
2A4FA61A12F9F8FA009F5B3A /* WebDavAccountPane.xib */,
);
path = WebDav;
sourceTree = "<group>";
@ -918,6 +923,8 @@
2A52DF7212E3D436000FC8CD /* MGMMenuItem.m */,
2A48835412E53232001618B5 /* MGMAutoUpdateField.h */,
2A48835512E53232001618B5 /* MGMAutoUpdateField.m */,
2A4FA5C712F9EDE0009F5B3A /* MGMLocalized.h */,
2A4FA5C812F9EDE0009F5B3A /* MGMLocalized.m */,
2AEAB46312E2ACF400552BAA /* Preferences */,
2A48832B12E52E84001618B5 /* RegexKit */,
2A0501C412F49A7B000F74EA /* MGMWebDav */,
@ -971,6 +978,7 @@
2A52DDC712E3AC26000FC8CD /* menuicondrag.png */,
2A52DF5712E3D041000FC8CD /* menuiconselected.png */,
2A52DDC812E3AC26000FC8CD /* menuiconupload.png */,
2A4FA61012F9F8DE009F5B3A /* Localizable.strings */,
2AEAB48812E2ADDF00552BAA /* Preferences */,
);
path = CocoaShare;
@ -1184,7 +1192,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A044CE812E7698300E0B624 /* DropboxAccountPane.xib in Resources */,
2A4FA61512F9F8E9009F5B3A /* DropboxAccountPane.xib in Resources */,
2A280EE912EB7A5E00435C36 /* db_logo.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1193,7 +1201,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A05023312F49F86000F74EA /* MobileMeAccountPane.xib in Resources */,
2A4FA61D12F9F900009F5B3A /* MobileMeAccountPane.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1201,8 +1209,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A05041B12F4DDF0000F74EA /* twitpicAccountPane.xib in Resources */,
2A0504DA12F4EA04000F74EA /* twitpicPostWindow.xib in Resources */,
2A4FA61F12F9F905009F5B3A /* twitpicAccountPane.xib in Resources */,
2A4FA62112F9F90A009F5B3A /* twitpicPostWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1210,7 +1218,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A55259A12F05B9700F97FE6 /* FTPAccountPane.xib in Resources */,
2A4FA61712F9F8F0009F5B3A /* FTPAccountPane.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1218,7 +1226,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A2F996A12F0957E0069B37E /* SFTPAccountPane.xib in Resources */,
2A4FA61912F9F8F5009F5B3A /* SFTPAccountPane.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1226,7 +1234,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A044B7A12E68D3100E0B624 /* HTTPAccountPane.xib in Resources */,
2A4FA61312F9F8E4009F5B3A /* HTTPAccountPane.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1234,7 +1242,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A5C1B0412F2FB3F005153FA /* WebDavAccountPane.xib in Resources */,
2A4FA61B12F9F8FA009F5B3A /* WebDavAccountPane.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1261,6 +1269,7 @@
2A280C8512EB50FB00435C36 /* Growl Registration Ticket.growlRegDict in Resources */,
2AEF115912F527B900F495BE /* About.rtf in Resources */,
2AEF118612F52A7D00F495BE /* CocoaShareIcon.png in Resources */,
2A4FA61112F9F8DE009F5B3A /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1379,6 +1388,7 @@
2A0501DA12F49A7B000F74EA /* MGMWebDavOptions.m in Sources */,
2A0501DB12F49A7B000F74EA /* MGMWebDavPropFind.m in Sources */,
2A0501DC12F49A7B000F74EA /* MGMWebDavPut.m in Sources */,
2A4FA5C912F9EDE0009F5B3A /* MGMLocalized.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1423,6 +1433,78 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
2A4FA61012F9F8DE009F5B3A /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
2A4FA57A12F9DA71009F5B3A /* English */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
2A4FA61212F9F8E4009F5B3A /* HTTPAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A044B7912E68D3100E0B624 /* English */,
);
name = HTTPAccountPane.xib;
sourceTree = "<group>";
};
2A4FA61412F9F8E9009F5B3A /* DropboxAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A044C7812E762D100E0B624 /* English */,
);
name = DropboxAccountPane.xib;
sourceTree = "<group>";
};
2A4FA61612F9F8F0009F5B3A /* FTPAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A0C8CB012EF853400A75AB7 /* English */,
);
name = FTPAccountPane.xib;
sourceTree = "<group>";
};
2A4FA61812F9F8F5009F5B3A /* SFTPAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A2F996912F0957E0069B37E /* English */,
);
name = SFTPAccountPane.xib;
sourceTree = "<group>";
};
2A4FA61A12F9F8FA009F5B3A /* WebDavAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A5C1B0312F2FB3F005153FA /* English */,
);
name = WebDavAccountPane.xib;
sourceTree = "<group>";
};
2A4FA61C12F9F900009F5B3A /* MobileMeAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A05023212F49F86000F74EA /* English */,
);
name = MobileMeAccountPane.xib;
sourceTree = "<group>";
};
2A4FA61E12F9F905009F5B3A /* twitpicAccountPane.xib */ = {
isa = PBXVariantGroup;
children = (
2A0503D512F4D4D5000F74EA /* English */,
);
name = twitpicAccountPane.xib;
sourceTree = "<group>";
};
2A4FA62012F9F90A009F5B3A /* twitpicPostWindow.xib */ = {
isa = PBXVariantGroup;
children = (
2A0504D912F4EA04000F74EA /* English */,
);
name = twitpicPostWindow.xib;
sourceTree = "<group>";
};
2AEAB48312E2ADDF00552BAA /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (

View File

@ -0,0 +1,198 @@
/* CocoaShare Strings */
/* Menus */
"Upload File" = "Upload File";
"Disable Auto Upload" = "Disable Auto Upload";
"Enable Auto Upload" = "Enable Auto Upload";
"About CocoaShare" = "About CocoaShare";
"Preferences..." = "Preferences...";
"Check for Updates..." = "Check for Updates...";
"Donate" = "Donate";
"Help" = "Help";
"Contact Mr. Gecko" = "Contact Mr. Gecko";
"Report a Bug" = "Report a Bug";
"Quit CocoaShare" = "Quit CocoaShare";
"Services" = "Services";
"File" = "File";
"Edit" = "Edit";
"Undo" = "Undo";
"Redo" = "Redo";
"Cut" = "Cut";
"Copy" = "Copy";
"Paste" = "Paste";
"Delete" = "Delete";
"Select All" = "Select All";
"Window" = "Window";
"Minimize" = "Minimize";
"Zoom" = "Zoom";
"Close" = "Close";
"Bring All to Front" = "Bring All to Front";
/* Upload Dialog */
"Choose File(s)" = "Choose File(s)";
"Upload Error" = "Upload Error";
"Uploading of directories is impossible." = "Uploading of directories is impossible.";
/* History */
"MMMM d, yyyy h:mm:ss a" = "MMMM d, yyyy h:mm:ss a"; // Based on tr35-6
"No Upload History" = "No Upload History";
/* Dock change message */
"Restart Required" = "Restart Required";
"Inorder to hide the dock, you must restart CocoaShare. Do you want to restart CocoaShare now?" = "Inorder to hide the dock, you must restart CocoaShare. Do you want to restart CocoaShare now?";
"Unable to change dock" = "Unable to change dock";
"CocoaShare is unable to %@ the dock due to permissions. To fix this issue, right click on CocoaShare and choose Get Info to make CocoaShare writable." = "CocoaShare is unable to %@ the dock due to permissions. To fix this issue, right click on CocoaShare and choose Get Info to make CocoaShare writable.";
"hide" = "hide";
"unhide" = "unhide";
/* Donations */
"Donations" = "Donations";
"Thank you for using CocoaShare. CocoaShare is donation supported software. If you like using it, please consider giving a donation to help with development." = "Thank you for using CocoaShare. CocoaShare is donation supported software. If you like using it, please consider giving a donation to help with development.";
/* Growl */
"Uploading File" = "Uploading File";
"Automatically Uploading File" = "Automatically Uploading File";
"Uploaded File" = "Uploaded File";
"Automatically Uploaded File" = "Automatically Uploaded File";
"Uploaded %@ to %@" = "Uploaded %@ to %@";
"Uploading %@" = "Uploading %@";
"Unable to upload" = "Unable to upload";
/* Format Error */
"The current PlugIn does not support this file format." = "The current PlugIn does not support this file format.";
/* PlugIn Errors */
"No PlugIns found. You must have at least 1 PlugIn to upload a file." = "No PlugIns found. You must have at least 1 PlugIn to upload a file.";
"The current PlugIn doesn't support uploading." = "The current PlugIn doesn't support uploading.";
"Unable to upload %@: %@" = "Unable to upload %@: %@";
/* WebDav */
"The response was returned as %@ and not %@." = "The response was returned as %@ and not %@.";
"The HTTP server does not have WebDav enabled in this directory." = "The HTTP server does not have WebDav enabled in this directory.";
/* Standared Buttons */
"Yes" = "Yes";
"No" = "No";
"Choose" = "Choose";
/* Preferences */
"General" = "General";
"Account" = "Account";
"Auto Upload" = "Auto Upload";
"Choose Folder" = "Choose Folder";
"(?i)Picture [0-9]+\\.(?:bmp|gif|jpg|pdf|pict|png|sgi|tga|tif|tiff)\\z" = "(?i)Picture [0-9]+\\.(?:bmp|gif|jpg|pdf|pict|png|sgi|tga|tif|tiff)\\z"; // For 10.4.
"Match" = "Match";
"No Match" = "No Match";
"Events" = "Events";
"No Sound" = "No Sound";
/* Genral */
"Unkown name" = "Unkown name";
/* Preferences Interface */
/* General */
"Display:" = "Display:";
"Dock" = "Dock";
"Dock and Menu Bar" = "Dock and Menu Bar";
"Menu Bar" = "Menu Bar";
"Start at login:" = "Start at login:";
"Uploaded File Name" = "Uploaded File Name";
"Random for automatic upload only." = "Random for automatic upload only.";
"Random for automatic and manual upload." = "Random for automatic and manual upload.";
"Keep x uploads in history." = "Keep x uploads in history.";
"Display growl notifications for errors:" = "Display growl notifications for errors:";
/* Account */
"Type:" = "Type:";
/* Auto Upload */
"Filter" = "Filter";
"Path" = "Path";
"Add Filter" = "Add Filter";
"Add new filter" = "Add new filter";
"Add screenshot filter" = "Add screenshot filter";
"Remove Filter" = "Remove Filter";
"These filters uses Regular Expression. If you do not know Regex, It's best to just use the predefined ones." = "These filters uses Regular Expression. If you do not know Regex, It's best to just use the predefined ones.";
"Path:" = "Path:";
"Filter:" = "Filter:";
"Test:" = "Test:";
/* Events */
"Event:" = "Event:";
"Uploading File Automatically" = "Uploading File Automatically";
"Uploaded File Automatically" = "Uploaded File Automatically";
"Uploading" = "Uploading";
"Uploaded" = "Uploaded";
"Play Sound:" = "Play Sound:";
"Move To:" = "Move To:";
"Delete file to:" = "Delete file to:";
"nowhere" = "nowhere";
"oblivion" = "oblivion";
"trash" = "trash";
"Growl:" = "Growl:";
/* Plugins */
/* Common Strings */
"Logging In" = "Logging In";
"Login" = "Login";
"UserName Required" = "UserName Required";
"Please enter your username." = "Please enter your username.";
"Password Required" = "Password Required";
"Please enter your password." = "Please enter your password.";
"Account Error" = "Account Error";
"Login Successful" = "Login Successful";
"You have sucessfully logged into your account." = "You have sucessfully logged into your account.";
"Account is not logged in." = "Account is not logged in.";
"URL Required" = "URL Required";
"Email Required" = "Email Required";
"Please enter your email." = "Please enter your email.";
/* Dropbox */
"Unable to get your account ID." = "Unable to get your account ID.";
/* (S)FTP */
"Host Required" = "Host Required";
"Please enter your host." = "Please enter your host.";
"Please enter the URL to where the files will be uploaded." = "Please enter the URL to where the files will be uploaded.";
"Incorrect login info." = "Incorrect login info.";
"You have sucessfully logged into your account, but the path you have entered does not exist." = "You have sucessfully logged into your account, but the path you have entered does not exist.";
"The path to upload files to does not exist." = "The path to upload files to does not exist.";
/* HTTP */
"The URL %@ may not be a CocoaShare compatible URL." = "The URL %@ may not be a CocoaShare compatible URL.";
"Please enter the URL for the HTTP account." = "Please enter the URL for the HTTP account.";
"HTTP Server response is not a CocoaShare compatible response." = "HTTP Server response is not a CocoaShare compatible response.";
/* MobileMe/WebDav */
"The URL you have entered does not appear to be a directory." = "The URL you have entered does not appear to be a directory.";
"Please enter the WebDav URL." = "Please enter the WebDav URL.";
/* twitpic */
"Please enter your Twitter UserName." = "Please enter your Twitter UserName.";
"Unknown response." = "Unknown response.";
/* TinyGrab */
"Only paid users are allowed to use TinyGrab in CocoaShare, sorry." = "Only paid users are allowed to use TinyGrab in CocoaShare, sorry.";
"Unable to receive url." = "Unable to receive url.";
/* Interface */
/* Common Strings */
"Host:" = "Host:";
"UserName:" = "UserName:";
"Password:" = "Password:";
"Path:" = "Path:";
"URL:" = "URL:";
"Email:" = "Email:";
/* twitpic */
"Ask for message and post to Twitter?" = "Ask for message and post to Twitter?";
"Save" = "Save";
"Upload without posting" = "Upload without posting";
"Post" = "Post";
/* TinyGrab */
"Type:" = "Type:";
"Unknown" = "Unknown";
"Basic" = "Basic";
"Pro" = "Pro";
"Register" = "Register";

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">10J567</string>
<string key="IBDocument.InterfaceBuilderVersion">823</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
@ -1323,6 +1323,20 @@
<string key="minorKey">Classes/CocoaShare/Preferences/MGMAutoUploadPane.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/Dropbox/DropboxSDK/JSON/NSObject+SBJSON.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/Dropbox/DropboxSDK/JSON/SBJsonWriter.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -1692,6 +1706,27 @@
<string key="minorKey">Growl.framework/Headers/GrowlApplicationBridge.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CIImageProvider.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@ -1803,7 +1838,7 @@
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1060" key="NS.object.0"/>
<integer value="1050" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>