1
0

Fix merge conflict

This commit is contained in:
Maran
2013-03-12 21:27:27 +01:00
6 changed files with 74 additions and 44 deletions

View File

@@ -326,6 +326,9 @@ class ElectrumWindow(QMainWindow):
# set initial message
self.console.showMessage(self.wallet.banner)
# plugins that need to change the GUI do it here
self.run_hook('init')
# plugins
def init_plugins(self):
@@ -358,7 +361,8 @@ class ElectrumWindow(QMainWindow):
if callback in h: h.remove(callback)
self.plugin_hooks[name] = h
def run_hook(self, name, args):
def run_hook(self, name, args = ()):
args = (self,) + args
for cb in self.plugin_hooks.get(name,[]):
apply(cb, args)
@@ -374,8 +378,8 @@ class ElectrumWindow(QMainWindow):
if old_text:
self.wallet.labels.pop(name)
changed = True
self.run_hook('set_label', (name, text, changed))
self.run_hook('set_label', (name, text, changed,))
return changed
@@ -399,14 +403,14 @@ class ElectrumWindow(QMainWindow):
def close(self):
QMainWindow.close(self)
self.run_hook('close_main_window', (self,))
self.run_hook('close_main_window')
def connect_slots(self, sender):
self.connect(sender, QtCore.SIGNAL('timersignal'), self.timer_actions)
self.previous_payto_e=''
def timer_actions(self):
self.run_hook('timer_actions', (self,))
self.run_hook('timer_actions')
if self.payto_e.hasFocus():
return
@@ -601,11 +605,11 @@ class ElectrumWindow(QMainWindow):
self.current_item_changed(item)
self.run_hook('item_changed',(self, item, column))
self.run_hook('item_changed', (item, column))
def current_item_changed(self, a):
self.run_hook('current_item_changed',(self, a))
self.run_hook('current_item_changed', (a,))
@@ -751,7 +755,7 @@ class ElectrumWindow(QMainWindow):
self.amount_e.textChanged.connect(lambda: entry_changed(False) )
self.fee_e.textChanged.connect(lambda: entry_changed(True) )
self.run_hook('create_send_tab',(self,grid))
self.run_hook('create_send_tab', (grid,))
return w2
@@ -811,7 +815,7 @@ class ElectrumWindow(QMainWindow):
self.show_message(str(e))
return
self.run_hook('send_tx', (self.wallet, self, tx))
self.run_hook('send_tx', (tx,))
if label:
self.set_label(tx.hash(), label)
@@ -1007,7 +1011,7 @@ class ElectrumWindow(QMainWindow):
t = _("Unprioritize") if addr in self.wallet.prioritized_addresses else _("Prioritize")
menu.addAction(t, lambda: self.toggle_priority(addr))
self.run_hook('receive_menu', (self, menu,))
self.run_hook('receive_menu', (menu,))
menu.exec_(self.receive_list.viewport().mapToGlobal(position))
@@ -1064,7 +1068,7 @@ class ElectrumWindow(QMainWindow):
label = self.wallet.labels.get(address,'')
item.setData(1,0,label)
self.run_hook('update_receive_item', (self, address, item))
self.run_hook('update_receive_item', (address, item))
c, u = self.wallet.get_addr_balance(address)
balance = format_satoshis( c + u, False, self.wallet.num_zeros )
@@ -2041,7 +2045,7 @@ class ElectrumWindow(QMainWindow):
cb.setChecked(p.is_enabled())
cb.clicked.connect(mk_toggle(cb,p))
grid_plugins.addWidget(cb, i, 0)
grid_plugins.addWidget(HelpButton(description), i, 2)
grid_plugins.addWidget(HelpButton(description), i, 1)
except:
print_msg("Error: cannot display plugin", p)
traceback.print_exc(file=sys.stdout)

View File

@@ -1,12 +1,19 @@
# source: http://stackoverflow.com/questions/2758159/how-to-embed-a-python-interpreter-in-a-pyqt-widget
import sys, os, re
import traceback
import traceback, platform
from PyQt4 import QtCore
from PyQt4 import QtGui
from electrum import util
if platform.system() == 'Windows':
MONOSPACE_FONT = 'Lucida Console'
elif platform.system() == 'Darwin':
MONOSPACE_FONT = 'Monaco'
else:
MONOSPACE_FONT = 'monospace'
class Console(QtGui.QPlainTextEdit):
def __init__(self, prompt='>> ', startup_message='', parent=None):
@@ -20,7 +27,7 @@ class Console(QtGui.QPlainTextEdit):
self.setGeometry(50, 75, 600, 400)
self.setWordWrapMode(QtGui.QTextOption.WrapAnywhere)
self.setUndoRedoEnabled(False)
self.document().setDefaultFont(QtGui.QFont("monospace", 10, QtGui.QFont.Normal))
self.document().setDefaultFont(QtGui.QFont(MONOSPACE_FONT, 10, QtGui.QFont.Normal))
self.showMessage(startup_message)
self.updateNamespace({'run':self.run_script})