diff options
-rw-r--r-- | Source/DMLocalizedNib.m | 162 | ||||
-rw-r--r-- | Source/DMLocalizedNibBundle.m | 295 | ||||
-rw-r--r-- | sequel-pro.xcodeproj/project.pbxproj | 8 |
3 files changed, 0 insertions, 465 deletions
diff --git a/Source/DMLocalizedNib.m b/Source/DMLocalizedNib.m deleted file mode 100644 index 4a03247a..00000000 --- a/Source/DMLocalizedNib.m +++ /dev/null @@ -1,162 +0,0 @@ -// -// DMLocalizedNib.h -// sequel-pro -// -// Created by Rowan Beentje on July 4, 2010. -// Copyright (c) 2010 Rowan Beentje. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// -// More info at <https://github.com/sequelpro/sequelpro> - -#import <Cocoa/Cocoa.h> -#import <objc/runtime.h> - -@interface NSNib (DMLocalizedNib) -- (id)deliciousInitWithNibNamed:(NSString *)nibName bundle:(NSBundle *)bundle; -- (id)deliciousInitWithContentsOfURL:(NSURL *)nibFileURL; -- (BOOL)deliciousInstantiateNibWithOwner:(id)owner topLevelObjects:(NSArray **)topLevelObjects; -- (void)setDeliciousNibName:(NSString *)nibName; -- (NSString *)deliciousNibName; -- (void)deliciousDealloc; -@end - -// Private methods from DMLocalizedNib used here -@interface NSBundle () -+ (void)_localizeStringsInObject:(id)object table:(NSString *)table; -@end - -static NSMutableDictionary *deliciousNibNames = nil; - -@implementation NSNib (DMLocalizedNib) - -#pragma mark NSObject - -/** - * On NSNib class load, swizzle in our overrides of the basic methods. - */ -+ (void)load; -{ - NSAutoreleasePool *autoreleasePool = [[NSAutoreleasePool alloc] init]; - if (self == [NSNib class]) { - method_exchangeImplementations(class_getInstanceMethod(self, @selector(initWithNibNamed:bundle:)), class_getInstanceMethod(self, @selector(deliciousInitWithNibNamed:bundle:))); - method_exchangeImplementations(class_getInstanceMethod(self, @selector(initWithContentsOfURL:)), class_getInstanceMethod(self, @selector(deliciousInitWithContentsOfURL:))); - method_exchangeImplementations(class_getInstanceMethod(self, @selector(instantiateNibWithOwner:topLevelObjects:)), class_getInstanceMethod(self, @selector(deliciousInstantiateNibWithOwner:topLevelObjects:))); - method_exchangeImplementations(class_getInstanceMethod(self, @selector(dealloc)), class_getInstanceMethod(self, @selector(deliciousDealloc))); - } - [autoreleasePool release]; -} - - -#pragma mark API - -/** - * An init method swizzled with the original method, storing the base - * name passed into the init method for later reuse. - */ -- (id)deliciousInitWithNibNamed:(NSString *)nibName bundle:(NSBundle *)bundle -{ - - // Instantiate the nib using the original (swizzled) call - id nib = [self deliciousInitWithNibNamed:nibName bundle:bundle]; - if (nib) { - [self setDeliciousNibName:nibName]; - } - - return nib; -} - -/** - * An init method swizzled with the original method, extracting and - * storing the base name of the nib for later reuse. - */ -- (id)deliciousInitWithContentsOfURL:(NSURL *)nibFileURL -{ - - // Instantiate the nib using the original (swizzled) call - id nib = [self deliciousInitWithContentsOfURL:nibFileURL]; - if (nib) { - - // Extract the filename from the URL - NSArray *urlParts = [[nibFileURL path] componentsSeparatedByString:@"/"]; - NSString *nibName = [urlParts lastObject]; - [self setDeliciousNibName:nibName]; - } - - return nib; -} - -/** - * An instatiation method swizzled with the original method. Instantiates - * as before, and then if it can find a .strings file in a preferred language - * to localize the instantiated objects with, does so. - */ -- (BOOL)deliciousInstantiateNibWithOwner:(id)owner topLevelObjects:(NSArray **)topLevelObjects -{ - if ([self deliciousInstantiateNibWithOwner:owner topLevelObjects:topLevelObjects]) { - - // Look for a localised strings table file based on the original nib name, - // translating only if one was found and it wasn't English - NSString *localizedStringsTablePath = [[NSBundle mainBundle] pathForResource:[self deliciousNibName] ofType:@"strings"]; - if (localizedStringsTablePath && ![[[localizedStringsTablePath stringByDeletingLastPathComponent] lastPathComponent] isEqualToString:@"English.lproj"]) { - [NSBundle _localizeStringsInObject:*topLevelObjects table:[self deliciousNibName]]; - } - - return YES; - } - - return NO; -} - -/** - * Store the nib name that was used when setting up the nib, which will - * also be used to look up the .strings file name - */ -- (void)setDeliciousNibName:(NSString *)nibName -{ - if (!deliciousNibNames) { - deliciousNibNames = [[NSMutableDictionary alloc] init]; - } - [deliciousNibNames setObject:nibName forKey:[NSValue valueWithPointer:self]]; -} - -/** - * Retrieve the nib name to look up the matching .strings file name - */ -- (NSString *)deliciousNibName -{ - return [deliciousNibNames objectForKey:[NSValue valueWithPointer:self]]; -} - -/** - * Swizzled deallocate to release custom stores. - */ -- (void)deliciousDealloc -{ - if (deliciousNibNames) { - [deliciousNibNames removeObjectForKey:[NSValue valueWithPointer:self]]; - if (![deliciousNibNames count]) SPClear(deliciousNibNames); - } - [self deliciousDealloc]; -} - -@end diff --git a/Source/DMLocalizedNibBundle.m b/Source/DMLocalizedNibBundle.m deleted file mode 100644 index 5dc94f9f..00000000 --- a/Source/DMLocalizedNibBundle.m +++ /dev/null @@ -1,295 +0,0 @@ -// DMLocalizedNibBundle.m -// -// Created by William Jon Shipley on 2/13/05. -// Copyright (c) 2005-2009 Golden % Braeburn, LLC. All rights reserved except as below: -// -// This code is provided as-is, with no warranties or anything. You may use it in your projects as you wish, -// but you must leave this comment block (credits and copyright) intact. That's the only restriction -// -- Golden % Braeburn otherwise grants you a fully-paid, worldwide, transferrable license to use this -// code as you see fit, including but not limited to making derivative works. - -#import <Cocoa/Cocoa.h> -#import <objc/runtime.h> -#import <Availability.h> - -@interface NSBundle (DMLocalizedNibBundle) -#if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_8 -- (BOOL)deliciousLocalizingLoadNibNamed:(NSString *)fileName owner:(id)owner topLevelObjects:(NSArray **)topLevelObjects; -#endif -+ (BOOL)deliciousLocalizingLoadNibFile:(NSString *)fileName externalNameTable:(NSDictionary *)context withZone:(NSZone *)zone; -@end - -@interface NSBundle (DMLocalizedNibBundle_Private_API) -+ (void)_localizeStringsInObject:(id)object table:(NSString *)table; -+ (NSString *)_localizedStringForString:(NSString *)string table:(NSString *)table; -// localize particular attributes in objects -+ (void)_localizeTitleOfObject:(id)object table:(NSString *)table; -+ (void)_localizeAlternateTitleOfObject:(id)object table:(NSString *)table; -+ (void)_localizeStringValueOfObject:(id)object table:(NSString *)table; -+ (void)_localizePlaceholderStringOfObject:(id)object table:(NSString *)table; -+ (void)_localizeToolTipOfObject:(id)object table:(NSString *)table; -+ (void)_localizeLabelOfObject:(id)object table:(NSString *)table; -@end - -static NSMutableArray *deliciousBindingKeys = nil; - -@implementation NSBundle (DMLocalizedNibBundle) - -#pragma mark NSObject - -+ (void)load -{ - NSAutoreleasePool *autoreleasePool = [[NSAutoreleasePool alloc] init]; - if (self == [NSBundle class]) { - Method oldM,newM; -#if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_8 - oldM = class_getInstanceMethod(self, @selector(loadNibNamed:owner:topLevelObjects:)); - newM = class_getInstanceMethod(self, @selector(deliciousLocalizingLoadNibNamed:owner:topLevelObjects:)); - method_exchangeImplementations(oldM, newM); -#endif - oldM = class_getClassMethod(self, @selector(loadNibFile:externalNameTable:withZone:)); - newM = class_getClassMethod(self, @selector(deliciousLocalizingLoadNibFile:externalNameTable:withZone:)); - method_exchangeImplementations(oldM, newM); - deliciousBindingKeys = [[NSMutableArray alloc] initWithObjects: - NSMultipleValuesPlaceholderBindingOption, - NSNoSelectionPlaceholderBindingOption, - NSNotApplicablePlaceholderBindingOption, - NSNullPlaceholderBindingOption, - nil]; - } - [autoreleasePool release]; -} - -#pragma mark API - -#if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_8 -- (BOOL)deliciousLocalizingLoadNibNamed:(NSString *)fileName owner:(id)owner topLevelObjects:(NSArray **)topLevelObjects -{ - fileName = [self pathForResource:fileName ofType:@"nib"]; - NSString *localizedStringsTableName = [[fileName lastPathComponent] stringByDeletingPathExtension]; - NSString *localizedStringsTablePath = [[NSBundle mainBundle] pathForResource:localizedStringsTableName ofType:@"strings"]; - if (localizedStringsTablePath && ![[[localizedStringsTablePath stringByDeletingLastPathComponent] lastPathComponent] isEqualToString:@"English.lproj"]) { - - NSNib *nib = [[NSNib alloc] initWithContentsOfURL:[NSURL fileURLWithPath:fileName]]; - BOOL success = [nib instantiateWithOwner:owner topLevelObjects:topLevelObjects]; - NSMutableArray *topLevelObjectsArray = [NSMutableArray arrayWithArray:*topLevelObjects]; - [[self class] _localizeStringsInObject:topLevelObjectsArray table:localizedStringsTableName]; - - [nib release]; - return success; - - } else { - return [self deliciousLocalizingLoadNibNamed:localizedStringsTableName owner:owner topLevelObjects:topLevelObjects]; - } -} -#endif - -+ (BOOL)deliciousLocalizingLoadNibFile:(NSString *)fileName externalNameTable:(NSDictionary *)context withZone:(NSZone *)zone -{ - NSString *localizedStringsTableName = [[fileName lastPathComponent] stringByDeletingPathExtension]; - NSString *localizedStringsTablePath = [[NSBundle mainBundle] pathForResource:localizedStringsTableName ofType:@"strings"]; - if (localizedStringsTablePath && ![[[localizedStringsTablePath stringByDeletingLastPathComponent] lastPathComponent] isEqualToString:@"English.lproj"]) { - - NSNib *nib = [[NSNib alloc] initWithContentsOfURL:[NSURL fileURLWithPath:fileName]]; - NSMutableArray *topLevelObjectsArray = [context objectForKey:NSNibTopLevelObjects]; - if (!topLevelObjectsArray) { - topLevelObjectsArray = [NSMutableArray array]; - context = [NSMutableDictionary dictionaryWithDictionary:context]; - [(NSMutableDictionary *)context setObject:topLevelObjectsArray forKey:NSNibTopLevelObjects]; - } - BOOL success = [nib instantiateNibWithExternalNameTable:context]; - [self _localizeStringsInObject:topLevelObjectsArray table:localizedStringsTableName]; - - [nib release]; - return success; - - } else { - return [self deliciousLocalizingLoadNibFile:fileName externalNameTable:context withZone:zone]; - } -} - -@end - -#pragma mark Private API - -@implementation NSBundle (DMLocalizedNibBundle_Private_API) - -+ (void)_localizeStringsInObject:(id)object table:(NSString *)table -{ - if ([object isKindOfClass:[NSArray class]]) { - NSArray *array = object; - - for (id nibItem in array) - [self _localizeStringsInObject:nibItem table:table]; - - } else if ([object isKindOfClass:[NSCell class]]) { - NSCell *cell = object; - - if ([cell isKindOfClass:[NSActionCell class]]) { - NSActionCell *actionCell = (NSActionCell *)cell; - - if ([actionCell isKindOfClass:[NSButtonCell class]]) { - NSButtonCell *buttonCell = (NSButtonCell *)actionCell; - if ([buttonCell imagePosition] != NSImageOnly) { - [self _localizeTitleOfObject:buttonCell table:table]; - [self _localizeStringValueOfObject:buttonCell table:table]; - [self _localizeAlternateTitleOfObject:buttonCell table:table]; - } - - } else if ([actionCell isKindOfClass:[NSTextFieldCell class]]) { - NSTextFieldCell *textFieldCell = (NSTextFieldCell *)actionCell; - // Following line is redundant with other code, localizes twice. - // [self _localizeTitleOfObject:textFieldCell table:table]; - [self _localizeStringValueOfObject:textFieldCell table:table]; - [self _localizePlaceholderStringOfObject:textFieldCell table:table]; - - } else if ([actionCell type] == NSTextCellType) { - [self _localizeTitleOfObject:actionCell table:table]; - [self _localizeStringValueOfObject:actionCell table:table]; - } - } - - } else if ([object isKindOfClass:[NSMenu class]]) { - NSMenu *menu = object; - [self _localizeTitleOfObject:menu table:table]; - - [self _localizeStringsInObject:[menu itemArray] table:table]; - - } else if ([object isKindOfClass:[NSMenuItem class]]) { - NSMenuItem *menuItem = object; - [self _localizeTitleOfObject:menuItem table:table]; - [self _localizeToolTipOfObject:menuItem table:table]; - - [self _localizeStringsInObject:[menuItem submenu] table:table]; - - } else if ([object isKindOfClass:[NSView class]]) { - NSView *view = object; - [self _localizeToolTipOfObject:view table:table]; - - if ([view isKindOfClass:[NSBox class]]) { - NSBox *box = (NSBox *)view; - [self _localizeTitleOfObject:box table:table]; - - } else if ([view isKindOfClass:[NSControl class]]) { - NSControl *control = (NSControl *)view; - - if ([view isKindOfClass:[NSButton class]]) { - NSButton *button = (NSButton *)control; - - if ([button isKindOfClass:[NSPopUpButton class]]) { - NSPopUpButton *popUpButton = (NSPopUpButton *)button; - NSMenu *menu = [popUpButton menu]; - - [self _localizeStringsInObject:[menu itemArray] table:table]; - } else - [self _localizeStringsInObject:[button cell] table:table]; - - - } else if ([view isKindOfClass:[NSMatrix class]]) { - NSMatrix *matrix = (NSMatrix *)control; - - NSArray *cells = [matrix cells]; - [self _localizeStringsInObject:cells table:table]; - - for (NSCell *cell in cells) { - - NSString *localizedCellToolTip = [self _localizedStringForString:[matrix toolTipForCell:cell] table:table]; - if (localizedCellToolTip) - [matrix setToolTip:localizedCellToolTip forCell:cell]; - } - - } else if ([view isKindOfClass:[NSSegmentedControl class]]) { - NSSegmentedControl *segmentedControl = (NSSegmentedControl *)control; - - NSInteger segmentIndex, segmentCount = [segmentedControl segmentCount]; - for (segmentIndex = 0; segmentIndex < segmentCount; segmentIndex++) { - NSString *localizedSegmentLabel = [self _localizedStringForString:[segmentedControl labelForSegment:segmentIndex] table:table]; - if (localizedSegmentLabel) - [segmentedControl setLabel:localizedSegmentLabel forSegment:segmentIndex]; - NSString *localizedSegmentTooltip = [self _localizedStringForString:[[segmentedControl cell] toolTipForSegment:segmentIndex] table:table]; - if (localizedSegmentTooltip) - [[segmentedControl cell] setToolTip:localizedSegmentTooltip forSegment:segmentIndex]; - - [self _localizeStringsInObject:[segmentedControl menuForSegment:segmentIndex] table:table]; - } - - } else if ([view isKindOfClass:[NSTableView class]]) { - for (NSTableColumn *column in [(NSTableView*)view tableColumns]) { - [self _localizeStringValueOfObject:[column headerCell] table:table]; - NSString *localizedHeaderTip = [self _localizedStringForString:[column headerToolTip] table:table]; - if (localizedHeaderTip) [column setHeaderToolTip:localizedHeaderTip]; - } - - } else if ([view isKindOfClass:[NSTextField class]]) { - NSDictionary *vb; - if ((vb = [view infoForBinding:@"value"])) { - NSMutableDictionary *lvb = [NSMutableDictionary dictionaryWithDictionary:[vb objectForKey:NSOptionsKey]]; - for (NSString *bindingKey in deliciousBindingKeys) { - if ([lvb objectForKey:bindingKey] == [NSNull null]) continue; - NSString *localizedBindingString = [self _localizedStringForString:[lvb objectForKey:bindingKey] table:table]; - if (localizedBindingString) - [lvb setObject:localizedBindingString forKey:bindingKey]; - } - [view bind:@"value" toObject:[vb objectForKey:NSObservedObjectKey] withKeyPath:[vb objectForKey:NSObservedKeyPathKey] options:lvb]; - } - [self _localizeStringsInObject:[control cell] table:table]; - - } else - [self _localizeStringsInObject:[control cell] table:table]; - - } else if ([view isKindOfClass:[NSTabView class]]) { - NSTabView *tabView = (NSTabView *)view; - for (NSTabViewItem *tabViewItem in [tabView tabViewItems]) { - [self _localizeLabelOfObject:tabViewItem table:table]; - if ([tabViewItem respondsToSelector:@selector(toolTip)]) // 10.6+ - [self _localizeToolTipOfObject:tabViewItem table:table]; - [self _localizeStringsInObject:[tabViewItem view] table:table]; - } - - } - - [self _localizeStringsInObject:[view subviews] table:table]; - - } else if ([object isKindOfClass:[NSWindow class]]) { - NSWindow *window = object; - [self _localizeTitleOfObject:window table:table]; - - [self _localizeStringsInObject:[window contentView] table:table]; - - } -} - -+ (NSString *)_localizedStringForString:(NSString *)string table:(NSString *)table -{ - if (![string length]) - return nil; - - static NSString *defaultValue = @"I AM THE DEFAULT VALUE"; - NSString *localizedString = [[NSBundle mainBundle] localizedStringForKey:string value:defaultValue table:table]; - if (localizedString != defaultValue) { - return localizedString; - } else { -#ifdef BETA_BUILD - NSLog(@" not going to localize string %@", string); -#endif - return nil; - } -} - - -#define DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(blahName, capitalizedBlahName) \ -+ (void)_localize ##capitalizedBlahName ##OfObject:(id)object table:(NSString *)table; \ -{ \ - NSString *localizedBlah = [self _localizedStringForString:[object blahName] table:table]; \ - if (localizedBlah) \ - [object set ##capitalizedBlahName:localizedBlah]; \ -} - -DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(title, Title) -DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(alternateTitle, AlternateTitle) -DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(stringValue, StringValue) -DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(placeholderString, PlaceholderString) -DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(toolTip, ToolTip) -DM_DEFINE_LOCALIZE_BLAH_OF_OBJECT(label, Label) - -@end diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj index e021848d..9d5f6ffd 100644 --- a/sequel-pro.xcodeproj/project.pbxproj +++ b/sequel-pro.xcodeproj/project.pbxproj @@ -293,7 +293,6 @@ 588B2CCA0FE5641E00EC5FC0 /* ssh-disconnected.png in Resources */ = {isa = PBXBuildFile; fileRef = 588B2CC70FE5641E00EC5FC0 /* ssh-disconnected.png */; }; 589235321020C1230011DE00 /* SPHistoryController.m in Sources */ = {isa = PBXBuildFile; fileRef = 589235301020C1230011DE00 /* SPHistoryController.m */; }; 589582151154F8F400EDCC28 /* SPMainThreadTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = 589582141154F8F400EDCC28 /* SPMainThreadTrampoline.m */; }; - 589ED05B11E0ACD100C1DCEA /* DMLocalizedNib.m in Sources */ = {isa = PBXBuildFile; fileRef = 589ED05A11E0ACD100C1DCEA /* DMLocalizedNib.m */; }; 58A137CD123ED5E6000B1B75 /* titlebarlock.png in Resources */ = {isa = PBXBuildFile; fileRef = 58A137CC123ED5E6000B1B75 /* titlebarlock.png */; }; 58A8A72711A0149100B95749 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 58A8A72611A0149100B95749 /* MainWindow.xib */; }; 58A8A79111A036C000B95749 /* SPWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 58A8A79011A036C000B95749 /* SPWindowController.m */; }; @@ -332,7 +331,6 @@ 58B907CA11BDA541000826E5 /* PSMTabBar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58B906E611BD989A000826E5 /* PSMTabBar.framework */; }; 58B907FB11BDA5A9000826E5 /* PSMTabBar.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 58B906E611BD989A000826E5 /* PSMTabBar.framework */; }; 58B9097B11C3A4A2000826E5 /* xibLocalizationPostprocessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B9095B11C3A3EC000826E5 /* xibLocalizationPostprocessor.m */; }; - 58B909A511C3B919000826E5 /* DMLocalizedNibBundle.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B909A411C3B919000826E5 /* DMLocalizedNibBundle.m */; }; 58C3506510B9A56C00D37E14 /* button_left.png in Resources */ = {isa = PBXBuildFile; fileRef = 58C3506410B9A56C00D37E14 /* button_left.png */; }; 58C3506710B9A57300D37E14 /* button_right.png in Resources */ = {isa = PBXBuildFile; fileRef = 58C3506610B9A57300D37E14 /* button_right.png */; }; 58C3506B10B9AA8B00D37E14 /* button_pagination.png in Resources */ = {isa = PBXBuildFile; fileRef = 58C3506A10B9AA8B00D37E14 /* button_pagination.png */; }; @@ -1020,7 +1018,6 @@ 589235311020C1230011DE00 /* SPHistoryController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPHistoryController.h; sourceTree = "<group>"; }; 589582131154F8F400EDCC28 /* SPMainThreadTrampoline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPMainThreadTrampoline.h; sourceTree = "<group>"; }; 589582141154F8F400EDCC28 /* SPMainThreadTrampoline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPMainThreadTrampoline.m; sourceTree = "<group>"; }; - 589ED05A11E0ACD100C1DCEA /* DMLocalizedNib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DMLocalizedNib.m; sourceTree = "<group>"; }; 58A137CC123ED5E6000B1B75 /* titlebarlock.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = titlebarlock.png; sourceTree = "<group>"; }; 58A2F3791AAAE1BE0018141B /* nightlybuildupload.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = nightlybuildupload.sh; sourceTree = "<group>"; }; 58A2F37B1AAAE1C80018141B /* nightlybuildscript.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = nightlybuildscript.sh; sourceTree = "<group>"; }; @@ -1095,7 +1092,6 @@ 58B9088711BDB7AA000826E5 /* PSMTabBar-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "PSMTabBar-Info.plist"; path = "Plists/PSMTabBar-Info.plist"; sourceTree = "<group>"; }; 58B9095B11C3A3EC000826E5 /* xibLocalizationPostprocessor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = xibLocalizationPostprocessor.m; sourceTree = "<group>"; }; 58B9096111C3A42B000826E5 /* xibLocalizationPostprocessor */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = xibLocalizationPostprocessor; sourceTree = BUILT_PRODUCTS_DIR; }; - 58B909A411C3B919000826E5 /* DMLocalizedNibBundle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DMLocalizedNibBundle.m; sourceTree = "<group>"; }; 58C3506410B9A56C00D37E14 /* button_left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button_left.png; sourceTree = "<group>"; }; 58C3506610B9A57300D37E14 /* button_right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button_right.png; sourceTree = "<group>"; }; 58C3506A10B9AA8B00D37E14 /* button_pagination.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button_pagination.png; sourceTree = "<group>"; }; @@ -2515,8 +2511,6 @@ 58B909A111C3B8EC000826E5 /* Localization */ = { isa = PBXGroup; children = ( - 589ED05A11E0ACD100C1DCEA /* DMLocalizedNib.m */, - 58B909A411C3B919000826E5 /* DMLocalizedNibBundle.m */, 58B9095B11C3A3EC000826E5 /* xibLocalizationPostprocessor.m */, ); name = Localization; @@ -3222,9 +3216,7 @@ 173C839311AAD32A00B8B084 /* SPPDFExporterDelegate.m in Sources */, 173C839411AAD32A00B8B084 /* SPSQLExporterDelegate.m in Sources */, 173C839511AAD32A00B8B084 /* SPXMLExporterDelegate.m in Sources */, - 58B909A511C3B919000826E5 /* DMLocalizedNibBundle.m in Sources */, 17A7773411C52D8E001E27B4 /* SPIndexesController.m in Sources */, - 589ED05B11E0ACD100C1DCEA /* DMLocalizedNib.m in Sources */, 17AF787B11FC41C00073D043 /* SPExportFilenameUtilities.m in Sources */, 17F90E481210B42700274C98 /* SPExportFile.m in Sources */, 17F90E4B1210B43A00274C98 /* SPExportFileUtilities.m in Sources */, |