tadd status icons for invoices - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 270c60b3c8b26f9767446e52c053d4c3e1d61c64 DIR parent 99f5d368e64334b7c2cb9cb1499fcd2d08e0d5b7 HTML Author: ThomasV <thomasv@gitorious> Date: Tue, 11 Nov 2014 15:51:39 +0100 add status icons for invoices Diffstat: M gui/qt/main_window.py | 54 ++++++++++++++++++------------- M icons.qrc | 2 ++ A icons/expired.png | 0 A icons/unpaid.png | 0 4 files changed, 33 insertions(+), 23 deletions(-) --- DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py t@@ -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 t@@ -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): t@@ -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() t@@ -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 t@@ -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)) DIR diff --git a/icons.qrc b/icons.qrc t@@ -7,6 +7,7 @@ <file>icons/clock4.png</file> <file>icons/clock5.png</file> <file>icons/confirmed.png</file> + <file>icons/expired.png</file> <file>icons/key.png</file> <file>icons/lock.png</file> <file>icons/unlock.png</file> t@@ -22,6 +23,7 @@ <file>icons/electrum_light_icon.png</file> <file>icons/electrum_dark_icon.png</file> <file>icons/unconfirmed.png</file> + <file>icons/unpaid.png</file> <file>icons/network.png</file> <file>icons/dark_background.png</file> <file>icons/qrcode.png</file> DIR diff --git a/icons/expired.png b/icons/expired.png Binary files differ. DIR diff --git a/icons/unpaid.png b/icons/unpaid.png Binary files differ.