14
14
from pathlib import Path
15
15
from typing import Union
16
16
17
- from PySide6 .QtCore import Qt , QFileInfo , QDir , QTimer
18
- from PySide6 .QtWidgets import QWidget , QGridLayout , QSplitter , QScrollArea , QFileSystemModel , QTreeView , QTabWidget
17
+ from PySide6 .QtCore import Qt , QFileInfo , QDir
18
+ from PySide6 .QtWidgets import QWidget , QGridLayout , QSplitter , QScrollArea , QFileSystemModel , QTreeView , QTabWidget , \
19
+ QMessageBox
19
20
20
21
from je_editor .pyside_ui .code .auto_save .auto_save_manager import auto_save_manager_dict , init_new_auto_save_thread , \
21
22
file_is_open_manager_dict
@@ -106,11 +107,6 @@ def __init__(self, main_window: EditorMain):
106
107
)
107
108
# Add to layout
108
109
self .grid_layout .addWidget (self .full_splitter )
109
- # Check format time
110
- self .check_format_timer = QTimer ()
111
- self .check_format_timer .setInterval (50 )
112
- self .check_format_timer .timeout .connect (self .check_file_format )
113
- self .check_format_timer .start ()
114
110
115
111
def set_project_treeview (self ) -> None :
116
112
jeditor_logger .info ("EditorWidget set_project_treeview" )
@@ -154,6 +150,7 @@ def open_an_file(self, path: Path) -> bool:
154
150
jeditor_logger .info (f"EditorWidget open_an_file path: { path } " )
155
151
if not self .check_is_open (path ):
156
152
return False
153
+ self .code_save_thread .skip_this_round = True
157
154
file , file_content = read_file (str (path ))
158
155
self .code_edit .setPlainText (
159
156
file_content
@@ -166,6 +163,7 @@ def open_an_file(self, path: Path) -> bool:
166
163
init_new_auto_save_thread (self .current_file , self )
167
164
else :
168
165
self .code_save_thread .file = self .current_file
166
+ self .code_save_thread .skip_this_round = False
169
167
self .rename_self_tab ()
170
168
return True
171
169
@@ -185,21 +183,24 @@ def rename_self_tab(self):
185
183
self .setObjectName (str (Path (self .current_file )))
186
184
187
185
def check_file_format (self ):
188
- jeditor_logger .info ("EditorWidget check_file_format" )
189
186
if self .current_file :
190
- if self .checker is None :
187
+ jeditor_logger .info ("EditorWidget check_file_format" )
188
+ suffix_checker = Path (self .current_file ).suffix
189
+ if suffix_checker == ".py" :
191
190
self .checker = PEP8FormatChecker (self .current_file )
192
- elif self .checker .current_file != self .current_file :
193
- self .checker = PEP8FormatChecker (self .current_file )
194
- else :
195
191
self .checker .check_all_format ()
196
- self .format_check_result .clear ( )
192
+ self .format_check_result .setPlainText ( "" )
197
193
for error in self .checker .error_list :
198
194
self .format_check_result .append (error )
195
+ self .checker .error_list .clear ()
196
+ else :
197
+ message_box = QMessageBox ()
198
+ message_box .setText (
199
+ language_wrapper .language_word_dict .get ("python_format_checker_only_support_python_message" ))
200
+ message_box .exec_ ()
199
201
200
202
def close (self ) -> bool :
201
203
jeditor_logger .info ("EditorWidget close" )
202
- self .check_format_timer .stop ()
203
204
if self .code_save_thread is not None :
204
205
self .code_save_thread .still_run = False
205
206
self .code_save_thread = None
0 commit comments