Revision: 3700
http://skim-app.svn.sourceforge.net/skim-app/?rev=3700&view=rev
Author: hofman
Date: 2008-04-10 11:12:54 -0700 (Thu, 10 Apr 2008)
Log Message:
-----------
Add more global strings.
Modified Paths:
--------------
trunk/NSArray_SKExtensions.m
trunk/SKAnnotationTypeImageCell.h
trunk/SKAnnotationTypeImageCell.m
trunk/SKBookmark.m
trunk/SKBookmarkController.m
trunk/SKMainWindowController.m
trunk/SKSnapshotWindowController.h
trunk/SKSnapshotWindowController.m
Modified: trunk/NSArray_SKExtensions.m
===================================================================
--- trunk/NSArray_SKExtensions.m 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/NSArray_SKExtensions.m 2008-04-10 18:12:54 UTC (rev 3700)
@@ -39,35 +39,36 @@
#import "NSArray_SKExtensions.h"
#import "NSValue_SKExtensions.h"
#import "NSString_SKExtensions.h"
+#import "PDFAnnotation_SKExtensions.h"
@implementation NSArray (SKExtensions)
- (NSArray *)arraySortedByPageIndex {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"pageIndex"
ascending:YES selector:@selector(compare:)] autorelease]]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationPageIndexKey ascending:YES
selector:@selector(compare:)] autorelease]]];
}
- (NSArray *)arraySortedByBounds {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"bounds" ascending:YES
selector:@selector(boundsCompare:)] autorelease]]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationBoundsKey
ascending:YES selector:@selector(boundsCompare:)] autorelease]]];
}
- (NSArray *)arraySortedByPageIndexAndBounds {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObjects:[[[NSSortDescriptor alloc] initWithKey:@"pageIndex"
ascending:YES selector:@selector(compare:)] autorelease], [[[NSSortDescriptor
alloc] initWithKey:@"bounds" ascending:YES selector:@selector(boundsCompare:)]
autorelease], nil]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObjects:[[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationPageIndexKey ascending:YES
selector:@selector(compare:)] autorelease], [[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationBoundsKey ascending:YES
selector:@selector(boundsCompare:)] autorelease], nil]];
}
- (NSArray *)arraySortedByType {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"type" ascending:YES
selector:@selector(noteTypeCompare:)] autorelease]]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationTypeKey
ascending:YES selector:@selector(noteTypeCompare:)] autorelease]]];
}
- (NSArray *)arraySortedByContents {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"string" ascending:YES
selector:@selector(localizedCaseInsensitiveNumericCompare:)] autorelease]]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationStringKey
ascending:YES selector:@selector(localizedCaseInsensitiveNumericCompare:)]
autorelease]]];
}
- (NSArray *)arraySortedByTypeAndContents {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObjects:[[[NSSortDescriptor alloc] initWithKey:@"type" ascending:YES
selector:@selector(noteTypeCompare:)] autorelease], [[[NSSortDescriptor alloc]
initWithKey:@"string" ascending:YES
selector:@selector(caseInsensitiveCompare:)] autorelease], nil]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObjects:[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationTypeKey
ascending:YES selector:@selector(noteTypeCompare:)] autorelease],
[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationStringKey ascending:YES
selector:@selector(caseInsensitiveCompare:)] autorelease], nil]];
}
- (NSArray *)arraySortedByTypeAndPageIndex {
- return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObjects:[[[NSSortDescriptor alloc] initWithKey:@"type" ascending:YES
selector:@selector(noteTypeCompare:)] autorelease], [[[NSSortDescriptor alloc]
initWithKey:@"pageIndex" ascending:YES selector:@selector(compare:)]
autorelease], nil]];
+ return [self sortedArrayUsingDescriptors:[NSArray
arrayWithObjects:[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationTypeKey
ascending:YES selector:@selector(noteTypeCompare:)] autorelease],
[[[NSSortDescriptor alloc] initWithKey:SKPDFAnnotationPageIndexKey
ascending:YES selector:@selector(compare:)] autorelease], nil]];
}
@end
Modified: trunk/SKAnnotationTypeImageCell.h
===================================================================
--- trunk/SKAnnotationTypeImageCell.h 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKAnnotationTypeImageCell.h 2008-04-10 18:12:54 UTC (rev 3700)
@@ -38,6 +38,8 @@
#import <Cocoa/Cocoa.h>
+extern NSString *SKAnnotationTypeImageCellTypeKey;
+extern NSString *SKAnnotationTypeImageCellActiveKey;
@interface SKAnnotationTypeImageCell : NSImageCell {
NSString *type;
Modified: trunk/SKAnnotationTypeImageCell.m
===================================================================
--- trunk/SKAnnotationTypeImageCell.m 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKAnnotationTypeImageCell.m 2008-04-10 18:12:54 UTC (rev 3700)
@@ -40,6 +40,8 @@
#import <Quartz/Quartz.h>
#import "SKStringConstants.h"
+NSString *SKAnnotationTypeImageCellTypeKey = @"type";
+NSString *SKAnnotationTypeImageCellActiveKey = @"active";
@implementation SKAnnotationTypeImageCell
@@ -57,12 +59,12 @@
- (void)setObjectValue:(id)anObject {
if ([anObject respondsToSelector:@selector(objectForKey:)]) {
- NSString *newType = [anObject objectForKey:@"type"];
+ NSString *newType = [anObject
objectForKey:SKAnnotationTypeImageCellTypeKey];
if (type != newType) {
[type release];
type = [newType retain];
}
- active = [[anObject objectForKey:@"active"] boolValue];
+ active = [[anObject objectForKey:SKAnnotationTypeImageCellActiveKey]
boolValue];
} else {
[super setObjectValue:anObject];
}
Modified: trunk/SKBookmark.m
===================================================================
--- trunk/SKBookmark.m 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKBookmark.m 2008-04-10 18:12:54 UTC (rev 3700)
@@ -49,11 +49,11 @@
static NSString *SKBookmarkTypeFolderString = @"folder";
static NSString *SKBookmarkTypeSeparatorString = @"separator";
-#define CHILDREN_KEY @"children"
-#define LABEL_KEY @"label"
-#define PAGE_INDEX_KEY @"pageIndex"
-#define ALIAS_DATA_KEY @"_BDAlias"
-#define TYPE_KEY @"type"
+static NSString *SKBookmarkChildrenKey = @"children";
+static NSString *SKBookmarkLabelKey = @"label";
+static NSString *SKBookmarkPageIndexKey = @"pageIndex";
+static NSString *SKBookmarkAliasDataKey = @"_BDAlias";
+static NSString *SKBookmarkTypeKey = @"type";
@interface SKFileBookmark : SKBookmark {
BDAlias *alias;
@@ -124,17 +124,17 @@
}
- (id)initWithProperties:(NSDictionary *)dictionary {
- if ([[dictionary objectForKey:TYPE_KEY]
isEqualToString:SKBookmarkTypeFolderString]) {
- NSEnumerator *dictEnum = [[dictionary objectForKey:CHILDREN_KEY]
objectEnumerator];
+ if ([[dictionary objectForKey:SKBookmarkTypeKey]
isEqualToString:SKBookmarkTypeFolderString]) {
+ NSEnumerator *dictEnum = [[dictionary
objectForKey:SKBookmarkChildrenKey] objectEnumerator];
NSDictionary *dict;
NSMutableArray *newChildren = [NSMutableArray array];
while (dict = [dictEnum nextObject])
[newChildren addObject:[[[[self class] alloc]
initWithProperties:dict] autorelease]];
- return [self initFolderWithChildren:newChildren label:[dictionary
objectForKey:LABEL_KEY]];
- } else if ([[dictionary objectForKey:TYPE_KEY]
isEqualToString:SKBookmarkTypeSeparatorString]) {
+ return [self initFolderWithChildren:newChildren label:[dictionary
objectForKey:SKBookmarkLabelKey]];
+ } else if ([[dictionary objectForKey:SKBookmarkTypeKey]
isEqualToString:SKBookmarkTypeSeparatorString]) {
return [self initSeparator];
} else {
- return [self initWithAliasData:[dictionary
objectForKey:ALIAS_DATA_KEY] pageIndex:[[dictionary
objectForKey:PAGE_INDEX_KEY] unsignedIntValue] label:[dictionary
objectForKey:LABEL_KEY]];
+ return [self initWithAliasData:[dictionary
objectForKey:SKBookmarkAliasDataKey] pageIndex:[[dictionary
objectForKey:SKBookmarkPageIndexKey] unsignedIntValue] label:[dictionary
objectForKey:SKBookmarkLabelKey]];
}
}
@@ -235,7 +235,7 @@
}
- (NSDictionary *)properties {
- return [NSDictionary
dictionaryWithObjectsAndKeys:SKBookmarkTypeBookmarkString, TYPE_KEY, [self
aliasData], ALIAS_DATA_KEY, [NSNumber numberWithUnsignedInt:pageIndex],
PAGE_INDEX_KEY, label, LABEL_KEY, nil];
+ return [NSDictionary
dictionaryWithObjectsAndKeys:SKBookmarkTypeBookmarkString, SKBookmarkTypeKey,
[self aliasData], SKBookmarkAliasDataKey, [NSNumber
numberWithUnsignedInt:pageIndex], SKBookmarkPageIndexKey, label,
SKBookmarkLabelKey, nil];
}
- (int)bookmarkType {
@@ -337,7 +337,7 @@
}
- (NSDictionary *)properties {
- return [NSDictionary
dictionaryWithObjectsAndKeys:SKBookmarkTypeFolderString, TYPE_KEY, [children
valueForKey:@"properties"], CHILDREN_KEY, label, LABEL_KEY, nil];
+ return [NSDictionary
dictionaryWithObjectsAndKeys:SKBookmarkTypeFolderString, SKBookmarkTypeKey,
[children valueForKey:@"properties"], SKBookmarkChildrenKey, label,
SKBookmarkLabelKey, nil];
}
- (int)bookmarkType {
@@ -402,7 +402,7 @@
}
- (NSDictionary *)properties {
- return [NSDictionary
dictionaryWithObjectsAndKeys:SKBookmarkTypeSeparatorString, TYPE_KEY, nil];
+ return [NSDictionary
dictionaryWithObjectsAndKeys:SKBookmarkTypeSeparatorString, SKBookmarkTypeKey,
nil];
}
- (int)bookmarkType {
Modified: trunk/SKBookmarkController.m
===================================================================
--- trunk/SKBookmarkController.m 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKBookmarkController.m 2008-04-10 18:12:54 UTC (rev 3700)
@@ -63,14 +63,13 @@
static NSString *SKMaximumDocumentPageHistoryCountKey =
@"SKMaximumDocumentPageHistoryCount";
-#define BOOKMARKS_KEY @"bookmarks"
-#define RECENT_DOCUMENTS_KEY @"recentDocuments"
+static NSString *SKBookmarkControllerBookmarksKey = @"bookmarks";
+static NSString *SKBookmarkControllerRecentDocumentsKey = @"recentDocuments";
-#define PAGE_INDEX_KEY @"pageIndex"
-#define PATH_KEY @"path"
-#define ALIAS_KEY @"alias"
-#define ALIAS_DATA_KEY @"_BDAlias"
-#define SNAPSHOTS_KEY @"snapshots"
+static NSString *SKRecentDocumentPageIndexKey = @"pageIndex";
+static NSString *SKRecentDocumentAliasKey = @"alias";
+static NSString *SKRecentDocumentAliasDataKey = @"_BDAlias";
+static NSString *SKRecentDocumentSnapshotsKey = @"snapshots";
@implementation SKBookmarkController
@@ -109,8 +108,8 @@
NSLog(@"Error deserializing: %@", error);
[error release];
} else if ([plist isKindOfClass:[NSDictionary class]]) {
- [recentDocuments addObjectsFromArray:[plist
objectForKey:RECENT_DOCUMENTS_KEY]];
- NSEnumerator *dictEnum = [[plist objectForKey:BOOKMARKS_KEY]
objectEnumerator];
+ [recentDocuments addObjectsFromArray:[plist
objectForKey:SKBookmarkControllerRecentDocumentsKey]];
+ NSEnumerator *dictEnum = [[plist
objectForKey:SKBookmarkControllerBookmarksKey] objectEnumerator];
NSDictionary *dict;
while (dict = [dictEnum nextObject]) {
@@ -282,10 +281,10 @@
unsigned int idx = NSNotFound, i, iMax = [recentDocuments count];
for (i = 0; i < iMax; i++) {
NSMutableDictionary *info = [recentDocuments objectAtIndex:i];
- BDAlias *alias = [info valueForKey:ALIAS_KEY];
+ BDAlias *alias = [info valueForKey:SKRecentDocumentAliasKey];
if (alias == nil) {
- alias = [BDAlias aliasWithData:[info valueForKey:ALIAS_DATA_KEY]];
- [info setValue:alias forKey:ALIAS_KEY];
+ alias = [BDAlias aliasWithData:[info
valueForKey:SKRecentDocumentAliasDataKey]];
+ [info setValue:alias forKey:SKRecentDocumentAliasKey];
}
if ([[alias fullPathNoUI] isEqualToString:path]) {
idx = i;
@@ -304,7 +303,7 @@
[recentDocuments removeObjectAtIndex:idx];
BDAlias *alias = [BDAlias aliasWithPath:path];
- NSMutableDictionary *bm = [NSMutableDictionary
dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:pageIndex],
PAGE_INDEX_KEY, [alias aliasData], ALIAS_DATA_KEY, alias, ALIAS_KEY, [setups
count] ? setups : nil, SNAPSHOTS_KEY, nil];
+ NSMutableDictionary *bm = [NSMutableDictionary
dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:pageIndex],
SKRecentDocumentPageIndexKey, [alias aliasData], SKRecentDocumentAliasDataKey,
alias, SKRecentDocumentAliasKey, [setups count] ? setups : nil,
SKRecentDocumentSnapshotsKey, nil];
[recentDocuments insertObject:bm atIndex:0];
if ([recentDocuments count] > maxRecentDocumentsCount)
[recentDocuments removeLastObject];
@@ -314,14 +313,14 @@
if (path == nil)
return NSNotFound;
unsigned int idx = [self indexOfRecentDocumentAtPath:path];
- return idx == NSNotFound ? NSNotFound : [[[recentDocuments
objectAtIndex:idx] objectForKey:PAGE_INDEX_KEY] unsignedIntValue];
+ return idx == NSNotFound ? NSNotFound : [[[recentDocuments
objectAtIndex:idx] objectForKey:SKRecentDocumentPageIndexKey] unsignedIntValue];
}
- (NSArray *)snapshotsAtPath:(NSString *)path {
if (path == nil)
return nil;
unsigned int idx = [self indexOfRecentDocumentAtPath:path];
- NSArray *setups = idx == NSNotFound ? nil : [[recentDocuments
objectAtIndex:idx] objectForKey:SNAPSHOTS_KEY];
+ NSArray *setups = idx == NSNotFound ? nil : [[recentDocuments
objectAtIndex:idx] objectForKey:SKRecentDocumentSnapshotsKey];
return [setups count] ? setups : nil;
}
@@ -451,8 +450,8 @@
#pragma mark Notification handlers
- (void)handleApplicationWillTerminateNotification:(NSNotification
*)notification {
- [recentDocuments makeObjectsPerformSelector:@selector(removeObjectForKey:)
withObject:ALIAS_KEY];
- NSDictionary *bookmarksDictionary = [NSDictionary
dictionaryWithObjectsAndKeys:[bookmarks valueForKey:@"properties"],
BOOKMARKS_KEY, recentDocuments, RECENT_DOCUMENTS_KEY, nil];
+ [recentDocuments makeObjectsPerformSelector:@selector(removeObjectForKey:)
withObject:SKRecentDocumentAliasKey];
+ NSDictionary *bookmarksDictionary = [NSDictionary
dictionaryWithObjectsAndKeys:[bookmarks valueForKey:@"properties"],
SKBookmarkControllerBookmarksKey, recentDocuments,
SKBookmarkControllerRecentDocumentsKey, nil];
NSString *error = nil;
NSPropertyListFormat format = NSPropertyListBinaryFormat_v1_0;
NSData *data = [NSPropertyListSerialization
dataFromPropertyList:bookmarksDictionary format:format errorDescription:&error];
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKMainWindowController.m 2008-04-10 18:12:54 UTC (rev 3700)
@@ -71,6 +71,7 @@
#import "SKNoteOutlineView.h"
#import "SKThumbnailTableView.h"
#import "SKFindTableView.h"
+#import "SKAnnotationTypeImageCell.h"
#import "NSWindowController_SKExtensions.h"
#import "SKPDFHoverWindow.h"
#import "PDFSelection_SKExtensions.h"
@@ -86,6 +87,7 @@
#import "SKProgressController.h"
#import "SKSecondaryPDFView.h"
#import "SKSheetController.h"
+#import "SKColorSwatch.h"
#import "OBUtilities.h"
#import "SKApplicationController.h"
#import "SKCFCallbacks.h"
@@ -105,6 +107,27 @@
static NSString *SKMainWindowAutoHidesScrollersKey = @"autoHidesScrollers";
static NSString *SKMainWindowPageIndexKey = @"pageIndex";
+static NSString *SKMainWindowPageLabelKey = @"pageLabel";
+static NSString *SKMainWindowPageLabelsKey = @"pageLabels";
+static NSString *SKMainWindowPageNumberKey = @"pageNumber";
+static NSString *SKMainWindowSearchResultsKey = @"searchResults";
+static NSString *SKMainWindowGroupedSearchResultsKey = @"groupedSearchResults";
+static NSString *SKMainWindowNotesKey = @"notes";
+static NSString *SKMainWindowThumbnailsKey = @"thumbnails";
+static NSString *SKMainWindowSnapshotsKey = @"snapshots";
+
+static NSString *SKMainWindowPageColumnIdentifer = @"page";
+static NSString *SKMainWindowLabelColumnIdentifer = @"label";
+static NSString *SKMainWindowNoteColumnIdentifer = @"note";
+static NSString *SKMainWindowTypeColumnIdentifer = @"type";
+static NSString *SKMainWindowRelevanceColumnIdentifer = @"relevance";
+static NSString *SKMainWindowResultsColumnIdentifer = @"results";
+
+static NSString *SKSearchResultCountKey = @"count";
+static NSString *SKSearchResultPageKey = @"page";
+static NSString *SKSearchResultResultsKey = @"results";
+static NSString *SKSearchResultMaxCountKey = @"maxCount";
+
static float segmentedControlHeight = 23.0;
static float segmentedControlOffset = 1.0;
@@ -242,7 +265,7 @@
[self stopObservingNotes:[self notes]];
[undoGroupOldPropertiesPerNote release];
[undoGroupInsertedNotes release];
- [colorSwatch unbind:@"color"];
+ [colorSwatch unbind:SKColorSwatchColorsKey];
[[NSNotificationCenter defaultCenter] removeObserver: self];
[self unregisterAsObserver];
[(id)temporaryAnnotations release];
@@ -420,15 +443,15 @@
[self resetSnapshotSizeIfNeeded];
// this needs to be done before loading the PDFDocument
- NSSortDescriptor *pageIndexSortDescriptor = [[[NSSortDescriptor alloc]
initWithKey:@"pageIndex" ascending:YES] autorelease];
- NSSortDescriptor *boundsSortDescriptor = [[[NSSortDescriptor alloc]
initWithKey:@"bounds" ascending:YES selector:@selector(boundsCompare:)]
autorelease];
+ NSSortDescriptor *pageIndexSortDescriptor = [[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationPageIndexKey ascending:YES] autorelease];
+ NSSortDescriptor *boundsSortDescriptor = [[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationBoundsKey ascending:YES
selector:@selector(boundsCompare:)] autorelease];
[noteArrayController setSortDescriptors:[NSArray
arrayWithObjects:pageIndexSortDescriptor, boundsSortDescriptor, nil]];
[snapshotArrayController setSortDescriptors:[NSArray
arrayWithObjects:pageIndexSortDescriptor, nil]];
[ownerController setContent:self];
- NSSortDescriptor *countDescriptor = [[[NSSortDescriptor alloc]
initWithKey:@"count" ascending:NO] autorelease];
+ NSSortDescriptor *countDescriptor = [[[NSSortDescriptor alloc]
initWithKey:SKSearchResultCountKey ascending:NO] autorelease];
[groupedFindArrayController setSortDescriptors:[NSArray
arrayWithObjects:countDescriptor, nil]];
- [[[groupedFindTableView tableColumnWithIdentifier:@"relevance"] dataCell]
setEnabled:NO];
+ [[[groupedFindTableView
tableColumnWithIdentifier:SKMainWindowRelevanceColumnIdentifer] dataCell]
setEnabled:NO];
// NB: the next line will load the PDF document and annotations, so
necessary setup must be finished first!
// windowControllerDidLoadNib: is not called automatically because the
document overrides makeWindowControllers
@@ -802,7 +825,7 @@
}
- (void)updatePageColumnWidthForTableView:(NSTableView *)tv {
- NSTableColumn *tableColumn = [tv tableColumnWithIdentifier:@"page"];
+ NSTableColumn *tableColumn = [tv
tableColumnWithIdentifier:SKMainWindowPageColumnIdentifer];
id cell = [tableColumn dataCell];
float labelWidth = 0.0;
NSEnumerator *labelEnum = [pageLabels objectEnumerator];
@@ -823,8 +846,8 @@
int i, count = [pdfDoc pageCount];
// update page labels, also update the size of the table columns
displaying the labels
- [self willChangeValueForKey:@"pageLabel"];
- [self willChangeValueForKey:@"pageLabels"];
+ [self willChangeValueForKey:SKMainWindowPageLabelKey];
+ [self willChangeValueForKey:SKMainWindowPageLabelsKey];
[pageLabels removeAllObjects];
for (i = 0; i < count; i++) {
NSString *label = [[pdfDoc pageAtIndex:i] label];
@@ -832,8 +855,8 @@
label = [NSString stringWithFormat:@"%i", i+1];
[pageLabels addObject:label];
}
- [self didChangeValueForKey:@"pageLabels"];
- [self didChangeValueForKey:@"pageLabel"];
+ [self didChangeValueForKey:SKMainWindowPageLabelsKey];
+ [self didChangeValueForKey:SKMainWindowPageLabelKey];
[self updatePageColumnWidthForTableView:thumbnailTableView];
[self updatePageColumnWidthForTableView:snapshotTableView];
@@ -904,14 +927,14 @@
[pdfView setActiveAnnotation:nil];
// these will be invalid. If needed, the document will restore them
- [[self mutableArrayValueForKey:@"searchResults"] removeAllObjects];
- [[self mutableArrayValueForKey:@"groupedSearchResults"]
removeAllObjects];
- [[self mutableArrayValueForKey:@"notes"] removeAllObjects];
- [[self mutableArrayValueForKey:@"thumbnails"] removeAllObjects];
+ [[self mutableArrayValueForKey:SKMainWindowSearchResultsKey]
removeAllObjects];
+ [[self
mutableArrayValueForKey:SKMainWindowGroupedSearchResultsKey] removeAllObjects];
+ [[self mutableArrayValueForKey:SKMainWindowNotesKey]
removeAllObjects];
+ [[self mutableArrayValueForKey:SKMainWindowThumbnailsKey]
removeAllObjects];
- snapshotDicts = [snapshots valueForKey:@"currentSetup"];
+ snapshotDicts = [snapshots valueForKey:SKSnapshotCurrentSetupKey];
[snapshots makeObjectsPerformSelector:@selector(close)];
- [[self mutableArrayValueForKey:@"snapshots"] removeAllObjects];
+ [[self mutableArrayValueForKey:SKMainWindowSnapshotsKey]
removeAllObjects];
[pdfOutline release];
pdfOutline = nil;
@@ -957,11 +980,11 @@
PDFAnnotation *annotation;
NSDictionary *dict;
PDFDocument *pdfDoc = [pdfView document];
- NSMutableArray *observedNotes = [self mutableArrayValueForKey:@"notes"];
+ NSMutableArray *observedNotes = [self
mutableArrayValueForKey:SKMainWindowNotesKey];
// create new annotations from the dictionary and add them to their page
and to the document
while (dict = [e nextObject]) {
- unsigned pageIndex = [[dict objectForKey:@"pageIndex"]
unsignedIntValue];
+ unsigned pageIndex = [[dict objectForKey:SKPDFAnnotationPageIndexKey]
unsignedIntValue];
if (annotation = [[PDFAnnotation alloc] initWithProperties:dict]) {
if (pageIndex == NSNotFound)
pageIndex = 0;
@@ -1005,7 +1028,7 @@
}
if (undoable == NO)
- [[self mutableArrayValueForKey:@"notes"] removeAllObjects];
+ [[self mutableArrayValueForKey:SKMainWindowNotesKey] removeAllObjects];
[self addAnnotationsFromDictionaries:noteDicts undoable:undoable];
}
@@ -2822,9 +2845,9 @@
if (findPanelFind == NO) {
NSString *message = [NSLocalizedString(@"Searching", @"Message in
search table header") stringByAppendingEllipsis];
[findArrayController removeObjects:searchResults];
- [[[findTableView tableColumnWithIdentifier:@"results"] headerCell]
setStringValue:message];
+ [[[findTableView
tableColumnWithIdentifier:SKMainWindowResultsColumnIdentifer] headerCell]
setStringValue:message];
[[findTableView headerView] setNeedsDisplay:YES];
- [[[groupedFindTableView tableColumnWithIdentifier:@"relevance"]
headerCell] setStringValue:message];
+ [[[groupedFindTableView
tableColumnWithIdentifier:SKMainWindowRelevanceColumnIdentifer] headerCell]
setStringValue:message];
[[groupedFindTableView headerView] setNeedsDisplay:YES];
[groupedFindArrayController removeObjects:groupedSearchResults];
[statusBar setProgressIndicatorStyle:SKProgressIndicatorBarStyle];
@@ -2837,13 +2860,13 @@
- (void)documentDidEndDocumentFind:(NSNotification *)note {
if (findPanelFind == NO) {
NSString *message = [NSString stringWithFormat:NSLocalizedString(@"%i
Results", @"Message in search table header"), [searchResults count]];
- [self willChangeValueForKey:@"searchResults"];
- [self didChangeValueForKey:@"searchResults"];
- [self willChangeValueForKey:@"groupedSearchResults"];
- [self didChangeValueForKey:@"groupedSearchResults"];
- [[[findTableView tableColumnWithIdentifier:@"results"] headerCell]
setStringValue:message];
+ [self willChangeValueForKey:SKMainWindowSearchResultsKey];
+ [self didChangeValueForKey:SKMainWindowSearchResultsKey];
+ [self willChangeValueForKey:SKMainWindowGroupedSearchResultsKey];
+ [self didChangeValueForKey:SKMainWindowGroupedSearchResultsKey];
+ [[[findTableView
tableColumnWithIdentifier:SKMainWindowResultsColumnIdentifer] headerCell]
setStringValue:message];
[[findTableView headerView] setNeedsDisplay:YES];
- [[[groupedFindTableView tableColumnWithIdentifier:@"relevance"]
headerCell] setStringValue:message];
+ [[[groupedFindTableView
tableColumnWithIdentifier:SKMainWindowRelevanceColumnIdentifer] headerCell]
setStringValue:message];
[[groupedFindTableView headerView] setNeedsDisplay:YES];
[statusBar stopAnimation:self];
[statusBar setProgressIndicatorStyle:SKProgressIndicatorNone];
@@ -2854,10 +2877,10 @@
NSNumber *pageIndex = [[note userInfo]
objectForKey:@"PDFDocumentPageIndex"];
[[statusBar progressIndicator] setDoubleValue:[pageIndex doubleValue]];
if ([pageIndex unsignedIntValue] % 50 == 0) {
- [self willChangeValueForKey:@"searchResults"];
- [self didChangeValueForKey:@"searchResults"];
- [self willChangeValueForKey:@"groupedSearchResults"];
- [self didChangeValueForKey:@"groupedSearchResults"];
+ [self willChangeValueForKey:SKMainWindowSearchResultsKey];
+ [self didChangeValueForKey:SKMainWindowSearchResultsKey];
+ [self willChangeValueForKey:SKMainWindowGroupedSearchResultsKey];
+ [self didChangeValueForKey:SKMainWindowGroupedSearchResultsKey];
}
}
@@ -2867,20 +2890,20 @@
PDFPage *page = [[instance pages] objectAtIndex:0];
NSMutableDictionary *dict = [groupedSearchResults lastObject];
- NSNumber *maxCount = [dict valueForKey:@"maxCount"];
- if ([[dict valueForKey:@"page"] isEqual:page] == NO) {
- dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:page,
@"page", [NSMutableArray array], @"results", maxCount, @"maxCount", nil];
+ NSNumber *maxCount = [dict valueForKey:SKSearchResultMaxCountKey];
+ if ([[dict valueForKey:SKSearchResultPageKey] isEqual:page] == NO) {
+ dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:page,
SKSearchResultPageKey, [NSMutableArray array], SKSearchResultResultsKey,
maxCount, SKSearchResultMaxCountKey, nil];
[groupedSearchResults addObject:dict];
}
- NSMutableArray *results = [dict valueForKey:@"results"];
+ NSMutableArray *results = [dict valueForKey:SKSearchResultResultsKey];
[results addObject:instance];
- [dict setValue:[NSNumber numberWithUnsignedInt:[results count]]
forKey:@"count"];
+ [dict setValue:[NSNumber numberWithUnsignedInt:[results count]]
forKey:SKSearchResultCountKey];
if ([results count] > [maxCount unsignedIntValue]) {
NSEnumerator *dictEnum = [groupedSearchResults objectEnumerator];
maxCount = [NSNumber numberWithUnsignedInt:[results count]];
while (dict = [dictEnum nextObject])
- [dict setValue:maxCount forKey:@"maxCount"];
+ [dict setValue:maxCount forKey:SKSearchResultMaxCountKey];
}
}
}
@@ -3174,11 +3197,11 @@
NSImage *image = [controller thumbnailWithSize:snapshotCacheSize];
[controller setThumbnail:image];
- [[self mutableArrayValueForKey:@"snapshots"] addObject:controller];
+ [[self mutableArrayValueForKey:SKMainWindowSnapshotsKey]
addObject:controller];
}
- (void)snapshotControllerWindowWillClose:(SKSnapshotWindowController
*)controller {
- [[self mutableArrayValueForKey:@"snapshots"] removeObject:controller];
+ [[self mutableArrayValueForKey:SKMainWindowSnapshotsKey]
removeObject:controller];
}
- (void)snapshotControllerViewDidChange:(SKSnapshotWindowController
*)controller {
@@ -3304,10 +3327,10 @@
[thumbnailTableView setNeedsDisplay:YES];
[outlineView setNeedsDisplay:YES];
- [self willChangeValueForKey:@"pageNumber"];
- [self willChangeValueForKey:@"pageLabel"];
- [self didChangeValueForKey:@"pageLabel"];
- [self didChangeValueForKey:@"pageNumber"];
+ [self willChangeValueForKey:SKMainWindowPageNumberKey];
+ [self willChangeValueForKey:SKMainWindowPageLabelKey];
+ [self didChangeValueForKey:SKMainWindowPageLabelKey];
+ [self didChangeValueForKey:SKMainWindowPageNumberKey];
[previousNextPageButton setEnabled:[pdfView canGoToPreviousPage]
forSegment:0];
[previousNextPageButton setEnabled:[pdfView canGoToNextPage] forSegment:1];
@@ -3416,7 +3439,7 @@
if (annotation) {
updatingNoteSelection = YES;
- [[self mutableArrayValueForKey:@"notes"] addObject:annotation];
+ [[self mutableArrayValueForKey:SKMainWindowNotesKey]
addObject:annotation];
[noteArrayController rearrangeObjects]; // doesn't seem to be done
automatically
updatingNoteSelection = NO;
}
@@ -3450,7 +3473,7 @@
break;
}
}
- [[self mutableArrayValueForKey:@"notes"] removeObject:annotation];
+ [[self mutableArrayValueForKey:SKMainWindowNotesKey]
removeObject:annotation];
[noteArrayController rearrangeObjects];
}
if (page) {
@@ -3842,9 +3865,9 @@
- (id)outlineView:(NSOutlineView *)ov objectValueForTableColumn:(NSTableColumn
*)tableColumn byItem:(id)item{
if ([ov isEqual:outlineView]) {
NSString *tcID = [tableColumn identifier];
- if([tcID isEqualToString:@"label"]){
+ if([tcID isEqualToString:SKMainWindowLabelColumnIdentifer]){
return [(PDFOutline *)item label];
- }else if([tcID isEqualToString:@"page"]){
+ }else if([tcID isEqualToString:SKMainWindowPageColumnIdentifer]){
return [[[(PDFOutline *)item destination] page] label];
}else{
[NSException raise:@"Unexpected tablecolumn identifier" format:@"
- %@ ", tcID];
@@ -3852,11 +3875,11 @@
}
} else if ([ov isEqual:noteOutlineView]) {
NSString *tcID = [tableColumn identifier];
- if ([tcID isEqualToString:@"note"]) {
+ if ([tcID isEqualToString:SKMainWindowNoteColumnIdentifer]) {
return [item type] ? (id)[item string] : (id)[item text];
- } else if([tcID isEqualToString:@"type"]) {
- return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber
numberWithBool:item == [pdfView activeAnnotation]], @"active", [item type],
@"type", nil];
- } else if([tcID isEqualToString:@"page"]) {
+ } else if([tcID isEqualToString:SKMainWindowTypeColumnIdentifer]) {
+ return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber
numberWithBool:item == [pdfView activeAnnotation]],
SKAnnotationTypeImageCellActiveKey, [item type],
SKAnnotationTypeImageCellTypeKey, nil];
+ } else if([tcID isEqualToString:SKMainWindowPageColumnIdentifer]) {
return [[item page] label];
}
}
@@ -3865,7 +3888,7 @@
- (void)outlineView:(NSOutlineView *)ov setObjectValue:(id)object
forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item{
if ([ov isEqual:noteOutlineView]) {
- if ([[tableColumn identifier] isEqualToString:@"note"]) {
+ if ([[tableColumn identifier]
isEqualToString:SKMainWindowNoteColumnIdentifer]) {
if ([item type] && [object isEqualToString:[item string]] == NO)
[item setString:object];
}
@@ -3874,7 +3897,7 @@
- (BOOL)outlineView:(NSOutlineView *)ov shouldEditTableColumn:(NSTableColumn
*)tableColumn item:(id)item{
if ([ov isEqual:noteOutlineView]) {
- if ([[tableColumn identifier] isEqualToString:@"note"]) {
+ if ([[tableColumn identifier]
isEqualToString:SKMainWindowNoteColumnIdentifer]) {
if ([item type] == nil) {
if ([pdfView hideNotes] == NO) {
PDFAnnotation *annotation = [(SKNoteText *)item
annotation];
@@ -3901,14 +3924,14 @@
ascending = [[sortDescriptors lastObject] ascending];
} else {
NSString *tcID = [tableColumn identifier];
- NSSortDescriptor *pageIndexSortDescriptor = [[[NSSortDescriptor
alloc] initWithKey:@"pageIndex" ascending:ascending] autorelease];
- NSSortDescriptor *boundsSortDescriptor = [[[NSSortDescriptor
alloc] initWithKey:@"bounds" ascending:ascending
selector:@selector(boundsCompare:)] autorelease];
+ NSSortDescriptor *pageIndexSortDescriptor = [[[NSSortDescriptor
alloc] initWithKey:SKPDFAnnotationPageIndexKey ascending:ascending]
autorelease];
+ NSSortDescriptor *boundsSortDescriptor = [[[NSSortDescriptor
alloc] initWithKey:SKPDFAnnotationBoundsKey ascending:ascending
selector:@selector(boundsCompare:)] autorelease];
NSMutableArray *sds = [NSMutableArray
arrayWithObjects:pageIndexSortDescriptor, boundsSortDescriptor, nil];
if ([tcID isEqualToString:@"type"]) {
- [sds insertObject:[[[NSSortDescriptor alloc]
initWithKey:@"type" ascending:YES selector:@selector(noteTypeCompare:)]
autorelease] atIndex:0];
+ [sds insertObject:[[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationTypeKey ascending:YES
selector:@selector(noteTypeCompare:)] autorelease] atIndex:0];
} else if ([tcID isEqualToString:@"note"]) {
- [sds insertObject:[[[NSSortDescriptor alloc]
initWithKey:@"string" ascending:YES
selector:@selector(localizedCaseInsensitiveNumericCompare:)] autorelease]
atIndex:0];
- } else if ([tcID isEqualToString:@"page"]) {
+ [sds insertObject:[[[NSSortDescriptor alloc]
initWithKey:SKPDFAnnotationStringKey ascending:YES
selector:@selector(localizedCaseInsensitiveNumericCompare:)] autorelease]
atIndex:0];
+ } else if ([tcID isEqualToString:SKMainWindowPageColumnIdentifer])
{
if (oldTableColumn == nil)
ascending = NO;
}
Modified: trunk/SKSnapshotWindowController.h
===================================================================
--- trunk/SKSnapshotWindowController.h 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKSnapshotWindowController.h 2008-04-10 18:12:54 UTC (rev 3700)
@@ -38,6 +38,7 @@
#import <Cocoa/Cocoa.h>
+extern NSString *SKSnapshotCurrentSetupKey;
@class BDSKZoomablePDFView, PDFDocument, PDFPage;
Modified: trunk/SKSnapshotWindowController.m
===================================================================
--- trunk/SKSnapshotWindowController.m 2008-04-10 17:21:42 UTC (rev 3699)
+++ trunk/SKSnapshotWindowController.m 2008-04-10 18:12:54 UTC (rev 3700)
@@ -57,6 +57,8 @@
#define HAS_WINDOW_KEY @"hasWindow"
#define WINDOW_FRAME_KEY @"windowFrame"
+NSString *SKSnapshotCurrentSetupKey = @"currentSetup";
+
static NSString *SKSnapshotWindowFrameAutosaveName = @"SKSnapshotWindow";
static NSString *SKSnapshotViewChangedNotification =
@"SKSnapshotViewChangedNotification";
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit