From 448637a98a48d520b552ad50232ca4f63b496f37 Mon Sep 17 00:00:00 2001 From: sowle Date: Thu, 19 Mar 2020 03:01:02 +0300 Subject: [PATCH] back-end part of pre-downloading progress bar --- src/wallet/view_iface.h | 4 ++++ src/wallet/wallets_manager.cpp | 10 ++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/wallet/view_iface.h b/src/wallet/view_iface.h index 41d64ced..a08996e2 100644 --- a/src/wallet/view_iface.h +++ b/src/wallet/view_iface.h @@ -139,6 +139,8 @@ public: uint64_t last_build_displaymode; uint64_t alias_count; std::string last_build_available; + uint64_t downloaded_bytes; + uint64_t download_total_data_size; //std::list last_blocks; bool is_pos_allowed; uint64_t expiration_median_timestamp; @@ -160,6 +162,8 @@ public: KV_SERIALIZE(last_build_available) //KV_SERIALIZE(last_blocks) KV_SERIALIZE(alias_count) + KV_SERIALIZE(downloaded_bytes) + KV_SERIALIZE(download_total_data_size) KV_SERIALIZE(is_pos_allowed) KV_SERIALIZE(expiration_median_timestamp) KV_SERIALIZE(is_disconnected) diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp index ebc4217f..ef3e6716 100644 --- a/src/wallet/wallets_manager.cpp +++ b/src/wallet/wallets_manager.cpp @@ -332,13 +332,11 @@ bool wallets_manager::init_local_daemon() auto last_update = std::chrono::system_clock::now(); bool r = tools::process_predownload(m_vm, [&](uint64_t total_bytes, uint64_t received_bytes){ auto dif = std::chrono::system_clock::now() - last_update; - if (dif > std::chrono::milliseconds(300)) + if (dif > std::chrono::milliseconds(300)) { - dsi.synchronization_start_height = 0; - dsi.max_net_seen_height = total_bytes; - dsi.height = received_bytes; - dsi.daemon_network_state = currency::COMMAND_RPC_GET_INFO::daemon_network_state_synchronizing; - //dsi.daemon_network_state = currency::COMMAND_RPC_GET_INFO::daemon_network_state_downloading_database; + dsi.download_total_data_size = total_bytes; + dsi.downloaded_bytes = received_bytes; + dsi.daemon_network_state = currency::COMMAND_RPC_GET_INFO::daemon_network_state_downloading_database; m_pview->update_daemon_status(dsi); last_update = std::chrono::system_clock::now(); }