Merge pull request #117 from unkhz/skip-any-pasteboard-type

Skip passwords based on full set of pasteboard types
This commit is contained in:
Gennadii Potapov 2020-12-24 13:42:48 +08:00 committed by GitHub
commit b469f1f8f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -33,7 +33,7 @@
@"skipPasswordFields", @"skipPasswordFields",
[NSNumber numberWithBool:YES], [NSNumber numberWithBool:YES],
@"skipPboardTypes", @"skipPboardTypes",
@"PasswordPboardType", @"PasswordPboardType,org.nspasteboard.TransientType,org.nspasteboard.ConcealedType,org.nspasteboard.AutoGeneratedType,com.agilebits.onepassword",
@"skipPboardTypesList", @"skipPboardTypesList",
[NSNumber numberWithBool:NO], [NSNumber numberWithBool:NO],
@"skipPasswordLengths", @"skipPasswordLengths",
@ -318,15 +318,14 @@
// Check the array of types to skip. // Check the array of types to skip.
if ( [[NSUserDefaults standardUserDefaults] boolForKey:@"skipPboardTypes"] ) if ( [[NSUserDefaults standardUserDefaults] boolForKey:@"skipPboardTypes"] )
{ {
NSArray *typesArray = [[[[NSUserDefaults standardUserDefaults] stringForKey:@"skipPboardTypesList"] stringByReplacingOccurrencesOfString:@" " withString:@""] componentsSeparatedByString: @","]; NSSet *typesToSkip = [NSSet setWithArray: [[[[NSUserDefaults standardUserDefaults] stringForKey:@"skipPboardTypesList"] stringByReplacingOccurrencesOfString:@" " withString:@""] componentsSeparatedByString: @","]];
[typesArray enumerateObjectsUsingBlock:^(id typeString, NSUInteger idx, BOOL *stop) NSSet *pasteBoardTypes = [NSSet setWithArray: [[NSPasteboard generalPasteboard] types]];
{
if ( [type isEqualToString:typeString] ) if ( [pasteBoardTypes intersectsSet: typesToSkip] )
{ {
skipClipping = YES; skipClipping = YES;
*stop = YES; };
}
}];
} }
if (skipClipping) if (skipClipping)
return YES; return YES;