UI/ErrorLogDialog.py

Sat, 13 Jun 2015 19:27:40 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 13 Jun 2015 19:27:40 +0200
branch
6_0_x
changeset 4280
9556c261c3a2
parent 4022
f5f42921717e
child 4631
5c1a96925da4
permissions
-rw-r--r--

Fixed issues where dialogs could not be minimized on some desktop environments.
(grafted from ccd1e13cb9bd9d3f12710c888c3bbac5c6baf140)

1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
4022
f5f42921717e Updated copyright for 2015.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
3 # Copyright (c) 2012 - 2015 Detlev Offenbach <detlev@die-offenbachs.de>
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to display an error log.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3145
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3142
diff changeset
10 from __future__ import unicode_literals
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
11
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import os
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
4280
9556c261c3a2 Fixed issues where dialogs could not be minimized on some desktop environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4022
diff changeset
14 from PyQt5.QtCore import pyqtSlot, Qt
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
15 from PyQt5.QtWidgets import QDialog, QStyle
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from .Ui_ErrorLogDialog import Ui_ErrorLogDialog
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 class ErrorLogDialog(QDialog, Ui_ErrorLogDialog):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Class implementing a dialog to display an error log.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
24 def __init__(self, logFile, showMode, parent=None):
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Constructor
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param logFile name of the log file containing the error info (string)
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
29 @param showMode flag indicating to just show the error log message
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
30 (boolean)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param parent reference to the parent widget (QWidget)
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
33 super(ErrorLogDialog, self).__init__(parent)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.setupUi(self)
4280
9556c261c3a2 Fixed issues where dialogs could not be minimized on some desktop environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4022
diff changeset
35 self.setWindowFlags(Qt.Window)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
3012
d177226027e2 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
37 pixmap = self.style().standardIcon(QStyle.SP_MessageBoxQuestion)\
d177226027e2 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
38 .pixmap(32, 32)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.icon.setPixmap(pixmap)
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
41 if showMode:
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
42 self.icon.hide()
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
43 self.label.hide()
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
44 self.deleteButton.setText(self.tr("Delete"))
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
45 self.keepButton.setText(self.tr("Close"))
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
46 self.setWindowTitle(self.tr("Error Log"))
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
47
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.__ui = parent
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.__logFile = logFile
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 try:
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 f = open(logFile, "r", encoding="utf-8")
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 txt = f.read()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 f.close()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.logEdit.setPlainText(txt)
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 except IOError:
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 pass
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 def on_emailButton_clicked(self):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 Private slot to send an email.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
1745
74c05a1ca2bc Fixed an issue with the new error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1740
diff changeset
64 self.accept()
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3012
diff changeset
65 self.__ui.showEmailDialog(
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3012
diff changeset
66 "bug", attachFile=self.__logFile, deleteAttachFile=True)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 def on_deleteButton_clicked(self):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 Private slot to delete the log file.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 """
1740
6a92ffd41de8 Fixed an issue in the error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1726
diff changeset
73 if os.path.exists(self.__logFile):
6a92ffd41de8 Fixed an issue in the error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1726
diff changeset
74 os.remove(self.__logFile)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.accept()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 def on_keepButton_clicked(self):
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 Private slot to just do nothing.
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.accept()

eric ide

mercurial