Windows: don't allow non-ascii characters in path

This commit is contained in:
Jaquee 2016-11-29 17:14:11 +01:00
parent 1a610db431
commit abd5c685af
No known key found for this signature in database
GPG key ID: 384E52B09F45DC39
3 changed files with 26 additions and 9 deletions

View file

@ -55,7 +55,7 @@ Item {
settingsObject['words'] = uiItem.wordsTexttext
settingsObject['wallet_path'] = uiItem.walletPath
var walletFullPath = wizard.createWalletPath(uiItem.walletPath,uiItem.accountNameText);
return !wizard.walletExists(walletFullPath);
return wizard.walletPathValid(walletFullPath);
}
function checkNextButton() {

View file

@ -141,13 +141,31 @@ Rectangle {
return folder_path + "/" + account_name + "/" + account_name
}
function walletExists(path){
function walletPathValid(path){
if (walletManager.walletExists(path)) {
walletExistsErrorDialog.open();
walletErrorDialog.text = qsTr("A wallet with same name already exists. Please change wallet name") + translationManager.emptyString;
walletErrorDialog.open();
return false;
}
// Don't allow non ascii characters in path on windows platforms until supported by Wallet2
if (isWindows) {
if (!isAscii(path)) {
walletErrorDialog.text = qsTr("Non-ASCII characters are not allowed in wallet path or account name") + translationManager.emptyString;
walletErrorDialog.open();
return false;
}
}
return true;
}
function isAscii(str){
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 127)
return false;
}
return true;
}
//! actually writes the wallet
function applySettings() {
@ -197,9 +215,8 @@ Rectangle {
}
MessageDialog {
id: walletExistsErrorDialog
id: walletErrorDialog
title: "Error"
text: qsTr("A wallet with same name already exists. Please change wallet name") + translationManager.emptyString
onAccepted: {
}
}

View file

@ -59,7 +59,7 @@ Item {
var restoreHeight = parseInt(uiItem.restoreHeight);
settingsObject['restore_height'] = isNaN(restoreHeight)? 0 : restoreHeight
var walletFullPath = wizard.createWalletPath(uiItem.walletPath,uiItem.accountNameText);
if(wizard.walletExists(walletFullPath)){
if(!wizard.walletPathValid(walletFullPath)){
return false
}
return recoveryWallet(settingsObject)