simplified dialog for new file name
[electrum-nvc.git] / gui / qt / util.py
index 9139136..c021e8b 100644 (file)
@@ -3,7 +3,8 @@ from PyQt4.QtGui import *
 from PyQt4.QtCore import *
 import os.path
 import time
-
+import traceback
+import sys
 import threading
 
 class WaitingDialog(QThread):
@@ -25,6 +26,7 @@ class WaitingDialog(QThread):
         try:
             self.result = self.run_task()
         except Exception as e:
+            traceback.print_exc(file=sys.stdout)
             self.error = str(e)
         self.d.emit(SIGNAL('done'))
 
@@ -35,7 +37,10 @@ class WaitingDialog(QThread):
             return
 
         if self.on_complete:
-            self.on_complete(*self.result)
+            if type(self.result) is tuple:
+                self.on_complete(*self.result)
+            else:
+                self.on_complete(self.result)
 
 
 
@@ -105,6 +110,22 @@ def ok_cancel_buttons(dialog, ok_label=_("OK") ):
     hbox, b = ok_cancel_buttons2(dialog, ok_label)
     return hbox
 
+def line_dialog(parent, title, label, ok_label, default=None):
+    dialog = QDialog(parent)
+    dialog.setMinimumWidth(500)
+    dialog.setWindowTitle(title)
+    dialog.setModal(1)
+    l = QVBoxLayout()
+    dialog.setLayout(l)
+    l.addWidget(QLabel(label))
+    txt = QLineEdit()
+    if default:
+        txt.setText(default)
+    l.addWidget(txt)
+    l.addLayout(ok_cancel_buttons(dialog, ok_label))
+    if dialog.exec_():
+        return unicode(txt.text())
+
 def text_dialog(parent, title, label, ok_label, default=None):
     from qrtextedit import QRTextEdit
     dialog = QDialog(parent)