Revision: 16228
          http://sourceforge.net/p/skim-app/code/16228
Author:   hofman
Date:     2026-05-05 16:40:27 +0000 (Tue, 05 May 2026)
Log Message:
-----------
implement resetting rowheights with animation in note outlineview

Modified Paths:
--------------
    trunk/SKMainWindowController_Actions.m
    trunk/SKMainWindowController_UI.m
    trunk/SKNoteOutlineView.h
    trunk/SKNoteOutlineView.m
    trunk/SKNotesDocument.m

Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m      2026-05-05 16:27:56 UTC (rev 
16227)
+++ trunk/SKMainWindowController_Actions.m      2026-05-05 16:40:27 UTC (rev 
16228)
@@ -93,7 +93,6 @@
 - (void)updateLineInspector;
 - (void)updateNoteFilterPredicate;
 - (void)updateSnapshotFilterPredicate;
-- (void)resetNoteRowHeights;
 @end
 
 @implementation SKMainWindowController (Actions)

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2026-05-05 16:27:56 UTC (rev 16227)
+++ trunk/SKMainWindowController_UI.m   2026-05-05 16:40:27 UTC (rev 16228)
@@ -911,15 +911,10 @@
     }
 }
 
-- (void)resetNoteRowHeights {
-    [rightSideController.noteOutlineView resetRowHeights];
-    [rightSideController.noteOutlineView noteHeightOfRowsChangedAnimating:YES];
-}
-
 - (void)outlineViewColumnDidResize:(NSNotification *)notification{
     if (mwcFlags.autoResizeNoteRows && [[notification object] 
isEqual:rightSideController.noteOutlineView] &&
         [(SKScrollView *)[rightSideController.noteOutlineView 
enclosingScrollView] isResizingSubviews] == NO)
-        [self performSelectorOnce:@selector(resetNoteRowHeights) 
afterDelay:0.0];
+        [rightSideController.noteOutlineView 
performSelectorOnce:@selector(resetRowHeightsAnimating) afterDelay:0.0];
 }
 
 - (void)outlineViewColumnDidMove:(NSNotification *)notification {
@@ -934,7 +929,7 @@
                 break;
         }
         if (oldColumn == firstColumn || newColumn == firstColumn)
-            [self performSelectorOnce:@selector(resetNoteRowHeights) 
afterDelay:0.0];
+            [rightSideController.noteOutlineView 
performSelectorOnce:@selector(resetRowHeightsAnimating) afterDelay:0.0];
     }
 }
 
@@ -1224,7 +1219,7 @@
 - (void)resetHeightOfNoteRows:(id)sender {
     NSArray *items = [sender representedObject];
     if (items == nil) {
-        [self resetNoteRowHeights];
+        [rightSideController.noteOutlineView resetRowHeightsAnimating];
     } else {
         SKNoteOutlineView *ov = rightSideController.noteOutlineView;
         NSMutableIndexSet *indexes = [NSMutableIndexSet indexSet];
@@ -1290,7 +1285,7 @@
     NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
     NSView *view = [rightSideController.noteOutlineView enclosingScrollView];
     if (mwcFlags.autoResizeNoteRows) {
-        [self resetNoteRowHeights];
+        [rightSideController.noteOutlineView resetRowHeightsAnimating];
         [nc addObserver:self 
selector:@selector(handleNoteViewFrameDidChangeNotification:)
  name:NSViewFrameDidChangeNotification object:view];
         [nc addObserver:self 
selector:@selector(handleNoteViewDidEndLiveResizeNotification:)
@@ -2051,7 +2046,7 @@
 
 - (void)handleNoteViewDidEndLiveResizeNotification:(NSNotification 
*)notification {
     if (mwcFlags.noteRowHeightsNeedUpdate && mwcFlags.autoResizeNoteRows) {
-        [self resetNoteRowHeights];
+        [rightSideController.noteOutlineView resetRowHeightsAnimating];
     }
 }
 

Modified: trunk/SKNoteOutlineView.h
===================================================================
--- trunk/SKNoteOutlineView.h   2026-05-05 16:27:56 UTC (rev 16227)
+++ trunk/SKNoteOutlineView.h   2026-05-05 16:40:27 UTC (rev 16228)
@@ -56,6 +56,7 @@
 - (CGFloat)rowHeightForItem:(id)item;
 - (void)setRowHeight:(CGFloat)rowHeight forItem:(id)item;
 - (void)resetRowHeights;
+- (void)resetRowHeightsAnimating;
 
 @end
 

Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m   2026-05-05 16:27:56 UTC (rev 16227)
+++ trunk/SKNoteOutlineView.m   2026-05-05 16:40:27 UTC (rev 16228)
@@ -118,6 +118,11 @@
     [rowHeights removeAllObjects];
 }
 
+- (void)resetRowHeightsAnimating {
+    [self resetRowHeights];
+    [self noteHeightOfRowsChangedAnimating:YES];
+}
+
 - (void)mouseDown:(NSEvent *)theEvent {
     if ([theEvent clickCount] == 1 && [[self delegate] 
respondsToSelector:@selector(outlineView:heightOfRowByItem:)]) {
         NSPoint mouseLoc = [self convertPoint:[theEvent locationInWindow] 
fromView:nil];

Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m     2026-05-05 16:27:56 UTC (rev 16227)
+++ trunk/SKNotesDocument.m     2026-05-05 16:40:27 UTC (rev 16228)
@@ -552,15 +552,10 @@
     [outlineView noteHeightOfRowsWithIndexesChanged:rowIndexes ?: [NSIndexSet 
indexSetWithIndexesInRange:NSMakeRange(0, [outlineView numberOfRows])]];
 }
 
-- (void)resetRowHeights {
-    [outlineView resetRowHeights];
-    [outlineView noteHeightOfRowsChangedAnimating:YES];
-}
-
 - (void)resetHeightOfNoteRows:(id)sender {
     NSArray *items = [sender representedObject];
     if (items == nil) {
-        [self resetRowHeights];
+        [outlineView resetRowHeightsAnimating];
     } else {
         NSMutableIndexSet *indexes = [NSMutableIndexSet indexSet];
         for (id item in items) {
@@ -582,7 +577,7 @@
 
 - (void)handleScrollViewDidEndLiveResizeNotification:(NSNotification 
*)notification {
     if (ndFlags.autoResizeRows) {
-        [self resetRowHeights];
+        [outlineView resetRowHeightsAnimating];
     }
 }
 
@@ -591,7 +586,7 @@
     NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
     NSView *view = [outlineView enclosingScrollView];
     if (ndFlags.autoResizeRows) {
-        [self resetRowHeights];
+        [outlineView resetRowHeightsAnimating];
         [nc addObserver:self 
selector:@selector(handleScrollViewFrameDidChangeNotification:)
  name:NSViewFrameDidChangeNotification object:view];
         [nc addObserver:self 
selector:@selector(handleScrollViewDidEndLiveResizeNotification:)
@@ -740,7 +735,7 @@
 
 - (void)outlineViewColumnDidResize:(NSNotification *)notification{
     if (ndFlags.autoResizeRows && [(SKScrollView *)[[notification object] 
enclosingScrollView] isResizingSubviews] == NO)
-        [self performSelectorOnce:@selector(resetRowHeights) afterDelay:0.0];
+        [outlineView performSelectorOnce:@selector(resetRowHeightsAnimating) 
afterDelay:0.0];
 }
 
 - (void)outlineViewColumnDidMove:(NSNotification *)notification {
@@ -755,7 +750,7 @@
                 break;
         }
         if (oldColumn == firstColumn || newColumn == firstColumn)
-            [self performSelectorOnce:@selector(resetRowHeights) 
afterDelay:0.0];
+            [outlineView 
performSelectorOnce:@selector(resetRowHeightsAnimating) afterDelay:0.0];
     }
 }
 

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