rework exchange_rate hooks

This commit is contained in:
ThomasV 2015-09-05 09:11:48 +02:00
parent 0ef7320d7d
commit 015e274dab
3 changed files with 20 additions and 26 deletions

View File

@ -32,7 +32,7 @@ version.filename = %(source.dir)s/lib/version.py
#version = 1.9.8 #version = 1.9.8
# (list) Application requirements # (list) Application requirements
requirements = tlslite, openssl, pyopenssl, pil, qrcode, ecdsa, pbkdf2, pyasn1, pyasn1-modules, plyer==master, kivy==master requirements = requests, dnspython, openssl, pil, qrcode, ecdsa, pbkdf2, plyer==master, kivy==master
# (str) Presplash of the application # (str) Presplash of the application
presplash.filename = %(source.dir)s/gui/kivy/theming/splash.png presplash.filename = %(source.dir)s/gui/kivy/theming/splash.png

View File

@ -28,7 +28,9 @@ from electrum.plugins import run_hook
class HistoryWidget(MyTreeWidget): class HistoryWidget(MyTreeWidget):
def __init__(self, parent=None): def __init__(self, parent=None):
MyTreeWidget.__init__(self, parent, self.create_menu, ['', '', _('Date'), _('Description') , _('Amount'), _('Balance')], 3) headers = ['', '', _('Date'), _('Description') , _('Amount'), _('Balance')]
run_hook('history_tab_headers', headers)
MyTreeWidget.__init__(self, parent, self.create_menu, headers, 3)
self.setColumnHidden(1, True) self.setColumnHidden(1, True)
self.config = self.parent.config self.config = self.parent.config
self.setSortingEnabled(False) self.setSortingEnabled(False)
@ -63,11 +65,12 @@ class HistoryWidget(MyTreeWidget):
v_str = self.parent.format_amount(value, True, whitespaces=True) v_str = self.parent.format_amount(value, True, whitespaces=True)
balance_str = self.parent.format_amount(balance, whitespaces=True) balance_str = self.parent.format_amount(balance, whitespaces=True)
label, is_default_label = self.wallet.get_label(tx_hash) label, is_default_label = self.wallet.get_label(tx_hash)
item = EditableItem(['', tx_hash, time_str, label, v_str, balance_str]) entry = ['', tx_hash, time_str, label, v_str, balance_str]
run_hook('history_tab_update', tx, entry)
item = EditableItem(entry)
item.setIcon(0, icon) item.setIcon(0, icon)
item.setFont(3, QFont(MONOSPACE_FONT)) for i in range(len(entry)):
item.setFont(4, QFont(MONOSPACE_FONT)) item.setFont(i, QFont(MONOSPACE_FONT))
item.setFont(5, QFont(MONOSPACE_FONT))
if value < 0: if value < 0:
item.setForeground(4, QBrush(QColor("#BC1E1E"))) item.setForeground(4, QBrush(QColor("#BC1E1E")))
if tx_hash: if tx_hash:
@ -78,7 +81,6 @@ class HistoryWidget(MyTreeWidget):
if current_tx == tx_hash: if current_tx == tx_hash:
self.setCurrentItem(item) self.setCurrentItem(item)
entries.append((item, tx)) entries.append((item, tx))
run_hook('history_tab_update', self.parent, entries)
def update_item(self, tx_hash, conf, timestamp): def update_item(self, tx_hash, conf, timestamp):
icon, time_str = self.get_icon(conf, timestamp) icon, time_str = self.get_icon(conf, timestamp)

View File

@ -337,27 +337,19 @@ class Plugin(BasePlugin):
return True return True
@hook @hook
def history_tab_update(self, window, entries): def history_tab_headers(self, headers):
headers.append(_('Fiat Amount'))
@hook
def history_tab_update(self, tx, entry):
if not self.config_history(): if not self.config_history():
return return
history_list = window.history_list tx_hash, conf, value, timestamp, balance = tx
history_list.setColumnCount(7) date = timestamp_to_datetime(timestamp)
# For unclear reasons setting this column to ResizeToContents if not date:
# makes e.g. label editing very slow date = timestmap_to_datetime(0)
history_list.setColumnWidth(6, 130) text = self.exchange.historical_value_str(self.fiat_unit(), value, date)
#window.history_list.header().setResizeMode(6, QHeaderView.ResizeToConte entry.append("%16s"%text)
history_list.setHeaderLabels([ '', '', _('Date'), _('Description') , _('Amount'), _('Balance'), _('Fiat Amount')] )
for item, tx in entries:
tx_hash, conf, value, timestamp, balance = tx
date = timestamp_to_datetime(timestamp)
if not date:
date = timestmap_to_datetime(0)
text = self.exchange.historical_value_str(self.fiat_unit(),
value, date)
item.setText(6, "%16s" % text)
item.setFont(6, QFont(MONOSPACE_FONT))
if value < 0:
item.setForeground(6, QBrush(QColor("#BC1E1E")))
def settings_widget(self, window): def settings_widget(self, window):
return EnterButton(_('Settings'), self.settings_dialog) return EnterButton(_('Settings'), self.settings_dialog)