Revision: 12731
          http://sourceforge.net/p/skim-app/code/12731
Author:   hofman
Date:     2022-01-21 13:52:50 +0000 (Fri, 21 Jan 2022)
Log Message:
-----------
Don't offset note text by level indentation

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

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2022-01-21 10:16:52 UTC (rev 12730)
+++ trunk/SKMainWindowController_UI.m   2022-01-21 13:52:50 UTC (rev 12731)
@@ -760,6 +760,8 @@
         id item = [ov itemAtRow:row];
         if ([(PDFAnnotation *)item type] == nil) {
             NSRect frame = [ov convertRect:[ov frameOfCellAtColumn:-1 row:row] 
toView:rowView];
+            if ([[[(SKNoteOutlineView *)ov firstVisibleTableColumn] 
identifier] isEqualToString:NOTE_COLUMNID])
+                frame = SKShrinkRect(frame, -[ov indentationPerLevel], 
NSMinXEdge);
             NSTableCellView *view = [ov makeViewWithIdentifier:NOTE_COLUMNID 
owner:self];
             [view setObjectValue:item];
             [[view textField] setEditable:NO];
@@ -889,7 +891,7 @@
                         if ([tc isHidden] == NO)
                             width += [tc width] + spacing;
                     }
-                    width -= spacing + [ov indentationPerLevel];
+                    width -= spacing;
                     if ([tableColumn isHidden] == NO && tableColumn == [[ov 
tableColumns] firstObject])
                         width -= NOTE_COLUMN_WIDTH_OFFSET;
                     width = fmax(10.0, width);
@@ -1151,7 +1153,7 @@
     id cell = [tableColumn dataCell];
     NSUInteger column = [[ov tableColumns] indexOfObject:tableColumn];
     NSRect rect = NSMakeRect(0.0, 0.0, NSWidth([ov frameOfCellAtColumn:column 
row:0]), CGFLOAT_MAX);
-    NSRect fullRect = NSMakeRect(0.0, 0.0,  NSWidth([ov frameOfCellAtColumn:-1 
row:0]) - [ov indentationPerLevel], CGFLOAT_MAX);
+    NSRect fullRect = NSMakeRect(0.0, 0.0,  NSWidth([ov frameOfCellAtColumn:-1 
row:0]), CGFLOAT_MAX);
     NSMutableIndexSet *rowIndexes = nil;
     NSArray *items = [sender representedObject];
     NSInteger row;

Modified: trunk/SKNoteOutlineView.h
===================================================================
--- trunk/SKNoteOutlineView.h   2022-01-21 10:16:52 UTC (rev 12730)
+++ trunk/SKNoteOutlineView.h   2022-01-21 13:52:50 UTC (rev 12731)
@@ -48,6 +48,7 @@
 - (id <SKNoteOutlineViewDelegate>)delegate;
 - (void)setDelegate:(id <SKNoteOutlineViewDelegate>)newDelegate;
 
+@property (nonatomic, readonly) NSTableColumn *firstVisibleTableColumn;
 @property (nonatomic, readonly) NSTableColumn *lastVisibleTableColumn;
 
 @end

Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m   2022-01-21 10:16:52 UTC (rev 12730)
+++ trunk/SKNoteOutlineView.m   2022-01-21 13:52:50 UTC (rev 12731)
@@ -61,7 +61,7 @@
 
 @implementation SKNoteOutlineView
 
-@dynamic lastVisibleTableColumn;
+@dynamic firstVisibleTableColumn, lastVisibleTableColumn;
 
 static inline NSString *titleForTableColumnIdentifier(NSString *identifier) {
     if ([identifier isEqualToString:NOTE_COLUMNID])
@@ -174,10 +174,16 @@
     return [super frameOfCellAtColumn:column row:row];
 }
 
+- (NSTableColumn *)firstVisibleTableColumn {
+    for (NSTableColumn *tc in [self tableColumns]) {
+        if ([tc isHidden] == NO)
+            return tc;
+    }
+    return nil;
+}
+
 - (NSTableColumn *)lastVisibleTableColumn {
-    NSEnumerator *columnEnum = [[self tableColumns] reverseObjectEnumerator];
-    NSTableColumn *tc;
-    while ((tc = [columnEnum nextObject])) {
+    for (NSTableColumn *tc in [[self tableColumns] reverseObjectEnumerator]) {
         if ([tc isHidden] == NO)
             return tc;
     }

Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m     2022-01-21 10:16:52 UTC (rev 12730)
+++ trunk/SKNotesDocument.m     2022-01-21 13:52:50 UTC (rev 12731)
@@ -539,7 +539,7 @@
     NSUInteger column = [[outlineView tableColumns] indexOfObject:tableColumn];
     id cell = [tableColumn dataCell];
     NSRect rect = NSMakeRect(0.0, 0.0, NSWidth([outlineView 
frameOfCellAtColumn:column row:0]), CGFLOAT_MAX);
-    NSRect fullRect = NSMakeRect(0.0, 0.0, NSWidth([outlineView 
frameOfCellAtColumn:-1 row:0]) - [outlineView indentationPerLevel], 
CGFLOAT_MAX);
+    NSRect fullRect = NSMakeRect(0.0, 0.0, NSWidth([outlineView 
frameOfCellAtColumn:-1 row:0]), CGFLOAT_MAX);
     NSMutableIndexSet *rowIndexes = nil;
     NSArray *items = [sender representedObject];
     NSInteger row;
@@ -697,6 +697,8 @@
     id item = [ov itemAtRow:row];
     if ([(PDFAnnotation *)item type] == nil) {
         NSRect frame = [outlineView convertRect:[outlineView 
frameOfCellAtColumn:-1 row:row] toView:rowView];
+        if ([[[outlineView firstVisibleTableColumn] identifier] 
isEqualToString:NOTE_COLUMNID])
+            frame = SKShrinkRect(frame, -[ov indentationPerLevel], NSMinXEdge);
         NSTableCellView *view = [ov makeViewWithIdentifier:NOTE_COLUMNID 
owner:self];
         [view setObjectValue:item];
         [view setFrame:frame];
@@ -830,7 +832,7 @@
                     if ([tc isHidden] == NO)
                         width += [tc width] + spacing;
                 }
-                width -= spacing + [outlineView indentationPerLevel];
+                width -= spacing;
                 if ([tableColumn isHidden] == NO && tableColumn == [[ov 
tableColumns] firstObject])
                     width -= NOTE_COLUMN_WIDTH_OFFSET;
                 width = fmax(10.0, width);

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



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to