commit 4e19484b4aa06557085bde5dcb785dd7e4e9048e
parent d9cf4c2b63ed8c6c07b26a31d322cd5e69e55ad1
Author: ThomasV <thomasv@electrum.org>
Date: Tue, 6 Feb 2018 10:07:36 +0100
Merge pull request #3851 from bauerj/update-scrollpos
Reset scroll position after updating lists
Diffstat:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gui/qt/history_list.py b/gui/qt/history_list.py
@@ -70,7 +70,6 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop):
@profiler
def on_update(self):
- # TODO save and restore scroll position (maybe based on y coord or selected item?)
self.wallet = self.parent.wallet
h = self.wallet.get_history(self.get_domain())
item = self.currentItem()
@@ -213,4 +212,5 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop):
self.parent.show_error(e)
else:
self.wallet.save_transactions(write=True)
- self.on_update()
+ # need to update at least: history_list, utxo_list, address_list
+ self.parent.need_update.set()
diff --git a/gui/qt/util.py b/gui/qt/util.py
@@ -478,8 +478,12 @@ class MyTreeWidget(QTreeWidget):
self.pending_update = True
else:
self.setUpdatesEnabled(False)
+ scroll_pos = self.verticalScrollBar().value()
self.on_update()
self.setUpdatesEnabled(True)
+ # To paint the list before resetting the scroll position
+ self.parent.app.processEvents()
+ self.verticalScrollBar().setValue(scroll_pos)
if self.current_filter:
self.filter(self.current_filter)