eric7/UI/ErrorLogDialog.py

Sun, 16 May 2021 20:07:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 May 2021 20:07:24 +0200
branch
eric7
changeset 8318
962bce857696
parent 8312
800c432b34c8
child 8881
54e42bc2437a
permissions
-rw-r--r--

Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.

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
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7836
diff changeset
3 # Copyright (c) 2012 - 2021 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
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
11 import contextlib
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
13 from PyQt6.QtCore import pyqtSlot, Qt
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
14 from PyQt6.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
15
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 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
17
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 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
20 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 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
22 """
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
23 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
24 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @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
28 @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
29 (boolean)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @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
31 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
32 super().__init__(parent)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
34 self.setWindowFlags(Qt.WindowType.Window)
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
7264
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
36 pixmap = (
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
37 self.style().standardIcon(
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
38 QStyle.StandardPixmap.SP_MessageBoxQuestion)
3012
d177226027e2 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
39 .pixmap(32, 32)
7264
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
40 )
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 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
42
3092
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
43 if showMode:
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
44 self.icon.hide()
f7ec7a3e7270 Added a dialog to show the most recent error log.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3030
diff changeset
45 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
46 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
47 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
48 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
49
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__ui = parent
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.__logFile = logFile
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
8243
cc717c2ae956 Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
53 with contextlib.suppress(OSError):
7785
9978016560ec Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
54 with open(logFile, "r", encoding="utf-8") as f:
9978016560ec Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
55 txt = f.read()
1726
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 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
57
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 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
60 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 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
62 """
1745
74c05a1ca2bc Fixed an issue with the new error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1740
diff changeset
63 self.accept()
3030
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3012
diff changeset
64 self.__ui.showEmailDialog(
4a0a82ddd9d2 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3012
diff changeset
65 "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
66
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 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
69 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 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
71 """
1740
6a92ffd41de8 Fixed an issue in the error log dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1726
diff changeset
72 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
73 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
74 self.accept()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 @pyqtSlot()
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 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
78 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 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
80 """
5d3132740ece Added a dialog to show a saved error log upon startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.accept()

eric ide

mercurial