from PyQt4.QtCore import *
import os.path
import time
-
+import traceback
+import sys
import threading
class WaitingDialog(QThread):
self.d.show()
def run(self):
- self.result = self.run_task()
+ self.error = None
+ 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'))
def close(self):
self.d.accept()
+ if self.error:
+ QMessageBox.warning(self.parent, _('Error'), self.error, _('OK'))
+ return
+
if self.on_complete:
self.on_complete(*self.result)
return hbox
def text_dialog(parent, title, label, ok_label, default=None):
+ from qrtextedit import QRTextEdit
dialog = QDialog(parent)
dialog.setMinimumWidth(500)
dialog.setWindowTitle(title)
l = QVBoxLayout()
dialog.setLayout(l)
l.addWidget(QLabel(label))
- txt = QTextEdit()
+ txt = QRTextEdit()
if default:
txt.setText(default)
l.addWidget(txt)