diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py index 8c02e36a..379d0c4e 100644 --- a/gui/qt/main_window.py +++ b/gui/qt/main_window.py @@ -56,12 +56,6 @@ import csv -# status of payment requests -PR_UNPAID = 0 -PR_EXPIRED = 1 -PR_SENT = 2 # sent but not propagated -PR_PAID = 3 # send and propagated -PR_ERROR = 4 # could not parse from electrum import ELECTRUM_VERSION @@ -71,13 +65,6 @@ from util import MyTreeWidget, HelpButton, EnterButton, line_dialog, text_dialog from util import filename_field, ok_cancel_buttons2, address_field from util import MONOSPACE_FONT -def format_status(x): - if x == PR_UNPAID: - return _('Unpaid') - elif x == PR_PAID: - return _('Paid') - elif x == PR_EXPIRED: - return _('Expired') class StatusBarButton(QPushButton): @@ -96,15 +83,32 @@ class StatusBarButton(QPushButton): +default_column_widths = { + "history":[40,140,350,140], + "contacts":[350,330], + "receive": [370,200,130] +} + +# status of payment requests +PR_UNPAID = 0 +PR_EXPIRED = 1 +PR_SENT = 2 # sent but not propagated +PR_PAID = 3 # send and propagated +PR_ERROR = 4 # could not parse + +pr_icons = { + PR_UNPAID:":icons/unpaid.png", + PR_PAID:":icons/confirmed.png", + PR_EXPIRED:":icons/expired.png" +} +pr_tooltips = { + PR_UNPAID:_('Unpaid'), + PR_PAID:_('Paid'), + PR_EXPIRED:_('Expired') +} - - - - -default_column_widths = { "history":[40,140,350,140], "contacts":[350,330], "receive": [370,200,130] } - class ElectrumWindow(QMainWindow): labelsChanged = pyqtSignal() @@ -1350,13 +1354,14 @@ class ElectrumWindow(QMainWindow): def create_invoices_tab(self): - l, w = self.create_list_tab([_('Date'), _('Requestor'), _('Memo'), _('Amount'), _('Status')]) - l.setColumnWidth(0, 150) + l, w = self.create_list_tab([_('Status'), _('Date'), _('Requestor'), _('Memo'), _('Amount')]) + l.setColumnWidth(0, 60) l.setColumnWidth(1, 150) - l.setColumnWidth(3, 150) + l.setColumnWidth(2, 150) + l.setColumnWidth(4, 150) h = l.header() h.setStretchLastSection(False) - h.setResizeMode(2, QHeaderView.Stretch) + h.setResizeMode(3, QHeaderView.Stretch) l.setContextMenuPolicy(Qt.CustomContextMenu) l.customContextMenuRequested.connect(self.create_invoice_menu) self.invoices_list = l @@ -1371,9 +1376,12 @@ class ElectrumWindow(QMainWindow): if status == PR_UNPAID and expiration_date and expiration_date < time.time(): status = PR_EXPIRED date_str = datetime.datetime.fromtimestamp(expiration_date).isoformat(' ')[:-3] - item = QTreeWidgetItem( [ date_str, domain, memo, self.format_amount(amount, whitespaces=True), format_status(status)] ) + item = QTreeWidgetItem( [ '', date_str, domain, memo, self.format_amount(amount, whitespaces=True)] ) + icon = QIcon(pr_icons.get(status)) + item.setIcon(0, icon) + item.setToolTip(0, pr_tooltips.get(status,'')) item.setData(0, 32, key) - item.setFont(1, QFont(MONOSPACE_FONT)) + item.setFont(2, QFont(MONOSPACE_FONT)) item.setFont(3, QFont(MONOSPACE_FONT)) l.addTopLevelItem(item) l.setCurrentItem(l.topLevelItem(0)) diff --git a/icons.qrc b/icons.qrc index 97bae3b2..437f85b9 100644 --- a/icons.qrc +++ b/icons.qrc @@ -7,6 +7,7 @@ icons/clock4.png icons/clock5.png icons/confirmed.png + icons/expired.png icons/key.png icons/lock.png icons/unlock.png @@ -22,6 +23,7 @@ icons/electrum_light_icon.png icons/electrum_dark_icon.png icons/unconfirmed.png + icons/unpaid.png icons/network.png icons/dark_background.png icons/qrcode.png diff --git a/icons/expired.png b/icons/expired.png new file mode 100644 index 00000000..e0f3639d Binary files /dev/null and b/icons/expired.png differ diff --git a/icons/unpaid.png b/icons/unpaid.png new file mode 100644 index 00000000..6400b8ba Binary files /dev/null and b/icons/unpaid.png differ