Revision: 2528
http://skim-app.svn.sourceforge.net/skim-app/?rev=2528&view=rev
Author: hofman
Date: 2007-07-18 15:21:54 -0700 (Wed, 18 Jul 2007)
Log Message:
-----------
Add search field to filter notes table.
Modified Paths:
--------------
trunk/Dutch.lproj/MainWindow.nib/classes.nib
trunk/Dutch.lproj/MainWindow.nib/data.dependency
trunk/Dutch.lproj/MainWindow.nib/info.nib
trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib
trunk/English.lproj/MainWindow.nib/classes.nib
trunk/English.lproj/MainWindow.nib/info.nib
trunk/English.lproj/MainWindow.nib/keyedobjects.nib
trunk/Italian.lproj/MainWindow.nib/classes.nib
trunk/Italian.lproj/MainWindow.nib/info.nib
trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib
trunk/SKMainWindowController.h
trunk/SKMainWindowController.m
Modified: trunk/Dutch.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/Dutch.lproj/MainWindow.nib/classes.nib 2007-07-18 18:53:36 UTC
(rev 2527)
+++ trunk/Dutch.lproj/MainWindow.nib/classes.nib 2007-07-18 22:21:54 UTC
(rev 2528)
@@ -84,6 +84,7 @@
rotateRight = id;
savePDFSettingToDefaults = id;
search = id;
+ searchNotes = id;
searchPDF = id;
selectColor = id;
smartAutoCropAll = id;
@@ -129,6 +130,7 @@
noteArrayController = NSArrayController;
noteOutlineView = SKNoteOutlineView;
notePopUpButton = BDSKImagePopUpButton;
+ noteSearchField = NSSearchField;
noteView = NSView;
outlineView = NSOutlineView;
ownerController = NSObjectController;
@@ -144,6 +146,7 @@
progressSheet = NSWindow;
rightSideBox = NSBox;
rightSideButton = NSSegmentedControl;
+ rightSideCollapsibleView = BDSKCollapsibleView;
rightSideContentBox = NSBox;
rightSideEdgeView = BDSKEdgeView;
scaleField = NSTextField;
Modified: trunk/Dutch.lproj/MainWindow.nib/data.dependency
===================================================================
--- trunk/Dutch.lproj/MainWindow.nib/data.dependency 2007-07-18 18:53:36 UTC
(rev 2527)
+++ trunk/Dutch.lproj/MainWindow.nib/data.dependency 2007-07-18 22:21:54 UTC
(rev 2528)
@@ -4,6 +4,7 @@
<dict>
<key>IBPaletteDependency</key>
<array>
+ <string>Controllers</string>
<string>PDFKit</string>
</array>
</dict>
Modified: trunk/Dutch.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/Dutch.lproj/MainWindow.nib/info.nib 2007-07-18 18:53:36 UTC (rev
2527)
+++ trunk/Dutch.lproj/MainWindow.nib/info.nib 2007-07-18 22:21:54 UTC (rev
2528)
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
- <string>115 30 564 296 0 0 1440 938 </string>
+ <string>110 52 564 296 0 0 1440 938 </string>
<key>IBEditorPositions</key>
<dict>
<key>168</key>
@@ -25,10 +25,6 @@
<array>
<integer>208</integer>
</array>
- <key>IBOpenObjects</key>
- <array>
- <integer>633</integer>
- </array>
<key>IBSystem Version</key>
<string>8R218</string>
</dict>
Modified: trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/English.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/English.lproj/MainWindow.nib/classes.nib 2007-07-18 18:53:36 UTC
(rev 2527)
+++ trunk/English.lproj/MainWindow.nib/classes.nib 2007-07-18 22:21:54 UTC
(rev 2528)
@@ -84,6 +84,7 @@
rotateRight = id;
savePDFSettingToDefaults = id;
search = id;
+ searchNotes = id;
searchPDF = id;
selectColor = id;
smartAutoCropAll = id;
@@ -129,6 +130,7 @@
noteArrayController = NSArrayController;
noteOutlineView = SKNoteOutlineView;
notePopUpButton = BDSKImagePopUpButton;
+ noteSearchField = NSSearchField;
noteView = NSView;
outlineView = NSOutlineView;
ownerController = NSObjectController;
@@ -144,6 +146,7 @@
progressSheet = NSWindow;
rightSideBox = NSBox;
rightSideButton = NSSegmentedControl;
+ rightSideCollapsibleView = BDSKCollapsibleView;
rightSideContentBox = NSBox;
rightSideEdgeView = BDSKEdgeView;
scaleField = NSTextField;
Modified: trunk/English.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/English.lproj/MainWindow.nib/info.nib 2007-07-18 18:53:36 UTC (rev
2527)
+++ trunk/English.lproj/MainWindow.nib/info.nib 2007-07-18 22:21:54 UTC (rev
2528)
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
- <string>115 30 564 296 0 0 1440 938 </string>
+ <string>110 52 564 296 0 0 1440 938 </string>
<key>IBEditorPositions</key>
<dict>
<key>168</key>
@@ -27,18 +27,18 @@
</array>
<key>IBOpenObjects</key>
<array>
- <integer>633</integer>
+ <integer>585</integer>
+ <integer>314</integer>
<integer>553</integer>
+ <integer>502</integer>
<integer>539</integer>
- <integer>314</integer>
- <integer>5</integer>
<integer>168</integer>
+ <integer>208</integer>
+ <integer>511</integer>
+ <integer>256</integer>
<integer>224</integer>
- <integer>256</integer>
- <integer>585</integer>
- <integer>511</integer>
- <integer>502</integer>
- <integer>208</integer>
+ <integer>633</integer>
+ <integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>8R218</string>
Modified: trunk/English.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/Italian.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/Italian.lproj/MainWindow.nib/classes.nib 2007-07-18 18:53:36 UTC
(rev 2527)
+++ trunk/Italian.lproj/MainWindow.nib/classes.nib 2007-07-18 22:21:54 UTC
(rev 2528)
@@ -84,6 +84,7 @@
rotateRight = id;
savePDFSettingToDefaults = id;
search = id;
+ searchNotes = id;
searchPDF = id;
selectColor = id;
smartAutoCropAll = id;
@@ -129,6 +130,7 @@
noteArrayController = NSArrayController;
noteOutlineView = SKNoteOutlineView;
notePopUpButton = BDSKImagePopUpButton;
+ noteSearchField = NSSearchField;
noteView = NSView;
outlineView = NSOutlineView;
ownerController = NSObjectController;
@@ -144,6 +146,7 @@
progressSheet = NSWindow;
rightSideBox = NSBox;
rightSideButton = NSSegmentedControl;
+ rightSideCollapsibleView = BDSKCollapsibleView;
rightSideContentBox = NSBox;
rightSideEdgeView = BDSKEdgeView;
scaleField = NSTextField;
Modified: trunk/Italian.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/Italian.lproj/MainWindow.nib/info.nib 2007-07-18 18:53:36 UTC (rev
2527)
+++ trunk/Italian.lproj/MainWindow.nib/info.nib 2007-07-18 22:21:54 UTC (rev
2528)
@@ -27,13 +27,13 @@
</array>
<key>IBOpenObjects</key>
<array>
+ <integer>539</integer>
<integer>208</integer>
- <integer>539</integer>
+ <integer>168</integer>
+ <integer>553</integer>
+ <integer>5</integer>
<integer>511</integer>
- <integer>5</integer>
<integer>628</integer>
- <integer>553</integer>
- <integer>168</integer>
</array>
<key>IBSystem Version</key>
<string>8R218</string>
Modified: trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h 2007-07-18 18:53:36 UTC (rev 2527)
+++ trunk/SKMainWindowController.h 2007-07-18 22:21:54 UTC (rev 2528)
@@ -77,7 +77,9 @@
IBOutlet NSBox *rightSideContentBox;
IBOutlet NSBox *rightSideBox;
IBOutlet BDSKEdgeView *rightSideEdgeView;
+ IBOutlet BDSKCollapsibleView *rightSideCollapsibleView;
IBOutlet NSSegmentedControl *rightSideButton;
+ IBOutlet NSSearchField *noteSearchField;
IBOutlet NSView *currentLeftSideView;
IBOutlet NSView *currentRightSideView;
@@ -231,6 +233,7 @@
- (IBAction)getInfo:(id)sender;
- (void)displaySearchResultsForString:(NSString *)string;
- (IBAction)search:(id)sender;
+- (IBAction)searchNotes:(id)sender;
- (IBAction)changeScaleFactor:(id)sender;
- (IBAction)chooseScale:(id)sender;
- (IBAction)dismissChooseScaleSheet:(id)sender;
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2007-07-18 18:53:36 UTC (rev 2527)
+++ trunk/SKMainWindowController.m 2007-07-18 22:21:54 UTC (rev 2528)
@@ -141,6 +141,8 @@
- (void)exitPresentationMode;
- (void)activityTimerFired:(NSTimer *)timer;
+- (void)updateNoteFilterPredicate;
+
- (void)replaceSideView:(NSView *)oldView withView:(NSView *)newView
animate:(BOOL)animate;
- (void)handleApplicationWillTerminateNotification:(NSNotification
*)notification;
@@ -234,6 +236,9 @@
[findCollapsibleView setCollapseEdges:BDSKMaxXEdgeMask | BDSKMinYEdgeMask];
[findCollapsibleView setMinSize:NSMakeSize(50.0, 25.0)];
+ [rightSideCollapsibleView setCollapseEdges:BDSKMaxXEdgeMask |
BDSKMinYEdgeMask];
+ [rightSideCollapsibleView setMinSize:NSMakeSize(100.0, 42.0)];
+
[pdfContentBox setEdges:BDSKMinXEdgeMask | BDSKMaxXEdgeMask |
BDSKMinYEdgeMask];
[findEdgeView setEdges:BDSKMaxXEdgeMask];
[leftSideEdgeView setEdges:BDSKMaxXEdgeMask];
@@ -2409,6 +2414,12 @@
}
}
+- (IBAction)searchNotes:(id)sender {
+ if ([[sender stringValue] length] && rightSidePaneState !=
SKNoteSidePaneState)
+ [self setRightSidePaneState:SKNoteSidePaneState];
+ [self updateNoteFilterPredicate];
+}
+
#pragma mark Sub- and note- windows
- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect
factor:(int)factor display:(BOOL)display{
@@ -3168,23 +3179,7 @@
- (void)outlineViewNoteTypesDidChange:(NSOutlineView *)ov {
if ([ov isEqual:noteOutlineView]) {
- NSArray *types = [noteOutlineView noteTypes];
- if ([types count] == 8) {
- [noteArrayController setFilterPredicate:nil];
- } else {
- NSExpression *lhs = [NSExpression expressionForKeyPath:@"type"];
- NSMutableArray *predicateArray = [NSMutableArray array];
- NSEnumerator *typeEnum = [types objectEnumerator];
- NSString *type;
-
- while (type = [typeEnum nextObject]) {
- NSExpression *rhs = [NSExpression
expressionForConstantValue:type];
- NSPredicate *predicate = [NSComparisonPredicate
predicateWithLeftExpression:lhs rightExpression:rhs
modifier:NSDirectPredicateModifier type:NSEqualToPredicateOperatorType
options:0];
- [predicateArray addObject:predicate];
- }
- [noteArrayController setFilterPredicate:[NSCompoundPredicate
orPredicateWithSubpredicates:predicateArray]];
- }
- [noteOutlineView reloadData];
+ [self updateNoteFilterPredicate];
}
}
@@ -3507,6 +3502,45 @@
}
}
+- (void)updateNoteFilterPredicate {
+ NSPredicate *filterPredicate = nil;
+ NSPredicate *typePredicate = nil;
+ NSPredicate *searchPredicate = nil;
+ NSArray *types = [noteOutlineView noteTypes];
+ NSString *searchString = [noteSearchField stringValue];
+ if ([types count] < 8) {
+ NSExpression *lhs = [NSExpression expressionForKeyPath:@"type"];
+ NSMutableArray *predicateArray = [NSMutableArray array];
+ NSEnumerator *typeEnum = [types objectEnumerator];
+ NSString *type;
+
+ while (type = [typeEnum nextObject]) {
+ NSExpression *rhs = [NSExpression expressionForConstantValue:type];
+ NSPredicate *predicate = [NSComparisonPredicate
predicateWithLeftExpression:lhs rightExpression:rhs
modifier:NSDirectPredicateModifier type:NSEqualToPredicateOperatorType
options:0];
+ [predicateArray addObject:predicate];
+ }
+ typePredicate = [NSCompoundPredicate
orPredicateWithSubpredicates:predicateArray];
+ }
+ if (searchString && [searchString isEqualToString:@""] == NO) {
+ NSExpression *lhs = [NSExpression
expressionForConstantValue:searchString];
+ NSExpression *rhs = [NSExpression expressionForKeyPath:@"contents"];
+ NSPredicate *contentsPredicate = [NSComparisonPredicate
predicateWithLeftExpression:lhs rightExpression:rhs
modifier:NSDirectPredicateModifier type:NSInPredicateOperatorType
options:NSCaseInsensitivePredicateOption |
NSDiacriticInsensitivePredicateOption];
+ rhs = [NSExpression expressionForKeyPath:@"text.string"];
+ NSPredicate *textPredicate = [NSComparisonPredicate
predicateWithLeftExpression:lhs rightExpression:rhs
modifier:NSDirectPredicateModifier type:NSInPredicateOperatorType
options:NSCaseInsensitivePredicateOption |
NSDiacriticInsensitivePredicateOption];
+ searchPredicate = [NSCompoundPredicate
orPredicateWithSubpredicates:[NSArray arrayWithObjects:contentsPredicate,
textPredicate, nil]];
+ }
+ if (typePredicate) {
+ if (searchPredicate)
+ filterPredicate = [NSCompoundPredicate
andPredicateWithSubpredicates:[NSArray arrayWithObjects:typePredicate,
searchPredicate, nil]];
+ else
+ filterPredicate = typePredicate;
+ } else if (searchPredicate) {
+ filterPredicate = searchPredicate;
+ }
+ [noteArrayController setFilterPredicate:filterPredicate];
+ [noteOutlineView reloadData];
+}
+
#pragma mark Snapshots
- (void)resetSnapshotSizeIfNeeded {
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 DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit