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