Skip to content

Commit

Permalink
Make WalletManager::insertWallet asynchronous
Browse files Browse the repository at this point in the history
  • Loading branch information
borgbyte committed Feb 20, 2020
1 parent b194a51 commit f3f081c
Showing 1 changed file with 17 additions and 14 deletions.
31 changes: 17 additions & 14 deletions src/walletmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,21 +58,24 @@ Wallet* WalletManager::createWallet()
void WalletManager::insertWallet(Wallet* wallet)
{
m_wallets.append(wallet);

QSettings settings(GetDataFile("app", "wallets.ini"), QSettings::IniFormat);
wallet->m_index = settings.beginReadArray("wallets");
settings.endArray();
settings.beginWriteArray("wallets", wallet->m_index + 1);
settings.setArrayIndex(wallet->m_index);
settings.setValue("proxy", wallet->m_proxy);
settings.setValue("use_tor", wallet->m_use_tor);
settings.setValue("network", wallet->m_network->id());
settings.setValue("pin_data", wallet->m_pin_data);
settings.setValue("name", wallet->m_name);
settings.setValue("login_attempts_remaining", wallet->m_login_attempts_remaining);
settings.endArray();

emit walletsChanged();

QMetaObject::invokeMethod(wallet->m_context, [wallet] {
QMetaObject::invokeMethod(wallet, [wallet] {
QSettings settings(GetDataFile("app", "wallets.ini"), QSettings::IniFormat);
wallet->m_index = settings.beginReadArray("wallets");
settings.endArray();
settings.beginWriteArray("wallets", wallet->m_index + 1);
settings.setArrayIndex(wallet->m_index);
settings.setValue("proxy", wallet->m_proxy);
settings.setValue("use_tor", wallet->m_use_tor);
settings.setValue("network", wallet->m_network->id());
settings.setValue("pin_data", wallet->m_pin_data);
settings.setValue("name", wallet->m_name);
settings.setValue("login_attempts_remaining", wallet->m_login_attempts_remaining);
settings.endArray();
});
});
}

QQmlListProperty<Wallet> WalletManager::wallets()
Expand Down

0 comments on commit f3f081c

Please sign in to comment.