Revision: 15322 http://sourceforge.net/p/skim-app/code/15322 Author: hofman Date: 2025-05-29 15:42:05 +0000 (Thu, 29 May 2025) Log Message: ----------- Only one action for overviewview, boolean property to decide whether to use on single click
Modified Paths: -------------- trunk/SKMainWindowController.m trunk/SKOverviewView.h trunk/SKOverviewView.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-05-29 14:36:01 UTC (rev 15321) +++ trunk/SKMainWindowController.m 2025-05-29 15:42:05 UTC (rev 15322) @@ -1602,7 +1602,7 @@ [overviewView setDataSource:(id<NSCollectionViewDataSource>)self]; [overviewView setSelectionIndexes:[NSIndexSet indexSetWithIndex:[[pdfView currentPage] pageIndex]]]; [overviewView setTypeSelectHelper:[leftSideController.thumbnailTableView typeSelectHelper]]; - [overviewView setDoubleClickAction:@selector(hideOverview:)]; + [overviewView setAction:@selector(hideOverview:)]; [overviewView addObserver:self forKeyPath:@"selectionIndexPaths" options:0 context:&SKMainWindowThumbnailSelectionObservationContext]; [overviewContentView setTranslatesAutoresizingMaskIntoConstraints:NO]; } @@ -1634,7 +1634,7 @@ [(NSVisualEffectView *)[overviewView backgroundView] setMaterial:isPresentation ? NSVisualEffectMaterialDark : NSVisualEffectMaterialSidebar]; [[overviewView visibleItems] setValue:[NSNumber numberWithInteger:isPresentation ? NSBackgroundStyleEmphasized : NSBackgroundStyleNormal] forKey:@"backgroundStyle"]; } - [overviewView setSingleClickAction:isPresentation ? @selector(hideOverview:) : NULL]; + [overviewView setPerformActionOnSingleClick:isPresentation]; [[SKImageToolTipWindow sharedToolTipWindow] orderOut:nil]; Modified: trunk/SKOverviewView.h =================================================================== --- trunk/SKOverviewView.h 2025-05-29 14:36:01 UTC (rev 15321) +++ trunk/SKOverviewView.h 2025-05-29 15:42:05 UTC (rev 15322) @@ -43,12 +43,14 @@ @class SKTypeSelectHelper; @interface SKOverviewView : NSCollectionView { - SEL singleClickAction, doubleClickAction; + SEL action; + BOOL performActionOnSingleClick; SKTypeSelectHelper *typeSelectHelper; NSMutableArray *cachedViews; } -@property (nonatomic) SEL singleClickAction, doubleClickAction; +@property (nonatomic) SEL action; +@property (nonatomic) BOOL performActionOnSingleClick; @property (nonatomic, nullable, strong) SKTypeSelectHelper *typeSelectHelper; - (nullable id)newViewWithIdentifier:(NSString *)identifier; Modified: trunk/SKOverviewView.m =================================================================== --- trunk/SKOverviewView.m 2025-05-29 14:36:01 UTC (rev 15321) +++ trunk/SKOverviewView.m 2025-05-29 15:42:05 UTC (rev 15322) @@ -49,7 +49,7 @@ @implementation SKOverviewView -@synthesize singleClickAction, doubleClickAction, typeSelectHelper; +@synthesize action, performActionOnSingleClick, typeSelectHelper; - (void)keyDown:(NSEvent *)theEvent { unichar eventChar = [theEvent firstCharacter]; @@ -56,10 +56,10 @@ NSUInteger modifiers = [theEvent deviceIndependentModifierFlags] & ~NSEventModifierFlagCapsLock; NSUInteger standardModifiers = modifiers & ~NSEventModifierFlagNumericPad & ~NSEventModifierFlagFunction; - if ((eventChar == NSNewlineCharacter || eventChar == NSEnterCharacter || eventChar == NSCarriageReturnCharacter) && modifiers == 0 && [self doubleClickAction]) { - [self tryToPerform:[self doubleClickAction] with:self]; - } else if (eventChar == 'p' && modifiers == 0 && [self singleClickAction]) { - [self tryToPerform:[self singleClickAction] with:self]; + if ((eventChar == NSNewlineCharacter || eventChar == NSEnterCharacter || eventChar == NSCarriageReturnCharacter) && modifiers == 0 && [self action]) { + [self tryToPerform:[self action] with:self]; + } else if (eventChar == 'p' && modifiers == 0 && [self performActionOnSingleClick]) { + [self tryToPerform:[self action] with:self]; } else if ((eventChar == NSDownArrowFunctionKey && standardModifiers == NSEventModifierFlagOption) || (eventChar == NSRightArrowFunctionKey && standardModifiers == NSEventModifierFlagCommand) || (eventChar == NSPageDownFunctionKey && standardModifiers == 0)) { [self tryToPerform:@selector(doGoToNextPage:) with:self]; } else if ((eventChar == NSUpArrowFunctionKey && standardModifiers == NSEventModifierFlagOption) || (eventChar == NSLeftArrowFunctionKey && standardModifiers == NSEventModifierFlagCommand) || (eventChar == NSPageUpFunctionKey && standardModifiers == 0)) { @@ -113,7 +113,7 @@ } - (void)mouseDown:(NSEvent *)theEvent { - SEL action = [theEvent clickCount] == 1 ? [self singleClickAction] : [theEvent clickCount] == 2 ? [self doubleClickAction] : NULL; + SEL action = (([theEvent clickCount] == 1 && [self performActionOnSingleClick]) || [theEvent clickCount] == 2) ? [self action] : NULL; if (action && [NSApp willDragMouse]) action = NULL; 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