1
0

qt: don't show request details when multiple requests are selected in request_list

This commit is contained in:
Sander van Grieken
2025-05-14 14:38:47 +02:00
parent 37352ea5a9
commit 4c88836389
2 changed files with 10 additions and 5 deletions

View File

@@ -224,7 +224,10 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger):
self.receive_widget.update_visibility(b)
def update_current_request(self):
key = self.request_list.get_current_key()
if len(self.request_list.selectionModel().selectedRows(0)) > 1:
key = None
else:
key = self.request_list.get_current_key()
req = self.wallet.get_request(key) if key else None
if req is None:
self.receive_e.setText('')

View File

@@ -84,6 +84,7 @@ class RequestList(MyTreeView):
self.setModel(self.proxy)
self.setSortingEnabled(True)
self.selectionModel().currentRowChanged.connect(self.item_changed)
self.selectionModel().selectionChanged.connect(self.selection_changed)
self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
def set_current_key(self, key):
@@ -98,14 +99,16 @@ class RequestList(MyTreeView):
def get_current_key(self):
return self.get_role_data_for_current_item(col=self.Columns.DATE, role=ROLE_KEY)
def selection_changed(self, selected, deselected):
self.receive_tab.update_current_request()
def item_changed(self, idx: Optional[QModelIndex]):
if idx is None:
self.receive_tab.update_current_request()
return
if not idx.isValid():
return
# TODO use siblingAtColumn when min Qt version is >=5.11
item = self.item_from_index(idx.sibling(idx.row(), self.Columns.DATE))
item = self.item_from_index(idx.siblingAtColumn(self.Columns.DATE))
key = item.data(ROLE_KEY)
req = self.wallet.get_request(key)
if req is None:
@@ -186,8 +189,7 @@ class RequestList(MyTreeView):
menu.exec(self.viewport().mapToGlobal(position))
return
idx = self.indexAt(position)
# TODO use siblingAtColumn when min Qt version is >=5.11
item = self.item_from_index(idx.sibling(idx.row(), self.Columns.DATE))
item = self.item_from_index(idx.siblingAtColumn(self.Columns.DATE))
if not item:
return
key = item.data(ROLE_KEY)