Import sites from pasteboard.
This commit is contained in:
parent
da4bad7977
commit
b4b9ee3cb9
@ -164,12 +164,33 @@
|
|||||||
returningResponse:&response error:&error];
|
returningResponse:&response error:&error];
|
||||||
if (error)
|
if (error)
|
||||||
err( @"While reading imported sites from %@: %@", url, [error fullDescription] );
|
err( @"While reading imported sites from %@: %@", url, [error fullDescription] );
|
||||||
if (!importedSitesData)
|
if (!importedSitesData) {
|
||||||
|
[PearlAlert showError:strf( @"Master Password couldn't read the import sites.\n\n%@", [error localizedDescription]?: error )];
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
PearlOverlay *activityOverlay = [PearlOverlay showProgressOverlayWithTitle:@"Importing"];
|
|
||||||
|
|
||||||
NSString *importedSitesString = [[NSString alloc] initWithData:importedSitesData encoding:NSUTF8StringEncoding];
|
NSString *importedSitesString = [[NSString alloc] initWithData:importedSitesData encoding:NSUTF8StringEncoding];
|
||||||
|
if (!importedSitesString) {
|
||||||
|
[PearlAlert showError:@"Master Password couldn't understand the import file."];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
[self importSites:importedSitesString];
|
||||||
|
} );
|
||||||
|
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)importSites:(NSString *)importedSitesString {
|
||||||
|
|
||||||
|
if ([NSThread isMainThread]) {
|
||||||
|
PearlNotMainQueue( ^{
|
||||||
|
[self importSites:importedSitesString];
|
||||||
|
} );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PearlOverlay *activityOverlay = [PearlOverlay showProgressOverlayWithTitle:@"Importing"];
|
||||||
MPImportResult result = [self importSites:importedSitesString askImportPassword:^NSString *(NSString *userName) {
|
MPImportResult result = [self importSites:importedSitesString askImportPassword:^NSString *(NSString *userName) {
|
||||||
__block NSString *masterPassword = nil;
|
__block NSString *masterPassword = nil;
|
||||||
|
|
||||||
@ -240,9 +261,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
[activityOverlay cancelOverlayAnimated:YES];
|
[activityOverlay cancelOverlayAnimated:YES];
|
||||||
} );
|
|
||||||
|
|
||||||
return YES;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
|
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
|
||||||
@ -266,6 +284,20 @@
|
|||||||
inf( @"Re-activated" );
|
inf( @"Re-activated" );
|
||||||
[[NSNotificationCenter defaultCenter] postNotificationName:MPCheckConfigNotification object:nil];
|
[[NSNotificationCenter defaultCenter] postNotificationName:MPCheckConfigNotification object:nil];
|
||||||
|
|
||||||
|
NSString *importHeader = @"# Master Password site export";
|
||||||
|
NSString *importedSitesString = [UIPasteboard generalPasteboard].string;
|
||||||
|
if ([[importedSitesString substringToIndex:[importHeader length]] isEqualToString:importHeader])
|
||||||
|
[PearlAlert showAlertWithTitle:@"Import Sites?" message:
|
||||||
|
@"We've detected Master Password import sites on your pasteboard, would you like to import them?"
|
||||||
|
viewStyle:UIAlertViewStyleDefault initAlert:nil
|
||||||
|
tappedButtonBlock:^(UIAlertView *alert, NSInteger buttonIndex) {
|
||||||
|
if (buttonIndex == [alert cancelButtonIndex])
|
||||||
|
return;
|
||||||
|
|
||||||
|
[self importSites:importedSitesString];
|
||||||
|
[UIPasteboard generalPasteboard].string = nil;
|
||||||
|
} cancelTitle:@"No" otherTitles:@"Import Sites", nil];
|
||||||
|
|
||||||
[super applicationDidBecomeActive:application];
|
[super applicationDidBecomeActive:application];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user