close method

This commit is contained in:
ThomasV 2014-05-26 05:40:04 +02:00
parent 40b3b47d5b
commit 17ff5d162d
2 changed files with 12 additions and 5 deletions

View File

@ -855,7 +855,8 @@ class ElectrumWindow(QMainWindow):
self.broadcast_transaction(tx)
WaitingDialog(self, 'Signing..', sign_thread, sign_done).start()
self.waiting_dialog = WaitingDialog(self, 'Signing..', sign_thread, sign_done)
self.waiting_dialog.start()

View File

@ -9,21 +9,26 @@ import threading
class WaitingDialog(QThread):
def __init__(self, parent, message, run_task, on_complete=None):
QThread.__init__(self)
self.parent = parent
self.d = QDialog(parent)
self.d.setWindowTitle('Please wait')
l = QLabel(message)
vbox = QVBoxLayout(self.d)
vbox.addWidget(l)
self.run_task = run_task
if on_complete:
self.d.connect(self.d, SIGNAL('done'), lambda: on_complete(*self.result))
self.on_complete = on_complete
self.d.connect(self.d, SIGNAL('done'), self.close)
self.d.show()
def run(self):
self.result = self.run_task()
self.d.emit(SIGNAL('done'))
def close(self):
self.d.accept()
if self.on_complete:
self.on_complete(*self.result)
class Timer(QThread):
@ -184,5 +189,6 @@ class MyTreeWidget(QTreeWidget):
if __name__ == "__main__":
app = QApplication([])
WaitingDialog(None, 'testing ...', lambda: [time.sleep(1)], lambda x: QMessageBox.information(None, 'done', "done", _('OK'))).start()
t = WaitingDialog(None, 'testing ...', lambda: [time.sleep(1)], lambda x: QMessageBox.information(None, 'done', "done", _('OK')))
t.start()
app.exec_()