Reset scroll position after updating list

This commit is contained in:
Johann Bauer 2018-02-05 22:11:29 +01:00
parent 4b4ad22e90
commit 9e057e5446
2 changed files with 6 additions and 2 deletions

View File

@ -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()

View File

@ -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)