signal timer
This commit is contained in:
parent
13e757036b
commit
b9b5f1e58c
|
@ -1,4 +1,4 @@
|
|||
import sys
|
||||
import sys, time
|
||||
|
||||
# todo: see PySide
|
||||
|
||||
|
@ -7,22 +7,31 @@ from PyQt4.QtCore import *
|
|||
import PyQt4.QtCore as QtCore
|
||||
import PyQt4.QtGui as QtGui
|
||||
|
||||
from wallet import format_satoshis
|
||||
|
||||
def restore_create_dialog(wallet):
|
||||
pass
|
||||
|
||||
class Sender(QtCore.QThread):
|
||||
def run(self):
|
||||
while True:
|
||||
self.emit(QtCore.SIGNAL('testsignal'))
|
||||
time.sleep(0.5)
|
||||
|
||||
|
||||
class BitcoinWidget(QMainWindow):
|
||||
|
||||
def __init__(self, wallet):
|
||||
QMainWindow.__init__(self)
|
||||
self.wallet = wallet
|
||||
|
||||
tabs = QTabWidget(self)
|
||||
tabs.addTab(self.create_history_tab(), 'History')
|
||||
tabs.addTab(self.create_send_tab(), 'Send')
|
||||
tabs.addTab(self.create_receive_tab(), 'Receive')
|
||||
tabs.addTab(self.create_contacts_tab(),'Contacts')
|
||||
tabs.addTab(self.create_wall_tab(), 'Wall')
|
||||
tabs.resize(600, 400)
|
||||
tabs.setMinimumSize(600, 400)
|
||||
tabs.show()
|
||||
|
||||
self.create_status_bar()
|
||||
|
@ -31,6 +40,26 @@ class BitcoinWidget(QMainWindow):
|
|||
self.setWindowTitle( 'Electrum ' + self.wallet.electrum_version )
|
||||
self.show()
|
||||
|
||||
def connect_slots(self, sender):
|
||||
self.connect(sender, QtCore.SIGNAL('testsignal'), self.update_wallet)
|
||||
|
||||
def update_wallet(self):
|
||||
if self.wallet.interface.is_connected:
|
||||
if self.wallet.interface.blocks == 0:
|
||||
text = "Server not ready"
|
||||
elif not self.wallet.interface.was_polled:
|
||||
text = "Synchronizing..."
|
||||
else:
|
||||
c, u = self.wallet.get_balance()
|
||||
text = "Balance: %s "%( format_satoshis(c) )
|
||||
if u: text += "[%s unconfirmed]"%( format_satoshis(u,True) )
|
||||
else:
|
||||
text = "Not connected"
|
||||
self.statusBar().showMessage(text)
|
||||
|
||||
if self.wallet.interface.was_updated:
|
||||
self.textbox.setText( self.wallet.interface.message )
|
||||
self.wallet.interface.was_updated = False
|
||||
|
||||
def create_history_tab(self):
|
||||
h = [ 'ff', 'bar' ]
|
||||
|
@ -50,13 +79,14 @@ class BitcoinWidget(QMainWindow):
|
|||
return QLabel('heh')
|
||||
|
||||
def create_wall_tab(self):
|
||||
return QLabel(self.wallet.interface.message)
|
||||
self.textbox = textbox = QTextEdit(self)
|
||||
textbox.setReadOnly(True)
|
||||
return textbox
|
||||
|
||||
def create_status_bar(self):
|
||||
sb = QStatusBar()
|
||||
sb.setFixedHeight(18)
|
||||
self.setStatusBar(sb)
|
||||
self.statusBar().showMessage(self.tr("test"))
|
||||
|
||||
|
||||
class BitcoinGUI():
|
||||
|
@ -65,9 +95,11 @@ class BitcoinGUI():
|
|||
self.wallet = wallet
|
||||
|
||||
def main(self):
|
||||
|
||||
s = Sender()
|
||||
s.start()
|
||||
app = QApplication(sys.argv)
|
||||
w = BitcoinWidget(self.wallet)
|
||||
w.connect_slots(s)
|
||||
app.exec_()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue