eric6/UI/PythonAstViewer.py

changeset 7771
787a6b3f8c9f
parent 7707
6abcf4275d0e
child 7923
91e843545d9a
diff -r 49f3377aebf1 -r 787a6b3f8c9f eric6/UI/PythonAstViewer.py
--- a/eric6/UI/PythonAstViewer.py	Fri Oct 09 17:19:29 2020 +0200
+++ b/eric6/UI/PythonAstViewer.py	Sat Oct 10 12:20:51 2020 +0200
@@ -11,14 +11,15 @@
 import ast
 
 from PyQt5.QtCore import pyqtSlot, Qt, QTimer
-from PyQt5.QtGui import QCursor, QBrush
+from PyQt5.QtGui import QBrush
 from PyQt5.QtWidgets import (
-    QTreeWidget, QApplication, QTreeWidgetItem, QAbstractItemView, QWidget,
-    QVBoxLayout
+    QTreeWidget, QTreeWidgetItem, QAbstractItemView, QWidget, QVBoxLayout
 )
 
 from ThirdParty.asttokens.asttokens import ASTTokens
 
+from E5Gui.E5OverrideCursor import E5OverrideCursor
+
 import Preferences
 
 
@@ -229,27 +230,25 @@
             ))
             return
         
-        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
-        try:
-            # generate the AST
-            root = ast.parse(source, self.__editor.getFileName(), "exec")
-            self.__markTextRanges(root, source)
-            astValid = True
-        except Exception as exc:
-            self.__createErrorItem(str(exc))
-            astValid = False
-        
-        if astValid:
-            self.setUpdatesEnabled(False)
+        with E5OverrideCursor():
+            try:
+                # generate the AST
+                root = ast.parse(source, self.__editor.getFileName(), "exec")
+                self.__markTextRanges(root, source)
+                astValid = True
+            except Exception as exc:
+                self.__createErrorItem(str(exc))
+                astValid = False
             
-            # populate the AST tree
-            self.__populateNode(self.tr("Module"), root, self.__astWidget)
-            self.__selectItemForEditorSelection()
-            QTimer.singleShot(0, self.__resizeColumns)
-            
-            self.setUpdatesEnabled(True)
-        
-        QApplication.restoreOverrideCursor()
+            if astValid:
+                self.setUpdatesEnabled(False)
+                
+                # populate the AST tree
+                self.__populateNode(self.tr("Module"), root, self.__astWidget)
+                self.__selectItemForEditorSelection()
+                QTimer.singleShot(0, self.__resizeColumns)
+                
+                self.setUpdatesEnabled(True)
         
         self.__grabFocus()
     

eric ide

mercurial