from PyQt4.QtCore import *
import os.path
import time
-
+import traceback
+import sys
import threading
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'))
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)
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)