Revision: 7684
http://skim-app.svn.sourceforge.net/skim-app/?rev=7684&view=rev
Author: hofman
Date: 2012-03-13 12:53:37 +0000 (Tue, 13 Mar 2012)
Log Message:
-----------
make grouped find results sortable by user action
Modified Paths:
--------------
trunk/LeftSideView.xib
trunk/SKGroupedSearchResult.h
trunk/SKGroupedSearchResult.m
trunk/SKLeftSideViewController.m
trunk/SKMainWindowController_UI.m
Modified: trunk/LeftSideView.xib
===================================================================
--- trunk/LeftSideView.xib 2012-03-12 13:01:27 UTC (rev 7683)
+++ trunk/LeftSideView.xib 2012-03-13 12:53:37 UTC (rev 7684)
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
- <int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">10F569</string>
- <string key="IBDocument.InterfaceBuilderVersion">788</string>
- <string key="IBDocument.AppKitVersion">1038.29</string>
+ <int key="IBDocument.SystemTarget">1060</int>
+ <string key="IBDocument.SystemVersion">10K549</string>
+ <string key="IBDocument.InterfaceBuilderVersion">851</string>
+ <string key="IBDocument.AppKitVersion">1038.36</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary"
key="IBDocument.PluginVersions">
<string
key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">788</string>
+ <string key="NS.object.0">851</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -18,13 +18,8 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys" id="0">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <string
key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects"
id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -722,6 +717,11 @@
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="650696066"/>
+
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+
<string key="NSKey">count</string>
+
<bool key="NSAscending">NO</bool>
+
<string key="NSSelector">compare:</string>
+
</object>
</object>
<object
class="NSTableColumn" id="644479134">
<string key="NSIdentifier">page</string>
@@ -747,6 +747,11 @@
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="650696066"/>
+
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+
<string key="NSKey">pageIndex</string>
+
<bool key="NSAscending">YES</bool>
+
<string key="NSSelector">compare:</string>
+
</object>
</object>
</object>
<double
key="NSIntercellSpacingWidth">3</double>
@@ -1378,7 +1383,9 @@
<bool
key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
- <reference key="object"
ref="0"/>
+ <object class="NSArray"
key="object" id="0">
+ <bool
key="EncodedWithXMLCoder">YES</bool>
+ </object>
<reference key="children"
ref="1000"/>
<nil key="parent"/>
</object>
@@ -2019,7 +2026,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">194</int>
+ <int key="maxID">196</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray"
key="referencedPartialClassDescriptions">
@@ -2028,7 +2035,7 @@
<string
key="className">NSApplication</string>
<object
class="IBClassDescriptionSource" key="sourceIdentifier">
<string
key="majorKey">IBProjectSource</string>
- <string
key="minorKey">SKRichTextFormat.h</string>
+ <string
key="minorKey">NSAttributedString_SKExtensions.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -2056,13 +2063,6 @@
<string
key="className">NSObject</string>
<object
class="IBClassDescriptionSource" key="sourceIdentifier">
<string
key="majorKey">IBProjectSource</string>
- <string
key="minorKey">SKFindController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string
key="className">NSObject</string>
- <object
class="IBClassDescriptionSource" key="sourceIdentifier">
- <string
key="majorKey">IBProjectSource</string>
<string
key="minorKey">SKLine.h</string>
</object>
</object>
@@ -2148,20 +2148,6 @@
<string
key="className">NSObject</string>
<object
class="IBClassDescriptionSource" key="sourceIdentifier">
<string
key="majorKey">IBProjectSource</string>
- <string
key="minorKey">vendorsrc/martinkahr/RemoteControlWrapper/MultiClickRemoteBehavior.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string
key="className">NSObject</string>
- <object
class="IBClassDescriptionSource" key="sourceIdentifier">
- <string
key="majorKey">IBProjectSource</string>
- <string
key="minorKey">vendorsrc/martinkahr/RemoteControlWrapper/RemoteControl.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string
key="className">NSObject</string>
- <object
class="IBClassDescriptionSource" key="sourceIdentifier">
- <string
key="majorKey">IBProjectSource</string>
<string
key="minorKey">vendorsrc/ulikusterer/UKFileWatcher.h</string>
</object>
</object>
@@ -2202,8 +2188,26 @@
</object>
<object class="IBPartialClassDescription">
<string
key="className">NSWindow</string>
+ <object class="NSMutableDictionary"
key="actions">
+ <string
key="NS.key.0">toggleFullScreen:</string>
+ <string
key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary"
key="actionInfosByName">
+ <string
key="NS.key.0">toggleFullScreen:</string>
+ <object class="IBActionInfo"
key="NS.object.0">
+ <string
key="name">toggleFullScreen:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ </object>
<object
class="IBClassDescriptionSource" key="sourceIdentifier">
<string
key="majorKey">IBProjectSource</string>
+ <string
key="minorKey">SKCompatibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string
key="className">NSWindow</string>
+ <object
class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string
key="majorKey">IBProjectSource</string>
<string
key="minorKey">SKMainDocument.h</string>
</object>
</object>
@@ -2226,6 +2230,13 @@
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">PDFView</string>
+ <object
class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string
key="majorKey">IBProjectSource</string>
+ <string
key="minorKey">PDFView_SKExtensions.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string
key="className">SKCenteredTextFieldCell</string>
<string
key="superclassName">NSTextFieldCell</string>
<object
class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -2381,7 +2392,7 @@
<string>createNewNote:</string>
<string>createNewTextNote:</string>
<string>cropAll:</string>
-
<string>enterFullScreen:</string>
+
<string>enterFullscreen:</string>
<string>enterPresentation:</string>
<string>goBackOrForward:</string>
<string>goToPreviousNextFirstLastPage:</string>
@@ -2389,6 +2400,7 @@
<string>selectColor:</string>
<string>toggleLeftSidePane:</string>
<string>toggleRightSidePane:</string>
+
<string>zoomActualPhysical:</string>
<string>zoomInActualOut:</string>
<string>zoomToFit:</string>
<string>zoomToSelection:</string>
@@ -2418,6 +2430,7 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary"
key="actionInfosByName">
@@ -2436,7 +2449,7 @@
<string>createNewNote:</string>
<string>createNewTextNote:</string>
<string>cropAll:</string>
-
<string>enterFullScreen:</string>
+
<string>enterFullscreen:</string>
<string>enterPresentation:</string>
<string>goBackOrForward:</string>
<string>goToPreviousNextFirstLastPage:</string>
@@ -2444,6 +2457,7 @@
<string>selectColor:</string>
<string>toggleLeftSidePane:</string>
<string>toggleRightSidePane:</string>
+
<string>zoomActualPhysical:</string>
<string>zoomInActualOut:</string>
<string>zoomToFit:</string>
<string>zoomToSelection:</string>
@@ -2499,7 +2513,7 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
- <string
key="name">enterFullScreen:</string>
+ <string
key="name">enterFullscreen:</string>
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
@@ -2531,6 +2545,10 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
+ <string
key="name">zoomActualPhysical:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
<string
key="name">zoomInActualOut:</string>
<string
key="candidateClassName">id</string>
</object>
@@ -2840,9 +2858,9 @@
<bool
key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray"
key="dict.sortedKeys">
<bool
key="EncodedWithXMLCoder">YES</bool>
-
<string>enterFullScreen:</string>
+
<string>enterFullscreen:</string>
<string>enterPresentation:</string>
-
<string>exitFullScreen:</string>
+
<string>exitFullscreen:</string>
<string>search:</string>
<string>searchNotes:</string>
</object>
@@ -2859,16 +2877,16 @@
<bool
key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray"
key="dict.sortedKeys">
<bool
key="EncodedWithXMLCoder">YES</bool>
-
<string>enterFullScreen:</string>
+
<string>enterFullscreen:</string>
<string>enterPresentation:</string>
-
<string>exitFullScreen:</string>
+
<string>exitFullscreen:</string>
<string>search:</string>
<string>searchNotes:</string>
</object>
<object class="NSMutableArray"
key="dict.values">
<bool
key="EncodedWithXMLCoder">YES</bool>
<object
class="IBActionInfo">
- <string
key="name">enterFullScreen:</string>
+ <string
key="name">enterFullscreen:</string>
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
@@ -2876,7 +2894,7 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
- <string
key="name">exitFullScreen:</string>
+ <string
key="name">exitFullscreen:</string>
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
@@ -2988,6 +3006,9 @@
<bool
key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray"
key="dict.sortedKeys">
<bool
key="EncodedWithXMLCoder">YES</bool>
+
<string>alignCenter:</string>
+
<string>alignLeft:</string>
+
<string>alignRight:</string>
<string>allGoToFirstPage:</string>
<string>allGoToLastPage:</string>
<string>allGoToNextPage:</string>
@@ -2997,6 +3018,7 @@
<string>autoCropAll:</string>
<string>autoSelectContent:</string>
<string>changeAnnotationMode:</string>
+
<string>changeAttributes:</string>
<string>changeColor:</string>
<string>changeDisplayBox:</string>
<string>changeDisplayContinuous:</string>
@@ -3038,6 +3060,7 @@
<string>password:</string>
<string>paste:</string>
<string>pasteAsPlainText:</string>
+
<string>performFindPanelAction:</string>
<string>performFit:</string>
<string>rotateAllLeft:</string>
<string>rotateAllRight:</string>
@@ -3052,7 +3075,7 @@
<string>toggleCaseInsensitiveSearch:</string>
<string>toggleDisplayAsBook:</string>
<string>toggleDisplayPageBreaks:</string>
-
<string>toggleFullScreen:</string>
+
<string>toggleFullscreen:</string>
<string>toggleHideNotes:</string>
<string>toggleLeftSidePane:</string>
<string>togglePresentation:</string>
@@ -3137,12 +3160,20 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary"
key="actionInfosByName">
<bool
key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray"
key="dict.sortedKeys">
<bool
key="EncodedWithXMLCoder">YES</bool>
+
<string>alignCenter:</string>
+
<string>alignLeft:</string>
+
<string>alignRight:</string>
<string>allGoToFirstPage:</string>
<string>allGoToLastPage:</string>
<string>allGoToNextPage:</string>
@@ -3152,6 +3183,7 @@
<string>autoCropAll:</string>
<string>autoSelectContent:</string>
<string>changeAnnotationMode:</string>
+
<string>changeAttributes:</string>
<string>changeColor:</string>
<string>changeDisplayBox:</string>
<string>changeDisplayContinuous:</string>
@@ -3193,6 +3225,7 @@
<string>password:</string>
<string>paste:</string>
<string>pasteAsPlainText:</string>
+
<string>performFindPanelAction:</string>
<string>performFit:</string>
<string>rotateAllLeft:</string>
<string>rotateAllRight:</string>
@@ -3207,7 +3240,7 @@
<string>toggleCaseInsensitiveSearch:</string>
<string>toggleDisplayAsBook:</string>
<string>toggleDisplayPageBreaks:</string>
-
<string>toggleFullScreen:</string>
+
<string>toggleFullscreen:</string>
<string>toggleHideNotes:</string>
<string>toggleLeftSidePane:</string>
<string>togglePresentation:</string>
@@ -3220,6 +3253,18 @@
<object class="NSMutableArray"
key="dict.values">
<bool
key="EncodedWithXMLCoder">YES</bool>
<object
class="IBActionInfo">
+ <string
key="name">alignCenter:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
+ <string
key="name">alignLeft:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
+ <string
key="name">alignRight:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
<string
key="name">allGoToFirstPage:</string>
<string
key="candidateClassName">id</string>
</object>
@@ -3256,6 +3301,10 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
+ <string
key="name">changeAttributes:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
<string
key="name">changeColor:</string>
<string
key="candidateClassName">id</string>
</object>
@@ -3420,6 +3469,10 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
+ <string
key="name">performFindPanelAction:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
<string
key="name">performFit:</string>
<string
key="candidateClassName">id</string>
</object>
@@ -3476,7 +3529,7 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
- <string
key="name">toggleFullScreen:</string>
+ <string
key="name">toggleFullscreen:</string>
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
@@ -3528,6 +3581,17 @@
<object class="IBPartialClassDescription">
<string
key="className">SKNoteOutlineView</string>
<string
key="superclassName">SKOutlineView</string>
+ <object class="NSMutableDictionary"
key="actions">
+ <string
key="NS.key.0">toggleTableColumn:</string>
+ <string
key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary"
key="actionInfosByName">
+ <string
key="NS.key.0">toggleTableColumn:</string>
+ <object class="IBActionInfo"
key="NS.object.0">
+ <string
key="name">toggleTableColumn:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ </object>
<object
class="IBClassDescriptionSource" key="sourceIdentifier">
<string
key="majorKey">IBProjectSource</string>
<string
key="minorKey">SKNoteOutlineView.h</string>
@@ -3542,6 +3606,7 @@
<bool
key="EncodedWithXMLCoder">YES</bool>
<string>copy:</string>
<string>delete:</string>
+ <string>paste:</string>
<string>scrollToBeginningOfDocument:</string>
<string>scrollToEndOfDocument:</string>
</object>
@@ -3551,6 +3616,7 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary"
key="actionInfosByName">
@@ -3559,6 +3625,7 @@
<bool
key="EncodedWithXMLCoder">YES</bool>
<string>copy:</string>
<string>delete:</string>
+ <string>paste:</string>
<string>scrollToBeginningOfDocument:</string>
<string>scrollToEndOfDocument:</string>
</object>
@@ -3573,6 +3640,10 @@
<string
key="candidateClassName">id</string>
</object>
<object
class="IBActionInfo">
+ <string
key="name">paste:</string>
+ <string
key="candidateClassName">id</string>
+ </object>
+ <object
class="IBActionInfo">
<string
key="name">scrollToBeginningOfDocument:</string>
<string
key="candidateClassName">id</string>
</object>
@@ -4544,7 +4615,7 @@
<string
key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary"
key="IBDocument.PluginDeclaredDependencyDefaults">
<string
key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <integer value="1050" key="NS.object.0"/>
+ <integer value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary"
key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string
key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
Modified: trunk/SKGroupedSearchResult.h
===================================================================
--- trunk/SKGroupedSearchResult.h 2012-03-12 13:01:27 UTC (rev 7683)
+++ trunk/SKGroupedSearchResult.h 2012-03-13 12:53:37 UTC (rev 7684)
@@ -48,6 +48,7 @@
}
@property (nonatomic, readonly) PDFPage *page;
+@property (nonatomic, readonly) NSUInteger pageIndex;
@property (nonatomic, readonly) NSUInteger count;
@property (nonatomic) NSUInteger maxCount;
@property (nonatomic, readonly) NSArray *matches;
Modified: trunk/SKGroupedSearchResult.m
===================================================================
--- trunk/SKGroupedSearchResult.m 2012-03-12 13:01:27 UTC (rev 7683)
+++ trunk/SKGroupedSearchResult.m 2012-03-13 12:53:37 UTC (rev 7684)
@@ -45,7 +45,7 @@
@implementation SKGroupedSearchResult
@synthesize page, maxCount, matches;
-@dynamic count;
+@dynamic pageIndex, count;
+ (id)groupedSearchResultWithPage:(PDFPage *)aPage
maxCount:(NSUInteger)aMaxCount {
return [[[self alloc] initWithPage:aPage maxCount:aMaxCount] autorelease];
@@ -67,6 +67,10 @@
[super dealloc];
}
+- (NSUInteger)pageIndex {
+ return [page pageIndex];
+}
+
- (NSUInteger)count {
return [matches count];
}
Modified: trunk/SKLeftSideViewController.m
===================================================================
--- trunk/SKLeftSideViewController.m 2012-03-12 13:01:27 UTC (rev 7683)
+++ trunk/SKLeftSideViewController.m 2012-03-13 12:53:37 UTC (rev 7684)
@@ -55,6 +55,7 @@
[thumbnailTableView setDataSource:nil];
[findTableView setDelegate:nil];
[groupedFindTableView setDelegate:nil];
+ [groupedFindTableView setDataSource:nil];
[tocOutlineView setDelegate:nil];
[tocOutlineView setDataSource:nil];
SKDESTROY(thumbnailArrayController);
@@ -93,6 +94,7 @@
[thumbnailTableView setDataSource:mainController];
[findTableView setDelegate:mainController];
[groupedFindTableView setDelegate:mainController];
+ [groupedFindTableView setDataSource:mainController];
[[thumbnailTableView menu] setDelegate:mainController];
[thumbnailTableView setTypeSelectHelper:[SKTypeSelectHelper
typeSelectHelperWithMatchOption:SKFullStringMatch]];
Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m 2012-03-12 13:01:27 UTC (rev 7683)
+++ trunk/SKMainWindowController_UI.m 2012-03-13 12:53:37 UTC (rev 7684)
@@ -374,6 +374,12 @@
return nil;
}
+- (void)tableView:(NSTableView *)tv sortDescriptorsDidChange:(NSArray
*)oldDescriptors {
+ if ([tv isEqual:leftSideController.groupedFindTableView]) {
+ [leftSideController.groupedFindArrayController setSortDescriptors:[tv
sortDescriptors]];
+ }
+}
+
#pragma mark NSTableView delegate protocol
- (void)tableViewSelectionDidChange:(NSNotification *)aNotification {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit
