Browse Source

qt receive tab: better "Clear" behaviour

Previously, the selection would not get cleared, and if the user clicked
again on the already selected item, the click would get ignored
(request would not get populated).
master
SomberNight 6 years ago
parent
commit
4c2e1970f2
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 1
      electrum/gui/qt/main_window.py
  2. 10
      electrum/gui/qt/request_list.py

1
electrum/gui/qt/main_window.py

@ -1206,6 +1206,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
self.receive_amount_e.setAmount(None) self.receive_amount_e.setAmount(None)
self.expires_label.hide() self.expires_label.hide()
self.expires_combo.show() self.expires_combo.show()
self.request_list.clearSelection()
def toggle_qr_window(self): def toggle_qr_window(self):
from . import qrwindow from . import qrwindow

10
electrum/gui/qt/request_list.py

@ -27,7 +27,7 @@ from enum import IntEnum
from PyQt5.QtGui import QStandardItemModel, QStandardItem from PyQt5.QtGui import QStandardItemModel, QStandardItem
from PyQt5.QtWidgets import QMenu from PyQt5.QtWidgets import QMenu
from PyQt5.QtCore import Qt, QItemSelectionModel from PyQt5.QtCore import Qt, QItemSelectionModel, QModelIndex
from electrum.i18n import _ from electrum.i18n import _
from electrum.util import format_time, get_request_status from electrum.util import format_time, get_request_status
@ -75,7 +75,9 @@ class RequestList(MyTreeView):
self.selectionModel().setCurrentIndex(item, QItemSelectionModel.SelectCurrent | QItemSelectionModel.Rows) self.selectionModel().setCurrentIndex(item, QItemSelectionModel.SelectCurrent | QItemSelectionModel.Rows)
break break
def item_changed(self, idx): def item_changed(self, idx: QModelIndex):
if not idx.isValid():
return
# TODO use siblingAtColumn when min Qt version is >=5.11 # TODO use siblingAtColumn when min Qt version is >=5.11
item = self.model().itemFromIndex(idx.sibling(idx.row(), self.Columns.DATE)) item = self.model().itemFromIndex(idx.sibling(idx.row(), self.Columns.DATE))
request_type = item.data(ROLE_REQUEST_TYPE) request_type = item.data(ROLE_REQUEST_TYPE)
@ -91,6 +93,10 @@ class RequestList(MyTreeView):
self.parent.receive_payreq_e.setText(req.get('URI')) self.parent.receive_payreq_e.setText(req.get('URI'))
self.parent.receive_address_e.setText(req['address']) self.parent.receive_address_e.setText(req['address'])
def clearSelection(self):
super().clearSelection()
self.selectionModel().clearCurrentIndex()
def refresh_status(self): def refresh_status(self):
m = self.model() m = self.model()
for r in range(m.rowCount()): for r in range(m.rowCount()):

Loading…
Cancel
Save