Revision: 15819
http://sourceforge.net/p/skim-app/code/15819
Author: hofman
Date: 2025-11-23 17:34:31 +0000 (Sun, 23 Nov 2025)
Log Message:
-----------
move note type shet controller to note outline view so we don't duplicate
initialization
Modified Paths:
--------------
trunk/SKMainWindowController.h
trunk/SKMainWindowController.m
trunk/SKMainWindowController_Actions.m
trunk/SKMainWindowController_UI.m
trunk/SKNoteOutlineView.h
trunk/SKNoteOutlineView.m
trunk/SKNotesDocument.h
trunk/SKNotesDocument.m
trunk/SKRightSideViewController.h
trunk/SKRightSideViewController.m
Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKMainWindowController.h 2025-11-23 17:34:31 UTC (rev 15819)
@@ -40,7 +40,6 @@
#import "SKSnapshotWindowController.h"
#import "SKThumbnail.h"
#import "SKFindController.h"
-#import "NSDocument_SKExtensions.h"
#import "SKPDFView.h"
#import "PDFView_SKExtensions.h"
#import "SKPDFDocument.h"
@@ -70,7 +69,7 @@
@class PDFAnnotation, PDFSelection, SKGroupedSearchResult;
@class SKPDFView, SKSecondaryPDFView, SKPresentationView, SKStatusBar,
SKFindController, SKSplitView, SKFieldEditor, SKOverviewView, SKSideWindow;
-@class SKLeftSideViewController, SKRightSideViewController,
SKMainToolbarController, SKMainTouchBarController, SKNoteToolbarController,
SKProgressController, SKNoteTypeSheetController, SKSnapshotWindowController,
SKTransitionController;
+@class SKLeftSideViewController, SKRightSideViewController,
SKMainToolbarController, SKMainTouchBarController, SKNoteToolbarController,
SKProgressController, SKSnapshotWindowController, SKTransitionController;
@class SKPresentationNotesAuxiliary;
@interface SKMainWindowController : NSWindowController
<SKSnapshotWindowControllerDelegate, SKThumbnailDelegate,
SKFindControllerDelegate, SKPDFViewDelegate, SKPDFDocumentDelegate,
NSTouchBarDelegate> {
@@ -116,7 +115,6 @@
NSMutableArray<SKGroupedSearchResult *> *groupedSearchResults;
- SKNoteTypeSheetController *noteTypeSheetController;
NSMutableArray<PDFAnnotation *> *notes;
NSMutableArray<PDFAnnotation *> *widgets;
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKMainWindowController.m 2025-11-23 17:34:31 UTC (rev 15819)
@@ -298,7 +298,7 @@
[findController setDelegate:nil];
[pdfView setDelegate:nil]; // this cleans up the pdfview
[[pdfView document] setDelegate:nil];
- [noteTypeSheetController setDelegate:nil];
+ [[rightSideController.noteOutlineView noteTypeSheetController]
setDelegate:nil];
[[pdfView document] setContainingDocument:nil];
[self setPresentationNotesDocument:nil];
}
@@ -510,13 +510,8 @@
[self showSnapshotsWithSetups:snapshotSetups];
}
- noteTypeSheetController = [[SKNoteTypeSheetController alloc] init];
- [noteTypeSheetController setDelegate:self];
+ [[rightSideController.noteOutlineView noteTypeSheetController]
setDelegate:self];
- menu = [[rightSideController.noteOutlineView headerView] menu];
- [menu addItem:[NSMenuItem separatorItem]];
- [[menu addItemWithTitle:NSLocalizedString(@"Note Type", @"Menu item
title") action:NULL keyEquivalent:@""] setSubmenu:[noteTypeSheetController
noteTypeMenu]];
-
[pdfView setTypeSelectHelper:[leftSideController.thumbnailTableView
typeSelectHelper]];
[window recalculateKeyViewLoop];
@@ -3124,11 +3119,6 @@
}
}
-- (void)updateNoteFilterPredicate {
- [rightSideController.noteArrayController
setFilterPredicate:[noteTypeSheetController
filterPredicateForSearchString:[rightSideController.searchField stringValue]
caseInsensitive:mwcFlags.caseInsensitiveFilter]];
- [rightSideController.noteOutlineView reloadData];
-}
-
#pragma mark Snapshots
- (void)resetSnapshotSizeIfNeeded {
Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m 2025-11-23 15:19:11 UTC (rev
15818)
+++ trunk/SKMainWindowController_Actions.m 2025-11-23 17:34:31 UTC (rev
15819)
@@ -93,7 +93,6 @@
@interface SKMainWindowController (SKPrivateUI)
- (void)updateLineInspector;
-- (void)updateNoteFilterPredicate;
- (void)updateSnapshotFilterPredicate;
- (void)resetNoteRowHeights;
@end
@@ -865,7 +864,7 @@
- (IBAction)searchNotes:(id)sender {
if (mwcFlags.rightSidePaneState == SKSidePaneStateNote)
- [self updateNoteFilterPredicate];
+ [rightSideController
updateNoteFilterPredicateCaseInsensitive:mwcFlags.caseInsensitiveFilter];
else
[self updateSnapshotFilterPredicate];
NSString *searchString = [sender stringValue];
Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKMainWindowController_UI.m 2025-11-23 17:34:31 UTC (rev 15819)
@@ -129,8 +129,6 @@
- (void)updatePageLabels;
- (void)updatePageLabel;
-- (void)updateNoteFilterPredicate;
-
- (void)rotatePageAtIndex:(NSUInteger)idx by:(NSInteger)rotation;
@end
@@ -1443,7 +1441,7 @@
#pragma mark SKNoteTypeSheetController delegate protocol
- (void)noteTypeSheetControllerNoteTypesDidChange {
- [self updateNoteFilterPredicate];
+ [rightSideController
updateNoteFilterPredicateCaseInsensitive:mwcFlags.caseInsensitiveFilter];
}
- (NSWindow *)windowForNoteTypeSheetController {
Modified: trunk/SKNoteOutlineView.h
===================================================================
--- trunk/SKNoteOutlineView.h 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKNoteOutlineView.h 2025-11-23 17:34:31 UTC (rev 15819)
@@ -41,8 +41,11 @@
NS_ASSUME_NONNULL_BEGIN
+@class SKNoteTypeSheetController;
+
@interface SKNoteOutlineView : SKOutlineView {
NSMapTable *rowHeights;
+ SKNoteTypeSheetController *noteTypeSheetController;
}
- (void)toggleTableColumn:(nullable id)sender;
@@ -54,6 +57,8 @@
- (void)setRowHeight:(CGFloat)rowHeight forItem:(id)item;
- (void)resetRowHeights;
+@property (nonatomic, readonly) SKNoteTypeSheetController
*noteTypeSheetController;
+
@end
NS_ASSUME_NONNULL_END
Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKNoteOutlineView.m 2025-11-23 17:34:31 UTC (rev 15819)
@@ -42,6 +42,7 @@
#import "SKApplication.h"
#import "NSGeometry_SKExtensions.h"
#import "NSMenu_SKExtensions.h"
+#import "SKNoteTypeSheetController.h"
#define NUMBER_OF_TYPES 9
@@ -61,6 +62,7 @@
@implementation SKNoteOutlineView
+@synthesize noteTypeSheetController;
@dynamic fullWidthCellWidth, outlineIndentation, delegate;
static inline NSString *titleForTableColumnIdentifier(NSString *identifier) {
@@ -83,12 +85,15 @@
- (instancetype)initWithCoder:(NSCoder *)decoder {
self = [super initWithCoder:decoder];
if (self) {
+ noteTypeSheetController = [[SKNoteTypeSheetController alloc] init];
+
NSMenu *menu = [NSMenu menu];
+ NSMenuItem *menuItem;
for (NSTableColumn *tc in [self tableColumns]) {
NSString *identifier = [tc identifier];
NSString *title = titleForTableColumnIdentifier(identifier);
- NSMenuItem *menuItem = [menu addItemWithTitle:title
action:@selector(toggleTableColumn:) target:self];
+ menuItem = [menu addItemWithTitle:title
action:@selector(toggleTableColumn:) target:self];
[menuItem setRepresentedObject:identifier];
if ([tc maxWidth] >= SMALL_COLUMN_WIDTH)
[[tc headerCell] setTitle:title];
@@ -95,6 +100,9 @@
else
[tc setHeaderToolTip:title];
}
+ [menu addItem:[NSMenuItem separatorItem]];
+ menuItem = [menu addItemWithTitle:NSLocalizedString(@"Note Type",
@"Menu item title") action:NULL keyEquivalent:@""];
+ [menuItem setSubmenu:[noteTypeSheetController noteTypeMenu]];
[[self headerView] setMenu:menu];
Modified: trunk/SKNotesDocument.h
===================================================================
--- trunk/SKNotesDocument.h 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKNotesDocument.h 2025-11-23 17:34:31 UTC (rev 15819)
@@ -38,9 +38,7 @@
#import <Cocoa/Cocoa.h>
#import <Quartz/Quartz.h>
-#import "SKNoteOutlineView.h"
#import "SKNoteTypeSheetController.h"
-#import "NSDocument_SKExtensions.h"
NS_ASSUME_NONNULL_BEGIN
@@ -56,7 +54,6 @@
NSArray<NSDictionary<NSString *, id> *> *unsupportedNotes;
PDFDocument *pdfDocument;
NSURL *sourceFileURL;
- SKNoteTypeSheetController *noteTypeSheetController;
NSRect windowRect;
struct _ndFlags {
unsigned int exportUsingPanel:1;
Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKNotesDocument.m 2025-11-23 17:34:31 UTC (rev 15819)
@@ -174,13 +174,8 @@
[outlineView setTypeSelectHelper:[SKTypeSelectHelper
typeSelectHelperWithMatchOption:SKSubstringMatch]];
- noteTypeSheetController = [[SKNoteTypeSheetController alloc]
initIncludingWidgets:YES];
- [noteTypeSheetController setDelegate:self];
+ [[outlineView noteTypeSheetController] setDelegate:self];
- menu = [[outlineView headerView] menu];
- [menu addItem:[NSMenuItem separatorItem]];
- [[menu addItemWithTitle:NSLocalizedString(@"Note Type", @"Menu item
title") action:NULL keyEquivalent:@""] setSubmenu:[noteTypeSheetController
noteTypeMenu]];
-
[self setRecentInfoNeedsUpdate:YES];
ndFlags.settingUpWindow = NO;
@@ -396,7 +391,7 @@
}
- (void)updateNoteFilterPredicate {
- [arrayController setFilterPredicate:[noteTypeSheetController
filterPredicateForSearchString:[searchField stringValue]
caseInsensitive:ndFlags.caseInsensitiveSearch]];
+ [arrayController setFilterPredicate:[[outlineView noteTypeSheetController]
filterPredicateForSearchString:[searchField stringValue]
caseInsensitive:ndFlags.caseInsensitiveSearch]];
[outlineView reloadData];
}
Modified: trunk/SKRightSideViewController.h
===================================================================
--- trunk/SKRightSideViewController.h 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKRightSideViewController.h 2025-11-23 17:34:31 UTC (rev 15819)
@@ -55,6 +55,8 @@
@property (nonatomic, nullable, strong) IBOutlet SKNoteOutlineView
*noteOutlineView;
@property (nonatomic, nullable, strong) IBOutlet SKTableView
*snapshotTableView;
+- (void)updateNoteFilterPredicateCaseInsensitive:(BOOL)caseInsensitive;
+
@end
NS_ASSUME_NONNULL_END
Modified: trunk/SKRightSideViewController.m
===================================================================
--- trunk/SKRightSideViewController.m 2025-11-23 15:19:11 UTC (rev 15818)
+++ trunk/SKRightSideViewController.m 2025-11-23 17:34:31 UTC (rev 15819)
@@ -131,4 +131,9 @@
return [NSArray arrayWithObjects:noteOutlineView, snapshotTableView, nil];
}
+- (void)updateNoteFilterPredicateCaseInsensitive:(BOOL)caseInsensitive {
+ [noteArrayController setFilterPredicate:[[noteOutlineView
noteTypeSheetController] filterPredicateForSearchString:[searchField
stringValue] caseInsensitive:caseInsensitive]];
+ [noteOutlineView reloadData];
+}
+
@end
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