Revision: 15848
          http://sourceforge.net/p/skim-app/code/15848
Author:   hofman
Date:     2025-12-09 17:51:12 +0000 (Tue, 09 Dec 2025)
Log Message:
-----------
Use source list style for find table views. Set message in floating group row. 
Sorting of grouped find table in context menu. Use wider row heights without 
vertical intercell spacing for souce list tables.

Modified Paths:
--------------
    trunk/LeftSideView.xib
    trunk/SKGroupedSearchResult.h
    trunk/SKGroupedSearchResult.m
    trunk/SKLeftSideViewController.h
    trunk/SKLeftSideViewController.m
    trunk/SKMainWindowController.m
    trunk/SKMainWindowController_UI.m
    trunk/SKOutlineView.m
    trunk/SKTableView.m
    trunk/de.lproj/Localizable.strings
    trunk/en.lproj/Localizable.strings
    trunk/es.lproj/Localizable.strings
    trunk/fr.lproj/Localizable.strings
    trunk/it.lproj/Localizable.strings
    trunk/ja.lproj/Localizable.strings
    trunk/nl.lproj/Localizable.strings
    trunk/pl.lproj/Localizable.strings
    trunk/ru.lproj/Localizable.strings
    trunk/zh_CN.lproj/Localizable.strings
    trunk/zh_TW.lproj/Localizable.strings

Modified: trunk/LeftSideView.xib
===================================================================
--- trunk/LeftSideView.xib      2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/LeftSideView.xib      2025-12-09 17:51:12 UTC (rev 15848)
@@ -106,17 +106,17 @@
             </constraints>
             <point key="canvasLocation" x="267" y="154"/>
         </customView>
-        <scrollView focusRingType="none" autohidesScrollers="YES" 
horizontalLineScroll="34" horizontalPageScroll="10" verticalLineScroll="34" 
verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="98">
-            <rect key="frame" x="0.0" y="0.0" width="200" height="399"/>
+        <scrollView focusRingType="none" borderType="none" 
autohidesScrollers="YES" horizontalLineScroll="34" horizontalPageScroll="10" 
verticalLineScroll="34" verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="98">
+            <rect key="frame" x="0.0" y="0.0" width="198" height="400"/>
             <clipView key="contentView" drawsBackground="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="Mfb-HY-gcR">
-                <rect key="frame" x="1" y="1" width="198" height="397"/>
+                <rect key="frame" x="0.0" y="0.0" width="198" height="400"/>
                 <autoresizingMask key="autoresizingMask" widthSizable="YES" 
heightSizable="YES"/>
                 <subviews>
                     <tableView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="sourceList" 
columnReordering="NO" columnResizing="NO" multipleSelection="NO" 
emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="32" 
viewBased="YES" id="101" customClass="SKTableView">
-                        <rect key="frame" x="0.0" y="0.0" width="198" 
height="397"/>
+                        <rect key="frame" x="0.0" y="0.0" width="198" 
height="400"/>
                         <autoresizingMask key="autoresizingMask" 
widthSizable="YES" heightSizable="YES"/>
                         <constraints>
-                            <constraint firstAttribute="height" constant="397" 
placeholder="YES" id="2AC-Gj-7RP"/>
+                            <constraint firstAttribute="height" constant="400" 
placeholder="YES" id="2AC-Gj-7RP"/>
                         </constraints>
                         <size key="intercellSpacing" width="3" height="2"/>
                         <color key="backgroundColor" 
name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -223,20 +223,20 @@
             </scroller>
             <point key="canvasLocation" x="267" y="154"/>
         </scrollView>
-        <scrollView focusRingType="none" autohidesScrollers="YES" 
horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" 
verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="116">
+        <scrollView focusRingType="none" borderType="none" 
autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" 
verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="116">
             <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
             <clipView key="contentView" drawsBackground="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="Hnd-hK-VAX">
-                <rect key="frame" x="1" y="1" width="198" height="398"/>
+                <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
                 <autoresizingMask key="autoresizingMask" widthSizable="YES" 
heightSizable="YES"/>
                 <subviews>
-                    <outlineView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="sourceList" 
columnReordering="NO" columnResizing="NO" multipleSelection="NO" 
emptySelection="NO" autosaveColumns="NO" typeSelect="NO" viewBased="YES" 
indentationPerLevel="14" outlineTableColumn="121" 
translatesAutoresizingMaskIntoConstraints="NO" id="119" 
customClass="SKOutlineView">
-                        <rect key="frame" x="0.0" y="0.0" width="198" 
height="398"/>
+                    <outlineView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="sourceList" 
columnReordering="NO" columnResizing="NO" multipleSelection="NO" 
emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="19" 
viewBased="YES" indentationPerLevel="14" outlineTableColumn="121" 
translatesAutoresizingMaskIntoConstraints="NO" id="119" 
customClass="SKOutlineView">
+                        <rect key="frame" x="0.0" y="0.0" width="200" 
height="400"/>
                         <autoresizingMask key="autoresizingMask" 
widthSizable="YES" heightSizable="YES"/>
-                        <size key="intercellSpacing" width="3" height="2"/>
+                        <size key="intercellSpacing" width="3" height="0.0"/>
                         <color key="backgroundColor" 
name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
                         <color key="gridColor" name="gridColor" 
catalog="System" colorSpace="catalog"/>
                         <tableColumns>
-                            <tableColumn identifier="label" editable="NO" 
width="127" minWidth="50" maxWidth="1000" id="121">
+                            <tableColumn identifier="label" editable="NO" 
width="129" minWidth="50" maxWidth="1000" id="121">
                                 <tableHeaderCell key="headerCell" 
lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
                                     <color key="textColor" 
name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                     <color key="backgroundColor" 
white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
@@ -249,11 +249,11 @@
                                 <tableColumnResizingMask key="resizingMask" 
resizeWithTable="YES" userResizable="YES"/>
                                 <prototypeCellViews>
                                     <tableCellView id="E5O-BA-vGf">
-                                        <rect key="frame" x="11" y="1" 
width="132" height="20"/>
+                                        <rect key="frame" x="11" y="0.0" 
width="134" height="20"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="9Hp-6e-4aM">
-                                                <rect key="frame" x="0.0" 
y="2" width="132" height="16"/>
+                                                <rect key="frame" x="0.0" 
y="2" width="134" height="16"/>
                                                 <textFieldCell key="cell" 
lineBreakMode="truncatingTail" allowsUndo="NO" sendsActionOnEndEditing="YES" 
alignment="left" id="dcT-gP-VNy">
                                                     <font key="font" 
metaFont="system"/>
                                                     <color key="textColor" 
name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -274,7 +274,7 @@
                                         </connections>
                                     </tableCellView>
                                     <customView identifier="row" 
translatesAutoresizingMaskIntoConstraints="NO" id="6hb-e2-9aK" 
customClass="SKHighlightingTableRowView">
-                                        <rect key="frame" x="11" y="23" 
width="132" height="32"/>
+                                        <rect key="frame" x="11" y="20" 
width="134" height="32"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                     </customView>
                                 </prototypeCellViews>
@@ -292,7 +292,7 @@
                                 <tableColumnResizingMask key="resizingMask" 
resizeWithTable="YES" userResizable="YES"/>
                                 <prototypeCellViews>
                                     <tableCellView id="kqC-1o-aAK">
-                                        <rect key="frame" x="146" y="1" 
width="40" height="20"/>
+                                        <rect key="frame" x="148" y="0.0" 
width="40" height="20"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="Rac-nE-BbY">
@@ -333,20 +333,20 @@
             </scroller>
             <point key="canvasLocation" x="267" y="154"/>
         </scrollView>
-        <scrollView focusRingType="none" autohidesScrollers="YES" 
horizontalLineScroll="23" horizontalPageScroll="10" verticalLineScroll="23" 
verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="107">
-            <rect key="frame" x="0.0" y="0.0" width="200" height="403"/>
-            <clipView key="contentView" 
translatesAutoresizingMaskIntoConstraints="NO" id="VaG-cU-bQa">
-                <rect key="frame" x="1" y="1" width="198" height="401"/>
+        <scrollView focusRingType="none" borderType="none" 
autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" 
verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="107">
+            <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
+            <clipView key="contentView" drawsBackground="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="VaG-cU-bQa">
+                <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
                 <autoresizingMask key="autoresizingMask" widthSizable="YES" 
heightSizable="YES"/>
                 <subviews>
-                    <tableView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" 
columnReordering="NO" columnResizing="NO" autosaveColumns="NO" typeSelect="NO" 
headerView="108" viewBased="YES" id="111" customClass="SKTableView">
-                        <rect key="frame" x="0.0" y="0.0" width="198" 
height="376"/>
+                    <tableView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" 
columnReordering="NO" columnResizing="NO" autosaveColumns="NO" typeSelect="NO" 
rowHeight="19" viewBased="YES" id="111" customClass="SKTableView">
+                        <rect key="frame" x="0.0" y="0.0" width="200" 
height="400"/>
                         <autoresizingMask key="autoresizingMask" 
widthSizable="YES" heightSizable="YES"/>
                         <constraints>
-                            <constraint firstAttribute="height" constant="373" 
placeholder="YES" id="sVF-ag-t03"/>
+                            <constraint firstAttribute="height" constant="400" 
placeholder="YES" id="sVF-ag-t03"/>
                         </constraints>
-                        <size key="intercellSpacing" width="3" height="6"/>
-                        <color key="backgroundColor" 
name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
+                        <size key="intercellSpacing" width="3" height="0.0"/>
+                        <color key="backgroundColor" 
name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
                         <color key="gridColor" name="gridColor" 
catalog="System" colorSpace="catalog"/>
                         <tableColumns>
                             <tableColumn identifier="page" editable="NO" 
width="42" minWidth="32" maxWidth="42" id="113">
@@ -362,7 +362,7 @@
                                 <tableColumnResizingMask key="resizingMask" 
resizeWithTable="YES" userResizable="YES"/>
                                 <prototypeCellViews>
                                     <tableCellView id="rTN-Wm-aea">
-                                        <rect key="frame" x="1" y="3" 
width="47" height="17"/>
+                                        <rect key="frame" x="11" y="0.0" 
width="47" height="17"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="5CV-AT-Wi3">
@@ -401,7 +401,7 @@
                                 <tableColumnResizingMask key="resizingMask" 
resizeWithTable="YES" userResizable="YES"/>
                                 <prototypeCellViews>
                                     <tableCellView id="yHY-cQ-hrW">
-                                        <rect key="frame" x="51" y="3" 
width="116" height="17"/>
+                                        <rect key="frame" x="61" y="0.0" 
width="116" height="17"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="EK0-Iy-KhJ">
@@ -425,6 +425,38 @@
                                             <outlet property="textField" 
destination="EK0-Iy-KhJ" id="Hp7-aM-eYH"/>
                                         </connections>
                                     </tableCellView>
+                                    <tableCellView identifier="header" 
id="J7W-Ii-xfs">
+                                        <rect key="frame" x="61" y="17" 
width="116" height="17"/>
+                                        <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                        <subviews>
+                                            <visualEffectView 
horizontalCompressionResistancePriority="250" 
verticalCompressionResistancePriority="250" blendingMode="behindWindow" 
material="sidebar" state="followsWindowActiveState" 
translatesAutoresizingMaskIntoConstraints="NO" id="suv-Vl-6gg">
+                                                <rect key="frame" x="0.0" 
y="0.0" width="116" height="17"/>
+                                            </visualEffectView>
+                                            <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="6Fy-Cz-Uit">
+                                                <rect key="frame" x="0.0" 
y="1" width="116" height="16"/>
+                                                <textFieldCell key="cell" 
lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="center" 
id="W4J-nI-eOk">
+                                                    <font key="font" 
metaFont="system"/>
+                                                    <color key="textColor" 
name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                    <color 
key="backgroundColor" name="textBackgroundColor" catalog="System" 
colorSpace="catalog"/>
+                                                </textFieldCell>
+                                                <connections>
+                                                    <binding 
destination="J7W-Ii-xfs" name="value" keyPath="objectValue.label" 
id="KVW-pW-idR"/>
+                                                </connections>
+                                            </textField>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="6Fy-Cz-Uit" 
firstAttribute="centerY" secondItem="J7W-Ii-xfs" secondAttribute="centerY" 
id="33J-VS-p7t"/>
+                                            <constraint firstItem="suv-Vl-6gg" 
firstAttribute="top" secondItem="J7W-Ii-xfs" secondAttribute="top" 
id="Hzk-bE-MMR"/>
+                                            <constraint 
firstAttribute="bottom" secondItem="suv-Vl-6gg" secondAttribute="bottom" 
id="OMX-tG-4XH"/>
+                                            <constraint firstItem="6Fy-Cz-Uit" 
firstAttribute="leading" secondItem="J7W-Ii-xfs" secondAttribute="leading" 
constant="2" id="Ov9-R3-f5H"/>
+                                            <constraint firstItem="suv-Vl-6gg" 
firstAttribute="leading" secondItem="J7W-Ii-xfs" secondAttribute="leading" 
id="Syy-f1-taq"/>
+                                            <constraint 
firstAttribute="trailing" secondItem="6Fy-Cz-Uit" secondAttribute="trailing" 
priority="251" constant="2" id="awE-wD-FnJ"/>
+                                            <constraint 
firstAttribute="trailing" secondItem="suv-Vl-6gg" secondAttribute="trailing" 
id="wON-EA-dvw"/>
+                                        </constraints>
+                                        <connections>
+                                            <outlet property="textField" 
destination="6Fy-Cz-Uit" id="dNo-ri-DUe"/>
+                                        </connections>
+                                    </tableCellView>
                                 </prototypeCellViews>
                             </tableColumn>
                         </tableColumns>
@@ -435,6 +467,7 @@
                         </connections>
                     </tableView>
                 </subviews>
+                <nil key="backgroundColor"/>
             </clipView>
             <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" 
verticalHuggingPriority="750" horizontal="YES" id="109">
                 <rect key="frame" x="-100" y="-100" width="255" height="15"/>
@@ -444,26 +477,22 @@
                 <rect key="frame" x="-30" y="17" width="15" height="454"/>
                 <autoresizingMask key="autoresizingMask"/>
             </scroller>
-            <tableHeaderView key="headerView" wantsLayer="YES" 
translatesAutoresizingMaskIntoConstraints="NO" id="108">
-                <rect key="frame" x="0.0" y="0.0" width="198" height="25"/>
-                <autoresizingMask key="autoresizingMask"/>
-            </tableHeaderView>
             <point key="canvasLocation" x="139" y="154"/>
         </scrollView>
-        <scrollView focusRingType="none" autohidesScrollers="YES" 
horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" 
verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="124">
-            <rect key="frame" x="0.0" y="0.0" width="200" height="403"/>
-            <clipView key="contentView" 
translatesAutoresizingMaskIntoConstraints="NO" id="CUc-Bz-YWJ">
-                <rect key="frame" x="1" y="1" width="198" height="401"/>
+        <scrollView focusRingType="none" borderType="none" 
autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" 
verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" 
usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="124">
+            <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
+            <clipView key="contentView" drawsBackground="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="CUc-Bz-YWJ">
+                <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
                 <autoresizingMask key="autoresizingMask" widthSizable="YES" 
heightSizable="YES"/>
                 <subviews>
-                    <tableView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="firstColumnOnly" alternatingRowBackgroundColors="YES" 
columnReordering="NO" columnResizing="NO" autosaveColumns="NO" typeSelect="NO" 
headerView="125" viewBased="YES" id="128" customClass="SKTableView">
-                        <rect key="frame" x="0.0" y="0.0" width="198" 
height="376"/>
+                    <tableView focusRingType="none" 
verticalHuggingPriority="750" allowsExpansionToolTips="YES" 
columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="sourceList" 
columnReordering="NO" columnResizing="NO" autosaveColumns="NO" typeSelect="NO" 
rowHeight="19" viewBased="YES" id="128" customClass="SKTableView">
+                        <rect key="frame" x="0.0" y="0.0" width="200" 
height="400"/>
                         <autoresizingMask key="autoresizingMask" 
widthSizable="YES" heightSizable="YES"/>
                         <constraints>
-                            <constraint firstAttribute="height" constant="373" 
placeholder="YES" id="ofM-KJ-8Cn"/>
+                            <constraint firstAttribute="height" constant="400" 
placeholder="YES" id="ofM-KJ-8Cn"/>
                         </constraints>
-                        <size key="intercellSpacing" width="3" height="2"/>
-                        <color key="backgroundColor" 
name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
+                        <size key="intercellSpacing" width="3" height="0.0"/>
+                        <color key="backgroundColor" 
name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
                         <color key="gridColor" name="gridColor" 
catalog="System" colorSpace="catalog"/>
                         <tableColumns>
                             <tableColumn identifier="relevance" editable="NO" 
width="112" minWidth="40" maxWidth="1000" id="129">
@@ -476,11 +505,11 @@
                                 <tableColumnResizingMask key="resizingMask" 
resizeWithTable="YES" userResizable="YES"/>
                                 <prototypeCellViews>
                                     <tableCellView id="9a8-cx-9oD" 
customClass="SKControlTableCellView">
-                                        <rect key="frame" x="1" y="1" 
width="117" height="18"/>
+                                        <rect key="frame" x="11" y="0.0" 
width="117" height="18"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <levelIndicator 
horizontalCompressionResistancePriority="250" 
verticalCompressionResistancePriority="250" 
translatesAutoresizingMaskIntoConstraints="NO" id="zvD-nR-1Ml" 
customClass="SKLevelIndicator">
-                                                <rect key="frame" x="0.0" 
y="2" width="117" height="16"/>
+                                                <rect key="frame" x="0.0" 
y="3" width="117" height="12"/>
                                                 <levelIndicatorCell key="cell" 
alignment="left" maxValue="1" levelIndicatorStyle="relevancy" id="FRk-Gm-SMW" 
customClass="SKLevelIndicatorCell"/>
                                                 <connections>
                                                     <binding 
destination="9a8-cx-9oD" name="value" keyPath="objectValue.count" 
previousBinding="kWL-Vz-uBg" id="68o-25-wdJ"/>
@@ -492,13 +521,45 @@
                                         <constraints>
                                             <constraint firstItem="zvD-nR-1Ml" 
firstAttribute="leading" secondItem="9a8-cx-9oD" secondAttribute="leading" 
id="DlX-PQ-Y6o"/>
                                             <constraint 
firstAttribute="trailing" secondItem="zvD-nR-1Ml" secondAttribute="trailing" 
id="Fm6-da-NSu"/>
-                                            <constraint 
firstAttribute="bottom" secondItem="zvD-nR-1Ml" secondAttribute="bottom" 
constant="2" id="M0f-Eu-xde"/>
-                                            <constraint firstItem="zvD-nR-1Ml" 
firstAttribute="top" secondItem="9a8-cx-9oD" secondAttribute="top" 
id="ccb-Jt-PbD"/>
+                                            <constraint 
firstAttribute="bottom" secondItem="zvD-nR-1Ml" secondAttribute="bottom" 
constant="3" id="M0f-Eu-xde"/>
+                                            <constraint firstItem="zvD-nR-1Ml" 
firstAttribute="top" secondItem="9a8-cx-9oD" secondAttribute="top" constant="3" 
id="ccb-Jt-PbD"/>
                                         </constraints>
                                         <connections>
                                             <outlet property="control" 
destination="zvD-nR-1Ml" id="GYk-p1-kCi"/>
                                         </connections>
                                     </tableCellView>
+                                    <tableCellView identifier="header" 
id="lBg-EF-K6f">
+                                        <rect key="frame" x="11" y="18" 
width="117" height="17"/>
+                                        <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                        <subviews>
+                                            <visualEffectView 
blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" 
translatesAutoresizingMaskIntoConstraints="NO" id="cxl-BK-NmU">
+                                                <rect key="frame" x="0.0" 
y="0.0" width="117" height="17"/>
+                                            </visualEffectView>
+                                            <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="pc0-hc-vLy">
+                                                <rect key="frame" x="0.0" 
y="1" width="117" height="16"/>
+                                                <textFieldCell key="cell" 
lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="center" 
id="g4P-DO-uXo">
+                                                    <font key="font" 
metaFont="system"/>
+                                                    <color key="textColor" 
name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                    <color 
key="backgroundColor" name="textBackgroundColor" catalog="System" 
colorSpace="catalog"/>
+                                                </textFieldCell>
+                                                <connections>
+                                                    <binding 
destination="lBg-EF-K6f" name="value" keyPath="objectValue.label" 
id="HGk-Bs-YsL"/>
+                                                </connections>
+                                            </textField>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint 
firstAttribute="trailing" secondItem="pc0-hc-vLy" secondAttribute="trailing" 
priority="251" constant="2" id="070-wq-1EY"/>
+                                            <constraint firstItem="cxl-BK-NmU" 
firstAttribute="leading" secondItem="lBg-EF-K6f" secondAttribute="leading" 
id="9wt-bg-Fbi"/>
+                                            <constraint firstItem="pc0-hc-vLy" 
firstAttribute="centerY" secondItem="lBg-EF-K6f" secondAttribute="centerY" 
id="AqG-0O-hjA"/>
+                                            <constraint firstItem="pc0-hc-vLy" 
firstAttribute="leading" secondItem="lBg-EF-K6f" secondAttribute="leading" 
constant="2" id="fpC-37-1mY"/>
+                                            <constraint firstItem="cxl-BK-NmU" 
firstAttribute="top" secondItem="lBg-EF-K6f" secondAttribute="top" 
id="g4h-bD-WmZ"/>
+                                            <constraint 
firstAttribute="trailing" secondItem="cxl-BK-NmU" secondAttribute="trailing" 
id="gOA-Di-0Ok"/>
+                                            <constraint 
firstAttribute="bottom" secondItem="cxl-BK-NmU" secondAttribute="bottom" 
id="r0r-NI-QFM"/>
+                                        </constraints>
+                                        <connections>
+                                            <outlet property="textField" 
destination="pc0-hc-vLy" id="j13-8x-rwb"/>
+                                        </connections>
+                                    </tableCellView>
                                 </prototypeCellViews>
                             </tableColumn>
                             <tableColumn identifier="page" editable="NO" 
width="42" minWidth="32" maxWidth="42" id="130">
@@ -515,7 +576,7 @@
                                 <tableColumnResizingMask key="resizingMask" 
resizeWithTable="YES" userResizable="YES"/>
                                 <prototypeCellViews>
                                     <tableCellView id="hdZ-O4-HlW">
-                                        <rect key="frame" x="121" y="1" 
width="46" height="17"/>
+                                        <rect key="frame" x="131" y="0.0" 
width="46" height="17"/>
                                         <autoresizingMask 
key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <textField 
verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" 
allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" 
id="6S7-C8-37w">
@@ -549,6 +610,7 @@
                         </connections>
                     </tableView>
                 </subviews>
+                <nil key="backgroundColor"/>
             </clipView>
             <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" 
verticalHuggingPriority="750" horizontal="YES" id="126">
                 <rect key="frame" x="-100" y="-100" width="183" height="15"/>
@@ -558,10 +620,6 @@
                 <rect key="frame" x="184" y="17" width="15" height="368"/>
                 <autoresizingMask key="autoresizingMask"/>
             </scroller>
-            <tableHeaderView key="headerView" wantsLayer="YES" 
translatesAutoresizingMaskIntoConstraints="NO" id="125">
-                <rect key="frame" x="0.0" y="0.0" width="198" height="25"/>
-                <autoresizingMask key="autoresizingMask"/>
-            </tableHeaderView>
             <point key="canvasLocation" x="267" y="154"/>
         </scrollView>
         <menu id="89"/>

Modified: trunk/SKGroupedSearchResult.h
===================================================================
--- trunk/SKGroupedSearchResult.h       2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKGroupedSearchResult.h       2025-12-09 17:51:12 UTC (rev 15848)
@@ -42,6 +42,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 extern NSString * const SKGroupedSearchResultCountKey;
+extern NSString * const SKGroupedSearchResultPageIndexKey;
 
 @interface SKGroupedSearchResult : NSObject {
     PDFPage *page;

Modified: trunk/SKGroupedSearchResult.m
===================================================================
--- trunk/SKGroupedSearchResult.m       2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKGroupedSearchResult.m       2025-12-09 17:51:12 UTC (rev 15848)
@@ -42,6 +42,7 @@
 #import "NSGeometry_SKExtensions.h"
 
 NSString * const SKGroupedSearchResultCountKey = @"count";
+NSString * const SKGroupedSearchResultPageIndexKey = @"pageIndex";
 
 @implementation SKGroupedSearchResult
 

Modified: trunk/SKLeftSideViewController.h
===================================================================
--- trunk/SKLeftSideViewController.h    2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKLeftSideViewController.h    2025-12-09 17:51:12 UTC (rev 15848)
@@ -64,8 +64,6 @@
 @property (nonatomic, nullable, strong) IBOutlet SKTableView *findTableView;
 @property (nonatomic, nullable, strong) IBOutlet SKTableView 
*groupedFindTableView;
 
-- (void)applySearchTableHeader:(NSString *)message;
-
 @end
 
 NS_ASSUME_NONNULL_END

Modified: trunk/SKLeftSideViewController.m
===================================================================
--- trunk/SKLeftSideViewController.m    2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKLeftSideViewController.m    2025-12-09 17:51:12 UTC (rev 15848)
@@ -131,10 +131,6 @@
     [thumbnailTableView setTypeSelectHelper:[SKTypeSelectHelper 
typeSelectHelperWithMatchOption:SKFullStringMatch]];
     [tocOutlineView setTypeSelectHelper:[SKTypeSelectHelper 
typeSelectHelperWithMatchOption:SKSubstringMatch]];
     
-    [[[findTableView tableColumnWithIdentifier:PAGE_COLUMNID] headerCell] 
setTitle:NSLocalizedString(@"Page", @"Table header title")];
-    [[[groupedFindTableView tableColumnWithIdentifier:PAGE_COLUMNID] 
headerCell] setTitle:NSLocalizedString(@"Page", @"Table header title")];
-    [[[groupedFindTableView tableColumnWithIdentifier:RELEVANCE_COLUMNID] 
dataCell] setEnabled:NO];
-    
     NSSortDescriptor *countDescriptor = [[NSSortDescriptor alloc] 
initWithKey:SKGroupedSearchResultCountKey ascending:NO];
     [groupedFindArrayController setSortDescriptors:@[countDescriptor]];
     
@@ -168,11 +164,4 @@
     return [findTableView isDescendantOf:aView] || [groupedFindTableView 
isDescendantOf:aView];
 }
 
-- (void)applySearchTableHeader:(NSString *)message {
-    [[[findTableView tableColumnWithIdentifier:RESULTS_COLUMNID] headerCell] 
setStringValue:message];
-    [[findTableView headerView] setNeedsDisplay:YES];
-    [[[groupedFindTableView tableColumnWithIdentifier:RELEVANCE_COLUMNID] 
headerCell] setStringValue:message];
-    [[groupedFindTableView headerView] setNeedsDisplay:YES];
-}
-
 @end

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKMainWindowController.m      2025-12-09 17:51:12 UTC (rev 15848)
@@ -2013,7 +2013,7 @@
         
         if ([currentSel hasCharacters]) {
             [pdfView setCurrentSelection:currentSel animate:YES];
-            [[statusBar rightField] setStringValue:[NSString 
stringWithFormat:NSLocalizedString(@"Match %lu of %lu", @"Status message"), 
(unsigned long)[searchResults indexOfObject:currentSel] + 1, (unsigned 
long)[searchResults count]]];
+            [[statusBar rightField] setStringValue:[NSString 
stringWithFormat:NSLocalizedString(@"Match %lu of %lu", @"Status message"), 
(unsigned long)[searchResults indexOfObject:currentSel], (unsigned 
long)[searchResults count] - 1]];
         } else {
             [self updateRightStatus];
         }
@@ -2043,7 +2043,7 @@
     NSUInteger pageIndex = [page pageIndex];
     CGFloat order = [instance boundsOrderForPage:page];
     NSInteger i = [searchResults count];
-    while (i-- > 0) {
+    while (i-- > 1) {
         PDFSelection *prevResult = [searchResults objectAtIndex:i];
         PDFPage *prevPage = [prevResult safeFirstPage];
         NSUInteger prevIndex = [prevPage pageIndex];
@@ -2053,9 +2053,9 @@
     [searchResults insertObject:instance atIndex:i + 1];
     
     SKGroupedSearchResult *result = nil;
-    NSUInteger maxCount = [[groupedSearchResults lastObject] maxCount];
+    NSUInteger maxCount = [groupedSearchResults count] > 1 ? 
[[groupedSearchResults lastObject] maxCount] : 0;
     i = [groupedSearchResults count];
-    while (i-- > 0) {
+    while (i-- > 1) {
         SKGroupedSearchResult *prevResult = [groupedSearchResults 
objectAtIndex:i];
         NSUInteger prevIndex = [prevResult pageIndex];
         if (pageIndex >= prevIndex) {
@@ -2070,11 +2070,8 @@
     }
     [result addMatch:instance];
     
-    if ([result count] > maxCount) {
-        maxCount = [result count];
-        for (SKGroupedSearchResult *aResult in groupedSearchResults)
-            [aResult setMaxCount:maxCount];
-    }
+    if ([result count] > maxCount)
+        [groupedSearchResults setValue:[NSNumber 
numberWithUnsignedInteger:[result count]] forKey:@"maxCount"];
     
     if (mwcFlags.highlightAllSearchResults) {
         NSMutableArray *highlights = [NSMutableArray arrayWithArray:[pdfView 
highlightedSelections]];
@@ -2086,9 +2083,9 @@
 }
 
 - (void)documentDidBeginDocumentFind:(NSNotification *)note {
-    [leftSideController 
applySearchTableHeader:[NSLocalizedString(@"Searching", @"Message in search 
table header") stringByAppendingEllipsis]];
-    [self setSearchResults:@[]];
-    [self setGroupedSearchResults:@[]];
+    NSMutableDictionary *header = [NSMutableDictionary 
dictionaryWithObjectsAndKeys:[NSLocalizedString(@"Searching", @"Message in 
search table header") stringByAppendingEllipsis], LABEL_KEY, @(NSNotFound), 
SKGroupedSearchResultCountKey, @-1, SKGroupedSearchResultPageIndexKey, nil];
+    [self setSearchResults:@[header]];
+    [self setGroupedSearchResults:@[header]];
     if ([statusBar isVisible]) {
         [statusBar 
setProgressIndicatorStyle:SKProgressIndicatorStyleDeterminate];
         [[statusBar progressIndicator] setMaxValue:[[note object] pageCount]];
@@ -2101,11 +2098,11 @@
 
 - (void)documentDidEndDocumentFind:(NSNotification *)note {
     NSString *header = nil;
-    if ([searchResults count] == 1)
+    if ([searchResults count] == 2)
         header = NSLocalizedString(@"1 Result", @"Message in search table 
header");
     else
-        header = [NSString stringWithFormat:NSLocalizedString(@"%ld Results", 
@"Message in search table header"), (long)[searchResults count]];
-    [leftSideController applySearchTableHeader:header];
+        header = [NSString stringWithFormat:NSLocalizedString(@"%ld Results", 
@"Message in search table header"), (long)[searchResults count] - 1];
+    [[searchResults firstObject] setValue:header forKey:LABEL_KEY];
     mwcFlags.updatingFindResults = 1;
     [self didChangeValueForKey:GROUPEDSEARCHRESULTS_KEY];
     [self didChangeValueForKey:SEARCHRESULTS_KEY];

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKMainWindowController_UI.m   2025-12-09 17:51:12 UTC (rev 15848)
@@ -104,6 +104,8 @@
 #define IMAGE_COLUMNID      @"image"
 #define RELEVANCE_COLUMNID  @"relevance"
 
+#define HEADER_IDENTIFIER @"header"
+
 #define ROWVIEW_IDENTIFIER @"row"
 
 #define SKLeftSidePaneWidthKey  @"SKLeftSidePaneWidth"
@@ -120,6 +122,9 @@
 #define DEFAULT_TEXT_ROW_HEIGHT 85.0
 #define DEFAULT_MARKUP_ROW_HEIGHT 50.0
 
+#define EXTRA_FIND_ROW_WIDTH 4.0
+#define FIND_HEADER_ROW_HEIGHT 16.0
+
 @interface SKMainWindowController (SKPrivateMain)
 
 - (void)cleanup;
@@ -437,12 +442,6 @@
     }
 }
 
-- (void)tableView:(NSTableView *)tv sortDescriptorsDidChange:(NSArray 
*)oldDescriptors {
-    if ([tv isEqual:leftSideController.groupedFindTableView]) {
-        [leftSideController.groupedFindArrayController setSortDescriptors:[tv 
sortDescriptors]];
-    }
-}
-
 #pragma mark NSTableView delegate protocol
 
 
@@ -457,9 +456,9 @@
     } else if ([tv isEqual:rightSideController.snapshotTableView]) {
         return [tv makeViewWithIdentifier:[tableColumn identifier] owner:self];
     } else if ([tv isEqual:leftSideController.findTableView]) {
-        return [tv makeViewWithIdentifier:[tableColumn identifier] owner:self];
+        return [tv makeViewWithIdentifier:([tableColumn identifier] ?: 
HEADER_IDENTIFIER) owner:self];
     } else if ([tv isEqual:leftSideController.groupedFindTableView]) {
-        NSTableCellView *view = [tv makeViewWithIdentifier:[tableColumn 
identifier] owner:self];
+        NSTableCellView *view = [tv makeViewWithIdentifier:([tableColumn 
identifier] ?: HEADER_IDENTIFIER) owner:self];
         if ([[tableColumn identifier] isEqualToString:RELEVANCE_COLUMNID]) {
             // IB does not allow setting te height and height sizable mask of 
a NSLeveleIndicator
             NSControl *levelIndicator = [(SKControlTableCellView *)view 
control];
@@ -480,6 +479,24 @@
     return nil;
 }
 
+- (BOOL)tableView:(NSTableView *)tv isGroupRow:(NSInteger)row {
+    if ([tv isEqual:leftSideController.findTableView] || [tv 
isEqual:leftSideController.groupedFindTableView]) {
+        return row == 0;
+    }
+    return NO;
+}
+
+- (NSIndexSet *)tableView:(NSTableView *)tv 
selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes {
+    if ([tv isEqual:leftSideController.findTableView] || [tv 
isEqual:leftSideController.groupedFindTableView]) {
+        if ([proposedSelectionIndexes containsIndex:0]) {
+            NSMutableIndexSet *indexes = [proposedSelectionIndexes 
mutableCopy];
+            [indexes removeIndex:0];
+            return indexes;
+        }
+    }
+    return proposedSelectionIndexes;
+}
+
 - (void)tableViewSelectionDidChange:(NSNotification *)aNotification {
     if ([[aNotification object] 
isEqual:leftSideController.thumbnailTableView]) {
         if (mwcFlags.updatingThumbnailSelection == 0) {
@@ -539,6 +556,10 @@
     } else if ([tv isEqual:rightSideController.snapshotTableView]) {
         thumbSize = [[(SKSnapshotWindowController 
*)[[rightSideController.snapshotArrayController arrangedObjects] 
objectAtIndex:row] thumbnail] size];
         thumbHeight = snapshotThumbnailSize;
+    } else if ([tv isEqual:leftSideController.findTableView]) {
+        return row == 0 ? FIND_HEADER_ROW_HEIGHT : rowHeight + 
EXTRA_FIND_ROW_WIDTH;
+    } else if ([tv isEqual:leftSideController.groupedFindTableView]) {
+        return row == 0 ? FIND_HEADER_ROW_HEIGHT : rowHeight;
     } else {
         return rowHeight;
     }
@@ -583,10 +604,12 @@
         NSMutableString *string = [NSMutableString string];
         NSArray *results = [leftSideController.findArrayController 
arrangedObjects];
         [rowIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
-            PDFSelection *match = [results objectAtIndex:idx];
-            [string appendString:@"* "];
-            [string appendFormat:NSLocalizedString(@"Page %@", @""), [[match 
safeFirstPage] displayLabel]];
-            [string appendFormat:@": %@\n", [[match contextString] string]];
+            if (idx > 0) {
+                PDFSelection *match = [results objectAtIndex:idx];
+                [string appendString:@"* "];
+                [string appendFormat:NSLocalizedString(@"Page %@", @""), 
[[match safeFirstPage] displayLabel]];
+                [string appendFormat:@": %@\n", [[match contextString] 
string]];
+            }
         }];
         NSPasteboard *pboard = [NSPasteboard generalPasteboard];
         [pboard clearContents];
@@ -595,13 +618,15 @@
         NSMutableString *string = [NSMutableString string];
         NSArray *results = [leftSideController.groupedFindArrayController 
arrangedObjects];
         [rowIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
-            SKGroupedSearchResult *result = [results objectAtIndex:idx];
-            NSArray *matches = [result matches];
-            [string appendString:@"* "];
-            [string appendFormat:NSLocalizedString(@"Page %@", @""), [[result 
page] displayLabel]];
-            [string appendString:@": "];
-            [string appendFormat:NSLocalizedString(@"%ld Results", @""), 
(long)[matches count]];
-            [string appendFormat:@":\n\t%@\n", [[matches 
valueForKeyPath:@"contextString.string"] componentsJoinedByString:@"\n\t"]];
+            if (idx > 0) {
+                SKGroupedSearchResult *result = [results objectAtIndex:idx];
+                NSArray *matches = [result matches];
+                [string appendString:@"* "];
+                [string appendFormat:NSLocalizedString(@"Page %@", @""), 
[[result page] displayLabel]];
+                [string appendString:@": "];
+                [string appendFormat:NSLocalizedString(@"%ld Results", @""), 
(long)[matches count]];
+                [string appendFormat:@":\n\t%@\n", [[matches 
valueForKeyPath:@"contextString.string"] componentsJoinedByString:@"\n\t"]];
+            }
         }];
         NSPasteboard *pboard = [NSPasteboard generalPasteboard];
         [pboard clearContents];
@@ -650,10 +675,10 @@
         return nil;
     } else if ([tv isEqual:leftSideController.findTableView]) {
         *scale = [[self pdfView] scaleFactor];
-        return [[leftSideController.findArrayController arrangedObjects] 
objectAtIndex:row];
+        return row == 0 ? nil : [[leftSideController.findArrayController 
arrangedObjects] objectAtIndex:row];
     } else if ([tv isEqual:leftSideController.groupedFindTableView]) {
         *scale = [[self pdfView] scaleFactor];
-        return [[leftSideController.groupedFindArrayController 
arrangedObjects] objectAtIndex:row];
+        return row == 0 ? nil : 
[[leftSideController.groupedFindArrayController arrangedObjects] 
objectAtIndex:row];
     }
     return nil;
 }
@@ -1049,6 +1074,15 @@
     [pdfView setHighlightedSelections:results];
 }
 
+- (void)changeSearchResultsSort:(id)sender {
+    BOOL currentIsPage = [[[[leftSideController.groupedFindArrayController 
sortDescriptors] firstObject] key] 
isEqualToString:SKGroupedSearchResultPageIndexKey];
+    BOOL isPage = [sender tag];
+    if (currentIsPage == isPage)
+        return;
+    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] 
initWithKey:isPage ? SKGroupedSearchResultPageIndexKey : 
SKGroupedSearchResultCountKey ascending:isPage];
+    [leftSideController.groupedFindArrayController 
setSortDescriptors:@[sortDescriptor]];
+}
+
 - (void)deleteSnapshot:(id)sender {
     [[sender representedObject] close];
 }
@@ -1226,9 +1260,9 @@
             [item setRepresentedObject:[NSIndexSet indexSetWithIndex:row]];
         }
     } else if ([menu isEqual:[leftSideController.findTableView menu]]) {
-        NSIndexSet *rowIndexes = [leftSideController.findTableView 
selectedRowIndexes];
         NSInteger row = [leftSideController.findTableView clickedRow];
-        if (row != -1) {
+        if (row > 0) {
+            NSIndexSet *rowIndexes = [leftSideController.findTableView 
selectedRowIndexes];
             if ([rowIndexes containsIndex:row] == NO)
                 rowIndexes = [NSIndexSet indexSetWithIndex:row];
             NSArray *selections = [[leftSideController.findArrayController 
arrangedObjects] objectsAtIndexes:rowIndexes];
@@ -1258,9 +1292,9 @@
         if (mwcFlags.highlightAllSearchResults)
             [item setState:NSControlStateValueOn];
     } else if ([menu isEqual:[leftSideController.groupedFindTableView menu]]) {
-        NSIndexSet *rowIndexes = [leftSideController.groupedFindTableView 
selectedRowIndexes];
         NSInteger row = [leftSideController.groupedFindTableView clickedRow];
-        if (row != -1) {
+        if (row > 0) {
+            NSIndexSet *rowIndexes = [leftSideController.groupedFindTableView 
selectedRowIndexes];
             if ([rowIndexes containsIndex:row] == NO)
                 rowIndexes = [NSIndexSet indexSetWithIndex:row];
             NSArray *selections = 
[[[leftSideController.groupedFindArrayController arrangedObjects] 
objectsAtIndexes:rowIndexes] valueForKeyPath:@"@unionOfArrays.matches"];
@@ -1289,6 +1323,14 @@
         item = [menu addItemWithTitle:NSLocalizedString(@"Highlight All", 
@"Menu item title") action:@selector(changeSearchResultsHighlighting:) 
target:self tag:1];
         if (mwcFlags.highlightAllSearchResults)
             [item setState:NSControlStateValueOn];
+        [menu addItem:[NSMenuItem separatorItem]];
+        BOOL isPage = [[[[leftSideController.groupedFindArrayController 
sortDescriptors] firstObject] key] 
isEqualToString:SKGroupedSearchResultPageIndexKey];
+        item = [menu addItemWithTitle:NSLocalizedString(@"Sort By Page", 
@"Menu item title") action:@selector(changeSearchResultsSort:) target:self 
tag:1];
+        if (isPage)
+            [item setState:NSControlStateValueOn];
+        item = [menu addItemWithTitle:NSLocalizedString(@"Sort By Results", 
@"Menu item title") action:@selector(changeSearchResultsSort:) target:self 
tag:0];
+        if (isPage == NO)
+            [item setState:NSControlStateValueOn];
     } else if ([menu isEqual:[rightSideController.snapshotTableView menu]]) {
         NSInteger row = [rightSideController.snapshotTableView clickedRow];
         if (row != -1) {
@@ -1306,9 +1348,9 @@
         }
     } else if ([menu isEqual:[rightSideController.noteOutlineView menu]]) {
         NSArray *items;
-        NSIndexSet *rowIndexes = [rightSideController.noteOutlineView 
selectedRowIndexes];
         NSInteger row = [rightSideController.noteOutlineView clickedRow];
         if (row != -1) {
+            NSIndexSet *rowIndexes = [rightSideController.noteOutlineView 
selectedRowIndexes];
             if ([rowIndexes containsIndex:row] == NO)
                 rowIndexes = [NSIndexSet indexSetWithIndex:row];
             items = [rightSideController.noteOutlineView 
itemsAtRowIndexes:rowIndexes];

Modified: trunk/SKOutlineView.m
===================================================================
--- trunk/SKOutlineView.m       2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKOutlineView.m       2025-12-09 17:51:12 UTC (rev 15848)
@@ -222,6 +222,8 @@
         }
         
         CGFloat rowHeight = SKDefaultLineHeightForFont(font);
+        if ([self selectionHighlightStyle] == 
NSTableViewSelectionHighlightStyleSourceList)
+            rowHeight += 2.0;
         [self setRowHeight:rowHeight];
         [self enumerateAvailableRowViewsUsingBlock:^(NSTableRowView *rowView, 
NSInteger roww){
             NSInteger col, numCols = [rowView numberOfColumns];

Modified: trunk/SKTableView.m
===================================================================
--- trunk/SKTableView.m 2025-12-09 00:00:15 UTC (rev 15847)
+++ trunk/SKTableView.m 2025-12-09 17:51:12 UTC (rev 15848)
@@ -211,7 +211,10 @@
                 [cell setFont:font];
         }
         
-        [self setRowHeight:SKDefaultLineHeightForFont(font)];
+        CGFloat rowHeight = SKDefaultLineHeightForFont(font);
+        if ([self selectionHighlightStyle] == 
NSTableViewSelectionHighlightStyleSourceList)
+            rowHeight += 2.0;
+        [self setRowHeight:rowHeight];
         [self enumerateAvailableRowViewsUsingBlock:^(NSTableRowView *rowView, 
NSInteger roww){
             NSInteger col, numCols = [rowView numberOfColumns];
             for (col = 0; col < numCols; col++) {

Modified: trunk/de.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/en.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/es.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/fr.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/it.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/ja.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/nl.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/pl.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/ru.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/zh_CN.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/zh_TW.lproj/Localizable.strings
===================================================================
(Binary files differ)

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to