diff --git a/openlp.pyw b/openlp.pyw
index 8d20080c9..4704a8740 100755
--- a/openlp.pyw
+++ b/openlp.pyw
@@ -196,6 +196,7 @@ class OpenLP(QtGui.QApplication):
self.mainWindow.repaint()
update_check = QtCore.QSettings().value(
u'general/update check', QtCore.QVariant(True)).toBool()
+ a=c
if update_check:
VersionThread(self.mainWindow, app_version).start()
return self.exec_()
diff --git a/openlp/core/ui/exceptiondialog.py b/openlp/core/ui/exceptiondialog.py
index 69035dc4d..9e9b558df 100644
--- a/openlp/core/ui/exceptiondialog.py
+++ b/openlp/core/ui/exceptiondialog.py
@@ -46,6 +46,15 @@ class Ui_ExceptionDialog(object):
self.messageLabel.setObjectName(u'messageLabel')
self.messageLayout.addWidget(self.messageLabel)
self.exceptionLayout.addLayout(self.messageLayout)
+ self.descriptionExplanation = QtGui.QLabel(exceptionDialog)
+ self.descriptionExplanation.setObjectName(u'descriptionExplanation')
+ self.exceptionLayout.addWidget(self.descriptionExplanation)
+ self.descriptionTextEdit = QtGui.QPlainTextEdit(exceptionDialog)
+ self.descriptionTextEdit.setObjectName(u'descriptionTextEdit')
+ self.exceptionLayout.addWidget(self.descriptionTextEdit)
+ self.descriptionWordCount = QtGui.QLabel(exceptionDialog)
+ self.descriptionWordCount.setObjectName(u'descriptionWordCount')
+ self.exceptionLayout.addWidget(self.descriptionWordCount)
self.exceptionTextEdit = QtGui.QPlainTextEdit(exceptionDialog)
self.exceptionTextEdit.setReadOnly(True)
self.exceptionTextEdit.setObjectName(u'exceptionTextEdit')
@@ -65,19 +74,31 @@ class Ui_ExceptionDialog(object):
self.saveReportButton.setObjectName(u'saveReportButton')
self.exceptionButtonBox.addButton(self.saveReportButton,
QtGui.QDialogButtonBox.ActionRole)
+ self.attachFileButton = QtGui.QPushButton(exceptionDialog)
+ self.attachFileButton.setIcon(build_icon(u':/general/general_open.png'))
+ self.attachFileButton.setObjectName(u'attachFileButton')
+ self.exceptionButtonBox.addButton(self.attachFileButton,
+ QtGui.QDialogButtonBox.ActionRole)
self.retranslateUi(exceptionDialog)
+ QtCore.QObject.connect(self.descriptionTextEdit,
+ QtCore.SIGNAL(u'textChanged()'), self.onDescriptionUpdated)
QtCore.QObject.connect(self.exceptionButtonBox,
QtCore.SIGNAL(u'rejected()'), exceptionDialog.reject)
QtCore.QObject.connect(self.sendReportButton,
QtCore.SIGNAL(u'pressed()'), self.onSendReportButtonPressed)
QtCore.QObject.connect(self.saveReportButton,
QtCore.SIGNAL(u'pressed()'), self.onSaveReportButtonPressed)
+ QtCore.QObject.connect(self.attachFileButton,
+ QtCore.SIGNAL(u'pressed()'), self.onAttachFileButtonPressed)
QtCore.QMetaObject.connectSlotsByName(exceptionDialog)
def retranslateUi(self, exceptionDialog):
exceptionDialog.setWindowTitle(
translate('OpenLP.ExceptionDialog', 'Error Occurred'))
+ self.descriptionExplanation.setText(translate('OpenLP.ExceptionDialog',
+ 'Please enter a description of what you were doing to cause this '
+ 'error'))
self.messageLabel.setText(translate('OpenLP.ExceptionDialog', 'Oops! '
'OpenLP hit a problem, and couldn\'t recover. The text in the box '
'below contains information that might be helpful to the OpenLP '
@@ -88,3 +109,5 @@ class Ui_ExceptionDialog(object):
'Send E-Mail'))
self.saveReportButton.setText(translate('OpenLP.ExceptionDialog',
'Save to File'))
+ self.attachFileButton.setText(translate('OpenLP.ExceptionDialog',
+ 'Attach File'))
diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py
index 347bcf8f1..ff37770d2 100644
--- a/openlp/core/ui/exceptionform.py
+++ b/openlp/core/ui/exceptionform.py
@@ -70,8 +70,13 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
self.setupUi(self)
self.settingsSection = u'crashreport'
+ def exec_(self):
+ self.onDescriptionUpdated()
+ return QtGui.QDialog.exec_(self)
+
def _createReport(self):
openlp_version = self.parent().applicationVersion[u'full']
+ description = unicode(self.descriptionTextEdit.toPlainText())
traceback = unicode(self.exceptionTextEdit.toPlainText())
system = unicode(translate('OpenLP.ExceptionForm',
'Platform: %s\n')) % platform.platform()
@@ -90,7 +95,7 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
system = system + u'Desktop: KDE SC\n'
elif os.environ.get(u'GNOME_DESKTOP_SESSION_ID'):
system = system + u'Desktop: GNOME\n'
- return (openlp_version, traceback, system, libraries)
+ return (openlp_version, description, traceback, system, libraries)
def onSaveReportButtonPressed(self):
"""
@@ -99,6 +104,7 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
report = unicode(translate('OpenLP.ExceptionForm',
'**OpenLP Bug Report**\n'
'Version: %s\n\n'
+ '--- Details of the Exception. ---\n\n%s\n\n '
'--- Exception Traceback ---\n%s\n'
'--- System information ---\n%s\n'
'--- Library Versions ---\n%s\n'))
@@ -129,10 +135,11 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
Opening systems default email client and inserting exception log and
system informations.
"""
+ attach = None
body = unicode(translate('OpenLP.ExceptionForm',
'*OpenLP Bug Report*\n'
'Version: %s\n\n'
- '--- Please enter the report below this line. ---\n\n\n'
+ '--- Details of the Exception. ---\n\n%s\n\n '
'--- Exception Traceback ---\n%s\n'
'--- System information ---\n%s\n'
'--- Library Versions ---\n%s\n',
@@ -145,5 +152,20 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
if u':' in line:
exception = line.split(u'\n')[-1].split(u':')[0]
subject = u'Bug report: %s in %s' % (exception, source)
- mailto(address=u'bugs@openlp.org', subject=subject,
- body=body % content)
+ if attach:
+ mailto(address=u'bugs@openlp.org', subject=subject,
+ body=body % content, attach=attach)
+ else:
+ mailto(address=u'bugs@openlp.org', subject=subject,
+ body=body % content)
+
+ def onDescriptionUpdated(self):
+ count = int(20 - len(self.descriptionTextEdit.toPlainText()))
+ if count < 0:
+ count = 0
+ self.descriptionWordCount.setText(
+ unicode(translate('OpenLP.ExceptionDialog',
+ 'Characters to Enter : %s')) % count )
+
+ def onAttachFileButtonPressed(self):
+ print self.descriptionTextEdit.toPlainText()
diff --git a/resources/forms/exceptiondialog.ui b/resources/forms/exceptiondialog.ui
index f6f15cdc7..9fd138092 100644
--- a/resources/forms/exceptiondialog.ui
+++ b/resources/forms/exceptiondialog.ui
@@ -13,82 +13,128 @@
Dialog
-
-
- 8
+
+
+
+ 8
+ 194
+ 564
+ 171
+
-
- 8
+
+ true
- -
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 64
- 64
-
-
-
-
- 64
- 64
-
-
-
-
-
-
- :/graphics/exception.png
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.
-
-
- true
-
-
-
-
-
- -
-
-
- true
-
-
- false
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QDialogButtonBox::Close
-
-
-
-
+
+ false
+
+
+
+
+
+ 8
+ 373
+ 83
+ 26
+
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Close
+
+
+
+
+
+ 8
+ 103
+ 561
+ 71
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ 10
+ 170
+ 301
+ 17
+
+
+
+ TextLabel
+
+
+
+
+
+ 10
+ 80
+ 59
+ 17
+
+
+
+ TextLabel
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 64
+ 64
+
+
+
+
+ 64
+ 64
+
+
+
+
+
+
+ :/graphics/exception.png
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.
+
+
+ true
+
+
+
+
+