Revision: 3174
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3174&view=rev
Author:   hofman
Date:     2007-11-07 04:49:51 -0800 (Wed, 07 Nov 2007)

Log Message:
-----------
Use discrete level indicator for grouped search results. Override drawing to 
avoid incredibly unusable slow drawing.

Modified Paths:
--------------
    trunk/Dutch.lproj/MainWindow.nib/info.nib
    trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib
    trunk/English.lproj/MainWindow.nib/info.nib
    trunk/English.lproj/MainWindow.nib/keyedobjects.nib
    trunk/French.lproj/MainWindow.nib/info.nib
    trunk/French.lproj/MainWindow.nib/keyedobjects.nib
    trunk/Italian.lproj/MainWindow.nib/info.nib
    trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib
    trunk/SKFindTableView.m
    trunk/SKMainWindowController.m
    trunk/Spanish.lproj/MainWindow.nib/info.nib
    trunk/Spanish.lproj/MainWindow.nib/keyedobjects.nib

Modified: trunk/Dutch.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/Dutch.lproj/MainWindow.nib/info.nib   2007-11-07 12:18:52 UTC (rev 
3173)
+++ trunk/Dutch.lproj/MainWindow.nib/info.nib   2007-11-07 12:49:51 UTC (rev 
3174)
@@ -33,9 +33,9 @@
        <array/>
        <key>IBOpenObjects</key>
        <array>
+               <integer>224</integer>
+               <integer>796</integer>
                <integer>813</integer>
-               <integer>796</integer>
-               <integer>224</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/English.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/English.lproj/MainWindow.nib/info.nib 2007-11-07 12:18:52 UTC (rev 
3173)
+++ trunk/English.lproj/MainWindow.nib/info.nib 2007-11-07 12:49:51 UTC (rev 
3174)
@@ -33,17 +33,17 @@
        <array/>
        <key>IBOpenObjects</key>
        <array>
-               <integer>796</integer>
+               <integer>502</integer>
                <integer>224</integer>
+               <integer>314</integer>
+               <integer>830</integer>
                <integer>5</integer>
+               <integer>694</integer>
+               <integer>687</integer>
                <integer>256</integer>
+               <integer>511</integer>
+               <integer>796</integer>
                <integer>168</integer>
-               <integer>314</integer>
-               <integer>502</integer>
-               <integer>687</integer>
-               <integer>511</integer>
-               <integer>830</integer>
-               <integer>694</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/English.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/French.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/French.lproj/MainWindow.nib/info.nib  2007-11-07 12:18:52 UTC (rev 
3173)
+++ trunk/French.lproj/MainWindow.nib/info.nib  2007-11-07 12:49:51 UTC (rev 
3174)
@@ -33,13 +33,13 @@
        <array/>
        <key>IBOpenObjects</key>
        <array>
-               <integer>256</integer>
-               <integer>314</integer>
                <integer>168</integer>
+               <integer>502</integer>
                <integer>791</integer>
                <integer>5</integer>
+               <integer>256</integer>
                <integer>789</integer>
-               <integer>502</integer>
+               <integer>314</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/French.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/Italian.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/Italian.lproj/MainWindow.nib/info.nib 2007-11-07 12:18:52 UTC (rev 
3173)
+++ trunk/Italian.lproj/MainWindow.nib/info.nib 2007-11-07 12:49:51 UTC (rev 
3174)
@@ -33,17 +33,17 @@
        <array/>
        <key>IBOpenObjects</key>
        <array>
-               <integer>314</integer>
                <integer>168</integer>
+               <integer>791</integer>
+               <integer>502</integer>
+               <integer>511</integer>
+               <integer>224</integer>
+               <integer>773</integer>
+               <integer>5</integer>
                <integer>256</integer>
-               <integer>773</integer>
-               <integer>502</integer>
                <integer>677</integer>
-               <integer>5</integer>
+               <integer>314</integer>
                <integer>676</integer>
-               <integer>791</integer>
-               <integer>511</integer>
-               <integer>224</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/SKFindTableView.m
===================================================================
--- trunk/SKFindTableView.m     2007-11-07 12:18:52 UTC (rev 3173)
+++ trunk/SKFindTableView.m     2007-11-07 12:49:51 UTC (rev 3174)
@@ -38,6 +38,7 @@
 
 #import "SKFindTableView.h"
 #import "SKStringConstants.h"
+#import "OBUtilities.h"
 
 
 @implementation SKFindTableView
@@ -144,3 +145,28 @@
 }
 
 @end
+
+#pragma mark -
+
[EMAIL PROTECTED] NSLevelIndicatorCell (SKExtensions)
+- (void)replacementDrawWithFrame:(NSRect)cellFrame inView:(NSView 
*)controlView;
[EMAIL PROTECTED]
+
[EMAIL PROTECTED] NSLevelIndicatorCell (SKExtensions)
+
+static IMP originalDrawWithFrameInView = NULL;
+
++ (void)load {
+    originalDrawWithFrameInView = 
OBReplaceMethodImplementationWithSelector(self, 
@selector(drawWithFrame:inView:), @selector(replacementDrawWithFrame:inView:));
+}
+
+// Drawing does not restrict the clip, while in discrete style it heavily uses 
gaussian blur, leading to unacceptable slow drawing
+// see <http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/>
+- (void)replacementDrawWithFrame:(NSRect)cellFrame inView:(NSView 
*)controlView {
+    [NSGraphicsContext saveGraphicsState];
+    NSRectClip(cellFrame);
+    originalDrawWithFrameInView(self, _cmd, cellFrame, controlView);
+    [NSGraphicsContext restoreGraphicsState];
+}
+
[EMAIL PROTECTED]

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2007-11-07 12:18:52 UTC (rev 3173)
+++ trunk/SKMainWindowController.m      2007-11-07 12:49:51 UTC (rev 3174)
@@ -424,8 +424,8 @@
     [snapshotArrayController setSortDescriptors:[NSArray 
arrayWithObjects:pageIndexSortDescriptor, nil]];
     [ownerController setContent:self];
     
-    NSSortDescriptor *scoreSortDescriptor = [[[NSSortDescriptor alloc] 
initWithKey:@"score" ascending:NO] autorelease];
-    [groupedFindArrayController setSortDescriptors:[NSArray 
arrayWithObjects:scoreSortDescriptor, nil]];
+    NSSortDescriptor *countDescriptor = [[[NSSortDescriptor alloc] 
initWithKey:@"count" ascending:NO] autorelease];
+    [groupedFindArrayController setSortDescriptors:[NSArray 
arrayWithObjects:countDescriptor, nil]];
     [[[groupedFindTableView tableColumnWithIdentifier:@"relevance"] dataCell] 
setEnabled:NO];
         
     // NB: the next line will load the PDF document and annotations, so 
necessary setup must be finished first!
@@ -2644,12 +2644,14 @@
             dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:page, 
@"page", [NSMutableArray array], @"results", nil];
             [groupedSearchResults addObject:dict];
         }
-        [[dict valueForKey:@"results"] addObject:instance];
+        NSMutableArray *results = [dict valueForKey:@"results"];
+        [results addObject:instance];
+        [dict setValue:[NSNumber numberWithUnsignedInt:[results count]] 
forKey:@"count"];
         
-        float maxCount = [[groupedSearchResults valueForKeyPath:@"@[EMAIL 
PROTECTED]"] floatValue];
+        NSNumber *maxCount = [groupedSearchResults 
valueForKeyPath:@"@max.count"];
         NSEnumerator *dictEnum = [groupedSearchResults objectEnumerator];
         while (dict = [dictEnum nextObject])
-            [dict setValue:[NSNumber numberWithFloat:(float)[[dict 
valueForKey:@"results"] count] / maxCount] forKey:@"score"];
+            [dict setValue:maxCount forKey:@"maxCount"];
     }
 }
 

Modified: trunk/Spanish.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/Spanish.lproj/MainWindow.nib/info.nib 2007-11-07 12:18:52 UTC (rev 
3173)
+++ trunk/Spanish.lproj/MainWindow.nib/info.nib 2007-11-07 12:49:51 UTC (rev 
3174)
@@ -33,14 +33,14 @@
        <array/>
        <key>IBOpenObjects</key>
        <array>
+               <integer>224</integer>
+               <integer>811</integer>
+               <integer>502</integer>
                <integer>687</integer>
-               <integer>811</integer>
                <integer>794</integer>
+               <integer>168</integer>
+               <integer>5</integer>
                <integer>511</integer>
-               <integer>502</integer>
-               <integer>5</integer>
-               <integer>224</integer>
-               <integer>168</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/Spanish.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)


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: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to