Merge pull request #3853 from cmgustavo/feat/paste-from-clipboard

Use cordova-plugin to paste from clipboard on mobile
This commit is contained in:
Matias Alejo Garcia 2016-02-11 14:15:26 -05:00
commit b6a129f2f0
5 changed files with 47 additions and 10 deletions

View file

@ -97,6 +97,19 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$rootScope.$digest();
});
var getClipboard = function(cb) {
if (!isCordova || isMobile.Windows()) return cb();
window.cordova.plugins.clipboard.paste(function(value) {
var fc = profileService.focusedClient;
var Address = bitcore.Address;
var networkName = fc.credentials.network;
if (Address.isValid(value, networkName) && !$scope.newAddress) {
return cb(value);
}
});
};
var accept_msg = gettextCatalog.getString('Accept');
var cancel_msg = gettextCatalog.getString('Cancel');
var confirm_msg = gettextCatalog.getString('Confirm');
@ -120,6 +133,12 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
'label': ''
};
$scope.checkClipboard = function() {
getClipboard(function(value) {
$scope.newAddress = value;
});
};
$scope.beforeQrCodeScann = function() {
$scope.error = null;
$scope.addAddressbookEntry = true;
@ -250,6 +269,9 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
if (addr) {
self.setForm(addr);
}
}, function() {
// onRejected
self.resetForm();
});
};
@ -651,6 +673,20 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
if (isCordova && !this.isWindowsPhoneApp) {
this.hideMenuBar(what);
}
var self = this;
if (isCordova && !this.isWindowsPhoneApp && what == 'address') {
getClipboard(function(value) {
if (value) {
document.getElementById("amount").focus();
$timeout(function() {
window.plugins.toast.showShortCenter(gettextCatalog.getString('Pasted from clipboard'));
self.setForm(value);
}, 100);
}
});
}
if (!this.isWindowsPhoneApp) return
if (!what) {
@ -939,7 +975,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$timeout(function() {
$rootScope.$digest();
}, 1);
};
};
this.openPPModal = function(paypro) {
$rootScope.modalOpened = true;