diff --git a/src/GWallet.Frontend.Console/Program.fs b/src/GWallet.Frontend.Console/Program.fs index 034427b5e..e92145193 100644 --- a/src/GWallet.Frontend.Console/Program.fs +++ b/src/GWallet.Frontend.Console/Program.fs @@ -468,9 +468,12 @@ let rec ProgramMainLoop() = Console.WriteLine () Console.WriteLine "*** STATUS ***" + Console.WriteLine () + let lines = UserInteraction.DisplayAccountStatuses(WhichAccount.All activeAccounts) |> Async.RunSynchronously + Console.WriteLine Environment.NewLine Console.WriteLine (String.concat Environment.NewLine lines) Console.WriteLine () diff --git a/src/GWallet.Frontend.Console/UserInteraction.fs b/src/GWallet.Frontend.Console/UserInteraction.fs index daa6c54ae..b27d71332 100644 --- a/src/GWallet.Frontend.Console/UserInteraction.fs +++ b/src/GWallet.Frontend.Console/UserInteraction.fs @@ -252,6 +252,9 @@ module UserInteraction = // we don't need to query the fiat value at all (micro-optimization?) let! balance,usdValue = FSharpUtil.AsyncExtensions.MixedParallel2 balanceJob usdValueJob + let progressIteration = sprintf " %A" account.Currency + Console.Write progressIteration + return (account,balance,usdValue) } @@ -264,6 +267,7 @@ module UserInteraction = let private GetAccountBalances (accounts: seq) : Async*MaybeCached>> = let accountAndBalancesToBeQueried = accounts |> Seq.map GetAccountBalanceInner + Console.Write "Retrieving balances..." Async.Parallel accountAndBalancesToBeQueried let DisplayAccountStatuses(whichAccount: WhichAccount): Async> = @@ -343,6 +347,9 @@ module UserInteraction = let! accountsWithBalances = GetAccountBalances accounts let statuses, currencyTotals = displayAllAndSumBalance accountsWithBalances 0 Map.empty + // All balances are fetched and their currency names printed, put a dot at the end of "Retrieving balances... " line. + Console.Write '.' + let maybeTotalInUsd, totals = displayTotalAndSumFiatBalance currencyTotals return seq {