fix for win

This commit is contained in:
DenioD
2020-05-24 16:51:55 +02:00
parent 309c1acbcc
commit c79bf0046d

View File

@@ -33,6 +33,19 @@
using json = nlohmann::json; using json = nlohmann::json;
#ifdef Q_OS_WIN
auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.dat");
auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat");
auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup");
#endif
#ifdef Q_OS_UNIX
auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.dat");
auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat");
auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup");
#endif
MainWindow::MainWindow(QWidget *parent) : MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::MainWindow) ui(new Ui::MainWindow)
@@ -56,7 +69,10 @@ MainWindow::MainWindow(QWidget *parent) :
logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log"));
// Check for encryption // Check for encryption
if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")))
if(fileExists(dirwalletenc))
{ {
this->removeWalletEncryptionStartUp(); this->removeWalletEncryptionStartUp();
} }
@@ -270,13 +286,13 @@ void MainWindow::closeEvent(QCloseEvent* event) {
rpc->shutdownhushd(); rpc->shutdownhushd();
// Check is encryption is ON for SDl // Check is encryption is ON for SDl
if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) if(fileExists(dirwalletenc))
{ {
// delete old file before // delete old file before
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); //auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
QFile fileoldencryption(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); QFile fileoldencryption(dirwalletenc);
fileoldencryption.remove(); fileoldencryption.remove();
// Encrypt our wallet.dat // Encrypt our wallet.dat
@@ -315,15 +331,15 @@ void MainWindow::closeEvent(QCloseEvent* event) {
// auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
QString source_file = dir.filePath("addresslabels.dat"); QString source_file = dir.filePath("addresslabels.dat");
QString target_enc_file = dir.filePath("addresslabels.dat.enc"); QString target_enc_file = dir.filePath("addresslabels.dat.enc");
QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); QString sourceWallet_file = dirwallet;
QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_encWallet_file = dirwalletenc;
FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_enc_file, source_file, key);
FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key);
///////////////// we rename the plaintext wallet.dat to Backup, for testing. ///////////////// we rename the plaintext wallet.dat to Backup, for testing.
QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); QFile wallet(dirwallet);
QFile address(dir.filePath("addresslabels.dat")); QFile address(dir.filePath("addresslabels.dat"));
wallet.remove(); wallet.remove();
address.remove(); address.remove();
@@ -411,15 +427,15 @@ void MainWindow::encryptWallet() {
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
QString source_file = dir.filePath("addresslabels.dat"); QString source_file = dir.filePath("addresslabels.dat");
QString target_enc_file = dir.filePath("addresslabels.dat.enc"); QString target_enc_file = dir.filePath("addresslabels.dat.enc");
QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); QString sourceWallet_file = dirwallet;
QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_encWallet_file = dirwalletenc;
FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_enc_file, source_file, key);
FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key);
QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); QFile wallet(dirwallet);
QFile address(dir.filePath("addresslabels.dat")); QFile address(dir.filePath("addresslabels.dat"));
wallet.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBackup")); wallet.rename(dirwalletbackup);
address.rename(dir.filePath("addresslabels.datBackup")); address.rename(dir.filePath("addresslabels.datBackup"));
} }
} }
@@ -482,16 +498,16 @@ void MainWindow::removeWalletEncryption() {
auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_encwallet_file = dirwalletenc;
QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); QString target_decwallet_file = dirwallet;
QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_encaddr_file = dir.filePath("addresslabels.dat.enc");
QString target_decaddr_file = dir.filePath("addresslabels.dat"); QString target_decaddr_file = dir.filePath("addresslabels.dat");
FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key);
FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key);
QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); QFile filencrypted(dirwalletenc);
QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); QFile wallet(dirwallet);
if (wallet.size() > 0) if (wallet.size() > 0)
{ {
@@ -578,8 +594,8 @@ void MainWindow::removeWalletEncryptionStartUp() {
{ {
auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_encwallet_file = dirwalletenc;
QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); QString target_decwallet_file = dirwallet;
QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_encaddr_file = dir.filePath("addresslabels.dat.enc");
QString target_decaddr_file = dir.filePath("addresslabels.dat"); QString target_decaddr_file = dir.filePath("addresslabels.dat");
@@ -589,12 +605,12 @@ void MainWindow::removeWalletEncryptionStartUp() {
} }
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); QFile wallet(dirwallet);
//QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP"));*/ //QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP"));*/
if (wallet.size() > 0) if (wallet.size() > 0)
{ {
if (fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"))) if (fileExists(dirwalletbackup))
{ {