diff options
| author | Cozz Lovan <[email protected]> | 2014-04-14 19:59:22 +0200 |
|---|---|---|
| committer | Cozz Lovan <[email protected]> | 2014-04-23 01:50:25 +0200 |
| commit | bb1f1c90d669649fe80b92094718a9173586eb43 (patch) | |
| tree | d15dfbbcc39a5d93b78fb825fbec1add59bbdb08 /src/rpcdump.cpp | |
| parent | Merge pull request #4042 (diff) | |
| download | discoin-bb1f1c90d669649fe80b92094718a9173586eb43.tar.xz discoin-bb1f1c90d669649fe80b92094718a9173586eb43.zip | |
[Qt] importwallet progress
Diffstat (limited to 'src/rpcdump.cpp')
| -rw-r--r-- | src/rpcdump.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 9a24a99c1..593e0d2b6 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -153,7 +153,7 @@ Value importwallet(const Array& params, bool fHelp) EnsureWalletIsUnlocked(); ifstream file; - file.open(params[0].get_str().c_str()); + file.open(params[0].get_str().c_str(), std::ios::in | std::ios::ate); if (!file.is_open()) throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot open wallet dump file"); @@ -161,7 +161,12 @@ Value importwallet(const Array& params, bool fHelp) bool fGood = true; + int64_t nFilesize = std::max((int64_t)1, (int64_t)file.tellg()); + file.seekg(0, file.beg); + + pwalletMain->ShowProgress(_("Importing..."), 0); // show progress dialog in GUI while (file.good()) { + pwalletMain->ShowProgress("", std::max(1, std::min(99, (int)(((double)file.tellg() / (double)nFilesize) * 100)))); std::string line; std::getline(file, line); if (line.empty() || line[0] == '#') @@ -207,6 +212,7 @@ Value importwallet(const Array& params, bool fHelp) nTimeBegin = std::min(nTimeBegin, nTime); } file.close(); + pwalletMain->ShowProgress("", 100); // hide progress dialog in GUI CBlockIndex *pindex = chainActive.Tip(); while (pindex && pindex->pprev && pindex->nTime > nTimeBegin - 7200) |