mirror of
https://github.com/MacPass/MacPass.git
synced 2026-01-31 08:18:18 +00:00
added MPCollectionView to track index for context menu
This commit is contained in:
44
MacPass/MPCollectionView.m
Normal file
44
MacPass/MPCollectionView.m
Normal file
@@ -0,0 +1,44 @@
|
||||
//
|
||||
// MPCollectionView.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 18.09.17.
|
||||
// Copyright © 2017 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPCollectionView.h"
|
||||
|
||||
@implementation MPCollectionView
|
||||
|
||||
- (instancetype)initWithCoder:(NSCoder *)coder {
|
||||
self = [super initWithCoder:coder];
|
||||
if(self) {
|
||||
_contextMenuIndex = NSNotFound;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithFrame:(NSRect)frameRect {
|
||||
self = [super initWithFrame:frameRect];
|
||||
if(self) {
|
||||
_contextMenuIndex = NSNotFound;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSMenu *)menuForEvent:(NSEvent *)event {
|
||||
self.contextMenuIndex = NSNotFound;
|
||||
NSPoint point = [self convertPoint:event.locationInWindow fromView:nil];
|
||||
NSUInteger count = self.content.count;
|
||||
for (NSUInteger i = 0; i < count; i++) {
|
||||
NSRect itemFrame = [self frameForItemAtIndex:i];
|
||||
if (NSMouseInRect(point, itemFrame, self.isFlipped)) {
|
||||
self.contextMenuIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return [super menuForEvent:event];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user