8 process. |
8 process. |
9 """ |
9 """ |
10 |
10 |
11 import os |
11 import os |
12 import tempfile |
12 import tempfile |
|
13 import contextlib |
13 |
14 |
14 from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer, QSize |
15 from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer, QSize |
15 from PyQt5.QtGui import QTextCursor |
16 from PyQt5.QtGui import QTextCursor |
16 from PyQt5.QtWidgets import ( |
17 from PyQt5.QtWidgets import ( |
17 QWidget, QDialogButtonBox, QMenu, QHeaderView, QTreeWidgetItem, QLineEdit, |
18 QWidget, QDialogButtonBox, QMenu, QHeaderView, QTreeWidgetItem, QLineEdit, |
1068 """ |
1069 """ |
1069 Private slot to generate diff outputs for the selected item. |
1070 Private slot to generate diff outputs for the selected item. |
1070 """ |
1071 """ |
1071 self.lDiffEdit.clear() |
1072 self.lDiffEdit.clear() |
1072 self.rDiffEdit.clear() |
1073 self.rDiffEdit.clear() |
1073 try: |
1074 with contextlib.suppress(AttributeError): |
1074 self.lDiffHighlighter.regenerateRules() |
1075 self.lDiffHighlighter.regenerateRules() |
1075 self.rDiffHighlighter.regenerateRules() |
1076 self.rDiffHighlighter.regenerateRules() |
1076 except AttributeError: |
|
1077 # backward compatibility |
|
1078 pass |
|
1079 |
1077 |
1080 selectedItems = self.statusList.selectedItems() |
1078 selectedItems = self.statusList.selectedItems() |
1081 if len(selectedItems) == 1: |
1079 if len(selectedItems) == 1: |
1082 fn = os.path.join(self.dname, |
1080 fn = os.path.join(self.dname, |
1083 selectedItems[0].text(self.__pathColumn)) |
1081 selectedItems[0].text(self.__pathColumn)) |