Merge pull request #9825 from accumulator/qt_no_request_details_when_multiple_selected
qt: don't show request details when multiple requests are selected in…
This commit is contained in:
@@ -224,7 +224,10 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger):
|
|||||||
self.receive_widget.update_visibility(b)
|
self.receive_widget.update_visibility(b)
|
||||||
|
|
||||||
def update_current_request(self):
|
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
|
req = self.wallet.get_request(key) if key else None
|
||||||
if req is None:
|
if req is None:
|
||||||
self.receive_e.setText('')
|
self.receive_e.setText('')
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ class RequestList(MyTreeView):
|
|||||||
self.setModel(self.proxy)
|
self.setModel(self.proxy)
|
||||||
self.setSortingEnabled(True)
|
self.setSortingEnabled(True)
|
||||||
self.selectionModel().currentRowChanged.connect(self.item_changed)
|
self.selectionModel().currentRowChanged.connect(self.item_changed)
|
||||||
|
self.selectionModel().selectionChanged.connect(self.selection_changed)
|
||||||
self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
|
self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
|
||||||
|
|
||||||
def set_current_key(self, key):
|
def set_current_key(self, key):
|
||||||
@@ -98,14 +99,16 @@ class RequestList(MyTreeView):
|
|||||||
def get_current_key(self):
|
def get_current_key(self):
|
||||||
return self.get_role_data_for_current_item(col=self.Columns.DATE, role=ROLE_KEY)
|
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]):
|
def item_changed(self, idx: Optional[QModelIndex]):
|
||||||
if idx is None:
|
if idx is None:
|
||||||
self.receive_tab.update_current_request()
|
self.receive_tab.update_current_request()
|
||||||
return
|
return
|
||||||
if not idx.isValid():
|
if not idx.isValid():
|
||||||
return
|
return
|
||||||
# TODO use siblingAtColumn when min Qt version is >=5.11
|
item = self.item_from_index(idx.siblingAtColumn(self.Columns.DATE))
|
||||||
item = self.item_from_index(idx.sibling(idx.row(), self.Columns.DATE))
|
|
||||||
key = item.data(ROLE_KEY)
|
key = item.data(ROLE_KEY)
|
||||||
req = self.wallet.get_request(key)
|
req = self.wallet.get_request(key)
|
||||||
if req is None:
|
if req is None:
|
||||||
@@ -186,8 +189,7 @@ class RequestList(MyTreeView):
|
|||||||
menu.exec(self.viewport().mapToGlobal(position))
|
menu.exec(self.viewport().mapToGlobal(position))
|
||||||
return
|
return
|
||||||
idx = self.indexAt(position)
|
idx = self.indexAt(position)
|
||||||
# TODO use siblingAtColumn when min Qt version is >=5.11
|
item = self.item_from_index(idx.siblingAtColumn(self.Columns.DATE))
|
||||||
item = self.item_from_index(idx.sibling(idx.row(), self.Columns.DATE))
|
|
||||||
if not item:
|
if not item:
|
||||||
return
|
return
|
||||||
key = item.data(ROLE_KEY)
|
key = item.data(ROLE_KEY)
|
||||||
|
|||||||
Reference in New Issue
Block a user