Skip to content
Snippets Groups Projects
Commit c8a0b488 authored by George Nachman's avatar George Nachman
Browse files

Fix bug where tools would become broken after becoming too short. Add Notes...

Fix bug where tools would become broken after becoming too short. Add Notes tool. Alphabetize tools. Add NSFileManager+DirectoryLocations.
parent d635e9c2
No related branches found
No related tags found
No related merge requests found
//
// NSFileManager+DirectoryLocations.h
//
// Created by Matt Gallagher on 06 May 2010
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software. Permission is granted to anyone to
// use this software for any purpose, including commercial applications, and to
// alter it and redistribute it freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
// 3. This notice may not be removed or altered from any source
// distribution.
//
#import <Foundation/Foundation.h>
//
// DirectoryLocations is a set of global methods for finding the fixed location
// directoriess.
//
@interface NSFileManager (DirectoryLocations)
- (NSString *)findOrCreateDirectory:(NSSearchPathDirectory)searchPathDirectory
inDomain:(NSSearchPathDomainMask)domainMask
appendPathComponent:(NSString *)appendComponent
error:(NSError **)errorOut;
- (NSString *)applicationSupportDirectory;
@end
//
// NSFileManager+DirectoryLocations.m
//
// Created by Matt Gallagher on 06 May 2010
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software. Permission is granted to anyone to
// use this software for any purpose, including commercial applications, and to
// alter it and redistribute it freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
// 3. This notice may not be removed or altered from any source
// distribution.
//
#import "NSFileManager+DirectoryLocations.h"
enum
{
DirectoryLocationErrorNoPathFound,
DirectoryLocationErrorFileExistsAtLocation
};
NSString * const DirectoryLocationDomain = @"DirectoryLocationDomain";
@implementation NSFileManager (DirectoryLocations)
//
// findOrCreateDirectory:inDomain:appendPathComponent:error:
//
// Method to tie together the steps of:
// 1) Locate a standard directory by search path and domain mask
// 2) Select the first path in the results
// 3) Append a subdirectory to that path
// 4) Create the directory and intermediate directories if needed
// 5) Handle errors by emitting a proper NSError object
//
// Parameters:
// searchPathDirectory - the search path passed to NSSearchPathForDirectoriesInDomains
// domainMask - the domain mask passed to NSSearchPathForDirectoriesInDomains
// appendComponent - the subdirectory appended
// errorOut - any error from file operations
//
// returns the path to the directory (if path found and exists), nil otherwise
//
- (NSString *)findOrCreateDirectory:(NSSearchPathDirectory)searchPathDirectory
inDomain:(NSSearchPathDomainMask)domainMask
appendPathComponent:(NSString *)appendComponent
error:(NSError **)errorOut
{
//
// Search for the path
//
NSArray* paths = NSSearchPathForDirectoriesInDomains(
searchPathDirectory,
domainMask,
YES);
if ([paths count] == 0)
{
if (errorOut)
{
NSDictionary *userInfo =
[NSDictionary dictionaryWithObjectsAndKeys:
NSLocalizedStringFromTable(
@"No path found for directory in domain.",
@"Errors",
nil),
NSLocalizedDescriptionKey,
[NSNumber numberWithInteger:searchPathDirectory],
@"NSSearchPathDirectory",
[NSNumber numberWithInteger:domainMask],
@"NSSearchPathDomainMask",
nil];
*errorOut =
[NSError
errorWithDomain:DirectoryLocationDomain
code:DirectoryLocationErrorNoPathFound
userInfo:userInfo];
}
return nil;
}
//
// Normally only need the first path returned
//
NSString *resolvedPath = [paths objectAtIndex:0];
//
// Append the extra path component
//
if (appendComponent)
{
resolvedPath = [resolvedPath
stringByAppendingPathComponent:appendComponent];
}
//
// Create the path if it doesn't exist
//
NSError *error = nil;
BOOL success = [self
createDirectoryAtPath:resolvedPath
withIntermediateDirectories:YES
attributes:nil
error:&error];
if (!success)
{
if (errorOut)
{
*errorOut = error;
}
return nil;
}
//
// If we've made it this far, we have a success
//
if (errorOut)
{
*errorOut = nil;
}
return resolvedPath;
}
//
// applicationSupportDirectory
//
// Returns the path to the applicationSupportDirectory (creating it if it doesn't
// exist).
//
- (NSString *)applicationSupportDirectory
{
NSString *executableName =
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleExecutable"];
NSError *error;
NSString *result =
[self
findOrCreateDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appendPathComponent:executableName
error:&error];
if (!result)
{
NSLog(@"Unable to find or create application support directory:\n%@", error);
}
return result;
}
@end
Loading
Loading
@@ -9,7 +9,7 @@
#import <Cocoa/Cocoa.h>
#import "ToolWrapper.h"
 
@interface ToolJobs : NSView {
@interface ToolJobs : NSView <ToolbeltTool> {
NSScrollView *scrollView_;
NSTableView *tableView_;
NSButton *kill_;
Loading
Loading
Loading
Loading
@@ -14,6 +14,8 @@
#import "ProcessCache.h"
 
static const int kMaxJobs = 20;
static const CGFloat kButtonHeight = 23;
static const CGFloat kMargin = 4;
 
@interface ToolJobs ()
- (void)updateTimer:(id)sender;
Loading
Loading
@@ -29,9 +31,6 @@ static const int kMaxJobs = 20;
names_ = [[NSMutableArray alloc] init];
pids_ = [[NSMutableArray alloc] init];
 
const CGFloat kButtonHeight = 23;
const CGFloat kMargin = 4;
kill_ = [[NSButton alloc] initWithFrame:NSMakeRect(0, frame.size.height - kButtonHeight, frame.size.width, kButtonHeight)];
[kill_ setButtonType:NSMomentaryPushInButton];
[kill_ setTitle:@"Send Signal"];
Loading
Loading
@@ -127,6 +126,17 @@ static const int kMaxJobs = 20;
return self;
}
 
- (void)relayout
{
NSRect frame = self.frame;
kill_.frame = NSMakeRect(0, frame.size.height - kButtonHeight, frame.size.width, kButtonHeight);
[kill_ sizeToFit];
signal_.frame = NSMakeRect(kill_.frame.size.width + kMargin, frame.size.height - kButtonHeight + 1,
1, 22);
[signal_ sizeToFit];
scrollView_.frame = NSMakeRect(0, 0, frame.size.width, frame.size.height - kButtonHeight - kMargin);
}
// When not key, check much less often to avoid burning the battery.
- (void)setSlowTimer
{
Loading
Loading
@@ -235,4 +245,4 @@ static const int kMaxJobs = 20;
kill(p, [[signal_ selectedItem] tag]);
}
 
@end
\ No newline at end of file
@end
//
// ToolNotes.h
// iTerm
//
// Created by George Nachman on 9/19/11.
// Copyright 2011 Georgetech. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "ToolbeltView.h"
@interface ToolNotes : NSView <ToolbeltTool> {
NSTextView *textView_;
NSFileManager *filemanager_;
}
@end
//
// ToolNotes.m
// iTerm
//
// Created by George Nachman on 9/19/11.
// Copyright 2011 Georgetech. All rights reserved.
//
#import "ToolNotes.h"
#import "NSFileManager+DirectoryLocations.h"
static NSString *kToolNotesSetTextNotification = @"kToolNotesSetTextNotification";
@interface ToolNotes ()
- (NSString *)filename;
@end
@implementation ToolNotes
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
filemanager_ = [[NSFileManager alloc] init];
NSScrollView *scrollview = [[NSScrollView alloc]
initWithFrame:NSMakeRect(0, 0, frame.size.width, frame.size.height)];
[scrollview setHasVerticalScroller:YES];
[scrollview setHasHorizontalScroller:NO];
[scrollview setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
NSSize contentSize = [scrollview contentSize];
textView_ = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, contentSize.width, contentSize.height)];
[textView_ setMinSize:NSMakeSize(0.0, contentSize.height)];
[textView_ setMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
[textView_ setVerticallyResizable:YES];
[textView_ setHorizontallyResizable:NO];
[textView_ setAutoresizingMask:NSViewWidthSizable];
[[textView_ textContainer] setContainerSize:NSMakeSize(contentSize.width, FLT_MAX)];
[[textView_ textContainer] setWidthTracksTextView:YES];
[textView_ setDelegate:self];
[textView_ readRTFDFromFile:[self filename]];
[scrollview setDocumentView:textView_];
[self addSubview:scrollview];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(setText:)
name:kToolNotesSetTextNotification
object:nil];
}
return self;
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[textView_ writeRTFDToFile:[self filename] atomically:NO];
[filemanager_ release];
[super dealloc];
}
- (NSString *)filename
{
return [NSString stringWithFormat:@"%@/notes.rtfd", [filemanager_ applicationSupportDirectory]];
}
- (void)textDidChange:(NSNotification *)aNotification
{
// Avoid saving huge files because of the slowdown it would cause.
if ([[textView_ textStorage] length] < 100 * 1024) {
[textView_ writeRTFDToFile:[self filename] atomically:NO];
[[NSNotificationCenter defaultCenter] postNotificationName:kToolNotesSetTextNotification
object:nil];
}
}
- (void)setText:(NSNotification *)aNotification
{
[textView_ readRTFDFromFile:[self filename]];
}
@end
Loading
Loading
@@ -11,14 +11,14 @@
#import "iTermController.h"
#import "ToolWrapper.h"
 
static const CGFloat kButtonHeight = 23;
static const CGFloat kMargin = 4;
@implementation ToolPasteHistory
 
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
const CGFloat kButtonHeight = 23;
const CGFloat kMargin = 4;
clear_ = [[NSButton alloc] initWithFrame:NSMakeRect(0, frame.size.height - kButtonHeight, frame.size.width, kButtonHeight)];
[clear_ setButtonType:NSMomentaryPushInButton];
[clear_ setTitle:@"Clear All"];
Loading
Loading
@@ -90,6 +90,15 @@
minuteRefreshTimer_ = nil;
}
 
- (void)relayout
{
NSRect frame = self.frame;
[clear_ setFrame:NSMakeRect(0, frame.size.height - kButtonHeight, frame.size.width, kButtonHeight)];
[scrollView_ setFrame:NSMakeRect(0, 0, frame.size.width, frame.size.height - kButtonHeight - kMargin)];
NSSize contentSize = [scrollView_ contentSize];
[tableView_ setFrame:NSMakeRect(0, 0, contentSize.width, contentSize.height)];
}
- (BOOL)isFlipped
{
return YES;
Loading
Loading
Loading
Loading
@@ -11,15 +11,15 @@
#import "iTermController.h"
#import "BookmarkModel.h"
 
static const int kVerticalMargin = 5;
static const int kMargin = 0;
static const int kPopupHeight = 26;
@implementation ToolProfiles
 
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
const int kVerticalMargin = 5;
const int kMargin = 0;
const int kPopupHeight = 26;
listView_ = [[BookmarkListView alloc] initWithFrame:NSMakeRect(kMargin, 0, frame.size.width - kMargin * 2, frame.size.height - kPopupHeight - kVerticalMargin)];
[listView_ setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
[listView_ setDelegate:self];
Loading
Loading
@@ -62,6 +62,14 @@
[super dealloc];
}
 
- (void)relayout
{
NSRect frame = self.frame;
listView_.frame = NSMakeRect(kMargin, 0, frame.size.width - kMargin * 2, frame.size.height - kPopupHeight - kVerticalMargin);
popup_.frame = NSMakeRect(0, frame.size.height - kPopupHeight, frame.size.width, kPopupHeight);
NSLog(@"Frame height is %d", (int)frame.size.height);
}
- (BOOL)isFlipped
{
return YES;
Loading
Loading
Loading
Loading
@@ -7,6 +7,7 @@
//
 
#import <Cocoa/Cocoa.h>
#import "ToolbeltView.h"
 
@class PseudoTerminal;
 
Loading
Loading
@@ -22,7 +23,9 @@
@property (nonatomic, readonly) NSView *container;
@property (nonatomic, assign) PseudoTerminal *term;
 
- (void)relayout;
- (void)bindCloseButton;
- (void)unbind;
- (NSObject<ToolbeltTool> *)tool;
 
@end
Loading
Loading
@@ -64,6 +64,19 @@ static const CGFloat kButtonSize = 17;
[super dealloc];
}
 
- (void)relayout
{
NSRect frame = [self frame];
title_.frame = NSMakeRect(kButtonSize, 0, frame.size.width - kButtonSize - kRightMargin, kTitleHeight);
closeButton_.frame = NSMakeRect(0, 0, kButtonSize, kButtonSize);
container_.frame = NSMakeRect(kLeftMargin, kTitleHeight + kMargin, MAX(0, frame.size.width - kLeftMargin - kRightMargin), MAX(0, frame.size.height - kTitleHeight - kMargin - kBottomMargin));
NSObject<ToolbeltTool> *tool = [self tool];
if ([tool respondsToSelector:@selector(relayout)]) {
[tool relayout];
}
}
- (void)bindCloseButton
{
[closeButton_ bind:@"hidden"
Loading
Loading
@@ -76,7 +89,7 @@ static const CGFloat kButtonSize = 17;
{
[title_ unbind:@"value"];
[closeButton_ unbind:@"hidden"];
NSObject *subview = [[container_ subviews] objectAtIndex:0];
NSObject<ToolbeltTool> *subview = [self tool];
if ([subview respondsToSelector:@selector(shutdown)]) {
[subview performSelector:@selector(shutdown)];
}
Loading
Loading
@@ -111,4 +124,9 @@ static const CGFloat kButtonSize = 17;
[title_ setEditable:NO];
}
 
- (NSObject<ToolbeltTool> *)tool
{
return (NSObject<ToolbeltTool>*) [[container_ subviews] objectAtIndex:0];
}
@end
Loading
Loading
@@ -11,6 +11,11 @@
@class PseudoTerminal;
 
@protocol ToolbeltTool
@optional
- (void)relayout;
@optional
- (void)shutdown;
@end
 
@interface ToolbeltView : NSView {
Loading
Loading
Loading
Loading
@@ -11,6 +11,7 @@
#import "ToolPasteHistory.h"
#import "ToolWrapper.h"
#import "ToolJobs.h"
#import "ToolNotes.h"
 
@interface ToolbeltView (Private)
 
Loading
Loading
@@ -29,9 +30,10 @@ static NSString *kToolbeltPrefKey = @"ToolbeltTools";
+ (void)initialize
{
gRegisteredTools = [[NSMutableDictionary alloc] init];
[ToolbeltView registerToolWithName:@"Jobs" withClass:[ToolJobs class]];
[ToolbeltView registerToolWithName:@"Notes" withClass:[ToolNotes class]];
[ToolbeltView registerToolWithName:@"Paste History" withClass:[ToolPasteHistory class]];
[ToolbeltView registerToolWithName:@"Profiles" withClass:[ToolProfiles class]];
[ToolbeltView registerToolWithName:@"Jobs" withClass:[ToolJobs class]];
}
 
+ (NSArray *)defaultTools
Loading
Loading
@@ -191,7 +193,7 @@ static NSString *kToolbeltPrefKey = @"ToolbeltTools";
 
- (void)addToolWithName:(NSString *)toolName
{
ToolWrapper *wrapper = [[ToolWrapper alloc] initWithFrame:NSMakeRect(0, 0, self.frame.size.width, self.frame.size.height)];
ToolWrapper *wrapper = [[ToolWrapper alloc] initWithFrame:NSMakeRect(0, 0, self.frame.size.width, self.frame.size.height / MAX(1, [ToolbeltView numberOfVisibleTools ] - 1))];
wrapper.name = toolName;
wrapper.term = term_;
Class c = [gRegisteredTools objectForKey:toolName];
Loading
Loading
@@ -215,4 +217,13 @@ static NSString *kToolbeltPrefKey = @"ToolbeltTools";
return [[splitter_ subviews] count] == 1;
}
 
#pragma mark - NSSplitViewDelegate
- (void)splitViewDidResizeSubviews:(NSNotification *)aNotification
{
for (ToolWrapper *wrapper in [splitter_ subviews]) {
[wrapper relayout];
}
}
@end
Loading
Loading
@@ -160,6 +160,10 @@
1D624BEE1386E34F00111319 /* GTMObjectSingleton.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D624BED1386E34F00111319 /* GTMObjectSingleton.h */; };
1D624BF41386E39D00111319 /* GTMDebugSelectorValidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D624BF31386E39D00111319 /* GTMDebugSelectorValidation.h */; };
1D624BF61386E3B400111319 /* GTMTypeCasting.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D624BF51386E3B400111319 /* GTMTypeCasting.h */; };
1D67AAA914284BF300D5DA4E /* ToolNotes.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D67AAA714284BF300D5DA4E /* ToolNotes.h */; };
1D67AAAA14284BF300D5DA4E /* ToolNotes.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D67AAA814284BF300D5DA4E /* ToolNotes.m */; };
1D67ABAB14285D6000D5DA4E /* NSFileManager+DirectoryLocations.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D67ABA914285D6000D5DA4E /* NSFileManager+DirectoryLocations.h */; };
1D67ABAC14285D6000D5DA4E /* NSFileManager+DirectoryLocations.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D67ABAA14285D6000D5DA4E /* NSFileManager+DirectoryLocations.m */; };
1D6A5FDF140D7AA000DE19F8 /* IBarCursorXMR.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D6A5FDE140D7AA000DE19F8 /* IBarCursorXMR.png */; };
1D6C18BE12951A3C00937A4A /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DEB293D1288899A00B2CB9F /* Carbon.framework */; };
1D6C4D5A122329F000E0AA3E /* ColorPresets.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1D6C4D59122329F000E0AA3E /* ColorPresets.plist */; };
Loading
Loading
@@ -359,6 +363,10 @@
1D624BED1386E34F00111319 /* GTMObjectSingleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMObjectSingleton.h; sourceTree = "<group>"; };
1D624BF31386E39D00111319 /* GTMDebugSelectorValidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDebugSelectorValidation.h; sourceTree = "<group>"; };
1D624BF51386E3B400111319 /* GTMTypeCasting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMTypeCasting.h; sourceTree = "<group>"; };
1D67AAA714284BF300D5DA4E /* ToolNotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToolNotes.h; sourceTree = "<group>"; };
1D67AAA814284BF300D5DA4E /* ToolNotes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ToolNotes.m; sourceTree = "<group>"; };
1D67ABA914285D6000D5DA4E /* NSFileManager+DirectoryLocations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSFileManager+DirectoryLocations.h"; sourceTree = "<group>"; };
1D67ABAA14285D6000D5DA4E /* NSFileManager+DirectoryLocations.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSFileManager+DirectoryLocations.m"; sourceTree = "<group>"; };
1D6A5FDE140D7AA000DE19F8 /* IBarCursorXMR.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = IBarCursorXMR.png; path = images/IBarCursorXMR.png; sourceTree = "<group>"; };
1D6C4D59122329F000E0AA3E /* ColorPresets.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ColorPresets.plist; sourceTree = "<group>"; };
1D6C50A51226EEFB00E0AA3E /* BookmarkListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookmarkListView.h; sourceTree = "<group>"; };
Loading
Loading
@@ -680,7 +688,6 @@
0464AB0E006CD2EC7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
1D9F6AB7140C9DC4009B5CD4 /* FutureMethods.m */,
1D2560A913EE60E4006B35CD /* ArrangementPreviewView.m */,
1DE214E0128212EE004E3ADF /* Autocomplete.m */,
1D6C50A61226EEFB00E0AA3E /* BookmarkListView.m */,
Loading
Loading
@@ -696,7 +703,7 @@
1D237D27131D8741004DD60C /* FindView.m */,
1D237D93131D8D66004DD60C /* FindViewController.m */,
1DA8117D13CEA30A00CCA89A /* FontSizeEstimator.m */,
1DA8117C13CEA30A00CCA89A /* FontSizeEstimator.h */,
1D9F6AB7140C9DC4009B5CD4 /* FutureMethods.m */,
1DAED28712E9395E005E49ED /* GlobalSearch.m */,
1D624BC71386E09E00111319 /* GTMCarbonEvent.m */,
20E74F4904E9089700000106 /* ITAddressBookMgr.m */,
Loading
Loading
@@ -713,6 +720,7 @@
1DF0895713DBAE1F00A52AD8 /* NSBitmapImageRep+CoreImage.h */,
1DF0895813DBAE1F00A52AD8 /* NSBitmapImageRep+CoreImage.m */,
1D7C1D1112772ECC00461E55 /* NSDateFormatterExtras.m */,
1D67ABAA14285D6000D5DA4E /* NSFileManager+DirectoryLocations.m */,
1DF0895913DBAE1F00A52AD8 /* NSImage+CoreImage.h */,
1DF0895A13DBAE1F00A52AD8 /* NSImage+CoreImage.m */,
E8E901A202743CA303A80106 /* NSStringITerm.m */,
Loading
Loading
@@ -735,6 +743,7 @@
1DF8AF5713FD781700C8A435 /* SplitPanel.m */,
1DE8DC881415513A00F83147 /* ToolbeltView.m */,
1D19C71314171F1D00617E08 /* ToolJobs.m */,
1D67AAA814284BF300D5DA4E /* ToolNotes.m */,
1DE8DDAC1415648600F83147 /* ToolPasteHistory.m */,
1DE8DC8C1415546000F83147 /* ToolProfiles.m */,
1DE8DF351415799700F83147 /* ToolWrapper.m */,
Loading
Loading
@@ -750,12 +759,14 @@
0464AB15006CD2EC7F000001 /* Headers */ = {
isa = PBXGroup;
children = (
1D67AAA714284BF300D5DA4E /* ToolNotes.h */,
1DE214DF128212EE004E3ADF /* Autocomplete.h */,
1DE8DF341415799700F83147 /* ToolWrapper.h */,
1D9F6AB6140C9DC4009B5CD4 /* FutureMethods.h */,
1D2560A813EE60E4006B35CD /* ArrangementPreviewView.h */,
1DE8DDAB1415648600F83147 /* ToolPasteHistory.h */,
1D29732514082676004C5DBE /* MovePaneController.h */,
1DA8117C13CEA30A00CCA89A /* FontSizeEstimator.h */,
1DE8DC8B1415546000F83147 /* ToolProfiles.h */,
1D19C71214171F1D00617E08 /* ToolJobs.h */,
1DE8DC871415513A00F83147 /* ToolbeltView.h */,
Loading
Loading
@@ -767,6 +778,7 @@
1DE5EBE6122B892900C736B0 /* BookmarksWindow.h */,
872EBC6B04E42E320073D10E /* charmaps.h */,
1D93D33312695442007F741B /* DVR.h */,
1D67ABA914285D6000D5DA4E /* NSFileManager+DirectoryLocations.h */,
1D93D3451269741B007F741B /* DVRBuffer.h */,
1D93D34D126974BC007F741B /* DVRDecoder.h */,
1D93D35112697529007F741B /* DVREncoder.h */,
Loading
Loading
@@ -1214,6 +1226,8 @@
1DE8DDAD1415648600F83147 /* ToolPasteHistory.h in Headers */,
1DE8DF361415799700F83147 /* ToolWrapper.h in Headers */,
1D19C71414171F1D00617E08 /* ToolJobs.h in Headers */,
1D67AAA914284BF300D5DA4E /* ToolNotes.h in Headers */,
1D67ABAB14285D6000D5DA4E /* NSFileManager+DirectoryLocations.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Loading
Loading
@@ -1513,6 +1527,8 @@
1DE8DDAE1415648600F83147 /* ToolPasteHistory.m in Sources */,
1DE8DF371415799700F83147 /* ToolWrapper.m in Sources */,
1D19C71514171F1D00617E08 /* ToolJobs.m in Sources */,
1D67AAAA14284BF300D5DA4E /* ToolNotes.m in Sources */,
1D67ABAC14285D6000D5DA4E /* NSFileManager+DirectoryLocations.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment