diff --git a/gui/qt/history_list.py b/gui/qt/history_list.py index 9edbd61d4..c87e92c6d 100644 --- a/gui/qt/history_list.py +++ b/gui/qt/history_list.py @@ -195,12 +195,12 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop): r = self.wallet.get_full_history(domain=self.get_domain(), from_timestamp=self.start_timestamp, to_timestamp=self.end_timestamp, fx=fx) self.transactions = r['transactions'] self.summary = r['summary'] - if not self.years and self.start_timestamp is None and self.end_timestamp is None: - start_date = self.summary.get('start_date') - end_date = self.summary.get('end_date') - if start_date and end_date: - self.years = [str(i) for i in range(start_date.year, end_date.year + 1)] - self.period_combo.insertItems(1, self.years) + if not self.years and self.transactions: + from datetime import date + start_date = self.transactions[0].get('date') or date.today() + end_date = self.transactions[-1].get('date') or date.today() + self.years = [str(i) for i in range(start_date.year, end_date.year + 1)] + self.period_combo.insertItems(1, self.years) item = self.currentItem() current_tx = item.data(0, Qt.UserRole) if item else None self.clear() diff --git a/lib/wallet.py b/lib/wallet.py index ed11694d7..83533cde7 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -990,9 +990,9 @@ class Abstract_Wallet(PrintError): fiat_expenditures = 0 h = self.get_history(domain) for tx_hash, height, conf, timestamp, value, balance in h: - if from_timestamp and timestamp < from_timestamp: + if from_timestamp and (timestamp or time.time()) < from_timestamp: continue - if to_timestamp and timestamp >= to_timestamp: + if to_timestamp and (timestamp or time.time()) >= to_timestamp: continue item = { 'txid':tx_hash, @@ -1029,7 +1029,7 @@ class Abstract_Wallet(PrintError): income += value # fiat computations if fx is not None: - date = timestamp_to_datetime(time.time() if conf <= 0 else timestamp) + date = timestamp_to_datetime(timestamp) fiat_value = self.get_fiat_value(tx_hash, fx.ccy) fiat_default = fiat_value is None fiat_value = - fiat_value if fiat_value is not None else value / Decimal(COIN) * self.price_at_timestamp(tx_hash, fx.timestamp_rate)