je-editor 0.0.182__py3-none-any.whl → 0.0.183__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- je_editor/__init__.py +2 -2
- je_editor/pyside_ui/browser/browser_download_window.py +7 -0
- je_editor/pyside_ui/browser/browser_serach_lineedit.py +7 -2
- je_editor/pyside_ui/browser/browser_view.py +6 -0
- je_editor/pyside_ui/browser/browser_widget.py +7 -1
- je_editor/pyside_ui/code/auto_save/auto_save_manager.py +5 -0
- je_editor/pyside_ui/code/auto_save/auto_save_thread.py +5 -0
- je_editor/pyside_ui/code/code_format/pep8_format.py +13 -0
- je_editor/pyside_ui/code/code_process/code_exec.py +17 -0
- je_editor/pyside_ui/code/plaintext_code_edit/code_edit_plaintext.py +23 -0
- je_editor/pyside_ui/code/running_process_manager.py +4 -0
- je_editor/pyside_ui/code/shell_process/shell_exec.py +15 -0
- je_editor/pyside_ui/code/syntax/python_syntax.py +3 -0
- je_editor/pyside_ui/code/textedit_code_result/code_record.py +6 -0
- je_editor/pyside_ui/dialog/file_dialog/create_file_dialog.py +3 -0
- je_editor/pyside_ui/dialog/file_dialog/open_file_dialog.py +5 -0
- je_editor/pyside_ui/dialog/file_dialog/save_file_dialog.py +3 -0
- je_editor/pyside_ui/dialog/search_ui/search_error_box.py +2 -0
- je_editor/pyside_ui/dialog/search_ui/search_text_box.py +2 -0
- je_editor/pyside_ui/main_ui/dock/destroy_dock.py +4 -0
- je_editor/pyside_ui/main_ui/editor/editor_widget.py +19 -5
- je_editor/pyside_ui/main_ui/editor/editor_widget_dock.py +3 -0
- je_editor/pyside_ui/main_ui/editor/process_input.py +8 -0
- je_editor/pyside_ui/main_ui/ipython_widget/rich_jupyter.py +5 -0
- je_editor/pyside_ui/main_ui/main_editor.py +13 -3
- je_editor/pyside_ui/main_ui/menu/check_style_menu/build_check_style_menu.py +4 -1
- je_editor/pyside_ui/main_ui/menu/dock_menu/build_dock_menu.py +8 -3
- je_editor/pyside_ui/main_ui/menu/file_menu/build_file_menu.py +19 -0
- je_editor/pyside_ui/main_ui/menu/help_menu/build_help_menu.py +10 -2
- je_editor/pyside_ui/main_ui/menu/language_menu/build_language_server.py +5 -0
- je_editor/pyside_ui/main_ui/menu/python_env_menu/build_venv_menu.py +10 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/build_run_menu.py +7 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_debug_menu.py +4 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_program_menu.py +4 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_shell_menu.py +4 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/utils.py +2 -0
- je_editor/pyside_ui/main_ui/menu/set_menu_bar.py +2 -0
- je_editor/pyside_ui/main_ui/menu/style_menu/build_style_menu.py +5 -0
- je_editor/pyside_ui/main_ui/menu/tab_menu/build_tab_menu.py +24 -15
- je_editor/pyside_ui/main_ui/menu/text_menu/build_text_menu.py +8 -0
- je_editor/pyside_ui/main_ui/save_settings/setting_utils.py +4 -0
- je_editor/pyside_ui/main_ui/save_settings/user_color_setting_file.py +4 -0
- je_editor/pyside_ui/main_ui/save_settings/user_setting_file.py +3 -0
- je_editor/pyside_ui/main_ui/system_tray/extend_system_tray.py +5 -0
- je_editor/utils/file/open/open_file.py +2 -0
- je_editor/utils/file/save/save_file.py +4 -0
- je_editor/utils/json/json_file.py +5 -0
- je_editor/utils/json_format/json_process.py +4 -0
- je_editor/utils/logging/__init__.py +0 -0
- je_editor/utils/logging/loggin_instance.py +13 -0
- je_editor/utils/multi_language/multi_language_wrapper.py +3 -0
- je_editor/utils/redirect_manager/redirect_manager_class.py +16 -2
- je_editor/utils/venv_check/check_venv.py +5 -2
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/METADATA +1 -1
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/RECORD +58 -56
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/LICENSE +0 -0
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/WHEEL +0 -0
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/top_level.txt +0 -0
@@ -7,6 +7,7 @@ from typing import TYPE_CHECKING
|
|
7
7
|
|
8
8
|
from je_editor.pyside_ui.code.auto_save.auto_save_manager import init_new_auto_save_thread, file_is_open_manager_dict
|
9
9
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict, read_user_setting
|
10
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
10
11
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
11
12
|
from je_editor.utils.venv_check.check_venv import check_and_choose_venv
|
12
13
|
|
@@ -25,6 +26,8 @@ def choose_file_get_open_file_path(parent_qt_instance: EditorMain) -> None:
|
|
25
26
|
:param parent_qt_instance: Pyside parent
|
26
27
|
:return: None
|
27
28
|
"""
|
29
|
+
jeditor_logger.info(f"open_file_dialog.py choose_file_get_open_file_path"
|
30
|
+
f" parent_qt_instance: {parent_qt_instance}")
|
28
31
|
widget = parent_qt_instance.tab_widget.currentWidget()
|
29
32
|
if isinstance(widget, EditorWidget):
|
30
33
|
file_path = QFileDialog().getOpenFileName(
|
@@ -55,6 +58,8 @@ def choose_file_get_open_file_path(parent_qt_instance: EditorMain) -> None:
|
|
55
58
|
|
56
59
|
|
57
60
|
def choose_dir_get_dir_path(parent_qt_instance: EditorMain) -> None:
|
61
|
+
jeditor_logger.info(f"open_file_dialog.py choose_dir_get_dir_path"
|
62
|
+
f" parent_qt_instance: {parent_qt_instance}")
|
58
63
|
dir_path = QFileDialog().getExistingDirectory(parent=parent_qt_instance, )
|
59
64
|
if dir_path != "":
|
60
65
|
check_path = Path(dir_path)
|
@@ -5,6 +5,7 @@ from pathlib import Path
|
|
5
5
|
from typing import TYPE_CHECKING
|
6
6
|
|
7
7
|
from je_editor.pyside_ui.code.auto_save.auto_save_manager import file_is_open_manager_dict
|
8
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
8
9
|
|
9
10
|
if TYPE_CHECKING:
|
10
11
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -19,6 +20,8 @@ def choose_file_get_save_file_path(parent_qt_instance: EditorMain) -> bool:
|
|
19
20
|
:param parent_qt_instance: Pyside parent
|
20
21
|
:return: save code edit content to file
|
21
22
|
"""
|
23
|
+
jeditor_logger.info(f"save_file_dialog.py choose_file_get_save_file_path"
|
24
|
+
f" parent_qt_instance: {parent_qt_instance}")
|
22
25
|
widget = parent_qt_instance.tab_widget.currentWidget()
|
23
26
|
if isinstance(widget, EditorWidget):
|
24
27
|
file_path = QFileDialog().getSaveFileName(
|
@@ -1,11 +1,13 @@
|
|
1
1
|
from PySide6.QtWidgets import QWidget, QLineEdit, QPushButton, QBoxLayout, QHBoxLayout
|
2
2
|
|
3
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
3
4
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
4
5
|
|
5
6
|
|
6
7
|
class SearchResultBox(QWidget):
|
7
8
|
|
8
9
|
def __init__(self):
|
10
|
+
jeditor_logger.info("Init SearchResultBox")
|
9
11
|
super().__init__()
|
10
12
|
self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
|
11
13
|
self.search_input = QLineEdit()
|
@@ -1,11 +1,13 @@
|
|
1
1
|
from PySide6.QtWidgets import QWidget, QLineEdit, QPushButton, QBoxLayout, QHBoxLayout
|
2
2
|
|
3
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
3
4
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
4
5
|
|
5
6
|
|
6
7
|
class SearchBox(QWidget):
|
7
8
|
|
8
9
|
def __init__(self):
|
10
|
+
jeditor_logger.info("Init SearchBox")
|
9
11
|
super().__init__()
|
10
12
|
self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
|
11
13
|
self.search_input = QLineEdit()
|
@@ -1,15 +1,19 @@
|
|
1
1
|
from PySide6.QtCore import Qt
|
2
2
|
from PySide6.QtWidgets import QDockWidget
|
3
3
|
|
4
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
5
|
+
|
4
6
|
|
5
7
|
class DestroyDock(QDockWidget):
|
6
8
|
|
7
9
|
def __init__(self):
|
10
|
+
jeditor_logger.info("Init DestroyDock")
|
8
11
|
super().__init__()
|
9
12
|
self.setAllowedAreas(Qt.DockWidgetArea.AllDockWidgetAreas)
|
10
13
|
# Attr
|
11
14
|
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
12
15
|
|
13
16
|
def closeEvent(self, event) -> None:
|
17
|
+
jeditor_logger.info(f"DestroyDock closeEvent event: {event}")
|
14
18
|
self.widget().close()
|
15
19
|
super().close()
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
from typing import TYPE_CHECKING
|
4
4
|
|
5
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
5
6
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
6
7
|
|
7
8
|
if TYPE_CHECKING:
|
@@ -30,8 +31,10 @@ from je_editor.utils.file.open.open_file import read_file
|
|
30
31
|
class EditorWidget(QWidget):
|
31
32
|
|
32
33
|
def __init__(self, main_window: EditorMain):
|
34
|
+
jeditor_logger.info(f"Init EditorWidget main_window: {main_window}")
|
33
35
|
super().__init__()
|
34
36
|
# Init variable
|
37
|
+
self.checker: Union[PEP8FormatChecker, None] = None
|
35
38
|
self.current_file = None
|
36
39
|
self.tree_view_scroll_area = None
|
37
40
|
self.project_treeview = None
|
@@ -110,6 +113,7 @@ class EditorWidget(QWidget):
|
|
110
113
|
self.check_format_timer.start()
|
111
114
|
|
112
115
|
def set_project_treeview(self) -> None:
|
116
|
+
jeditor_logger.info(f"EditorWidget set_project_treeview")
|
113
117
|
self.project_treeview_model = QFileSystemModel()
|
114
118
|
self.project_treeview_model.setRootPath(QDir.currentPath())
|
115
119
|
self.project_treeview = QTreeView()
|
@@ -130,6 +134,7 @@ class EditorWidget(QWidget):
|
|
130
134
|
self.project_treeview.clicked.connect(self.treeview_click)
|
131
135
|
|
132
136
|
def check_is_open(self, path: Path):
|
137
|
+
jeditor_logger.info(f"EditorWidget check_is_open path: {path}")
|
133
138
|
if file_is_open_manager_dict.get(str(path), None) is not None:
|
134
139
|
widget: QWidget = self.tab_manager.findChild(EditorWidget, str(path))
|
135
140
|
if widget is None:
|
@@ -146,6 +151,7 @@ class EditorWidget(QWidget):
|
|
146
151
|
:param path: open file path
|
147
152
|
:return: return False if file tab exists
|
148
153
|
"""
|
154
|
+
jeditor_logger.info(f"EditorWidget open_an_file path: {path}")
|
149
155
|
if not self.check_is_open(path):
|
150
156
|
return False
|
151
157
|
file, file_content = read_file(str(path))
|
@@ -162,6 +168,7 @@ class EditorWidget(QWidget):
|
|
162
168
|
return True
|
163
169
|
|
164
170
|
def treeview_click(self) -> None:
|
171
|
+
jeditor_logger.info(f"EditorWidget treeview_click")
|
165
172
|
clicked_item: QFileSystemModel = self.project_treeview.selectedIndexes()[0]
|
166
173
|
file_info: QFileInfo = self.project_treeview.model().fileInfo(clicked_item)
|
167
174
|
path = pathlib.Path(file_info.absoluteFilePath())
|
@@ -169,20 +176,27 @@ class EditorWidget(QWidget):
|
|
169
176
|
self.open_an_file(path)
|
170
177
|
|
171
178
|
def rename_self_tab(self):
|
179
|
+
jeditor_logger.info(f"EditorWidget rename_self_tab")
|
172
180
|
if self.tab_manager.currentWidget() is self:
|
173
181
|
self.tab_manager.setTabText(
|
174
182
|
self.tab_manager.currentIndex(), str(Path(self.current_file)))
|
175
183
|
self.setObjectName(str(Path(self.current_file)))
|
176
184
|
|
177
185
|
def check_file_format(self):
|
186
|
+
jeditor_logger.info(f"EditorWidget check_file_format")
|
178
187
|
if self.current_file:
|
179
|
-
checker
|
180
|
-
|
181
|
-
self.
|
182
|
-
|
183
|
-
|
188
|
+
if self.checker is None:
|
189
|
+
self.checker = PEP8FormatChecker(self.current_file)
|
190
|
+
elif self.checker.current_file != self.current_file:
|
191
|
+
self.checker = PEP8FormatChecker(self.current_file)
|
192
|
+
else:
|
193
|
+
self.checker.check_all_format()
|
194
|
+
self.format_check_result.clear()
|
195
|
+
for error in self.checker.error_list:
|
196
|
+
self.format_check_result.append(error)
|
184
197
|
|
185
198
|
def close(self) -> bool:
|
199
|
+
jeditor_logger.info(f"EditorWidget close")
|
186
200
|
self.check_format_timer.stop()
|
187
201
|
if self.code_save_thread is not None:
|
188
202
|
self.code_save_thread.still_run = False
|
@@ -7,11 +7,13 @@ from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
7
7
|
from je_editor.pyside_ui.code.plaintext_code_edit.code_edit_plaintext import CodeEditor
|
8
8
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
9
9
|
from je_editor.utils.file.save.save_file import write_file
|
10
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
10
11
|
|
11
12
|
|
12
13
|
class FullEditorWidget(QWidget):
|
13
14
|
|
14
15
|
def __init__(self, current_file: str):
|
16
|
+
jeditor_logger.info(f"Init FullEditorWidget current_file: {current_file}")
|
15
17
|
super().__init__()
|
16
18
|
# Init variable
|
17
19
|
self.current_file = current_file
|
@@ -34,6 +36,7 @@ class FullEditorWidget(QWidget):
|
|
34
36
|
)
|
35
37
|
|
36
38
|
def closeEvent(self, event) -> None:
|
39
|
+
jeditor_logger.info(f"FullEditorWidget closeEvent event: {event}")
|
37
40
|
path = Path(self.current_file)
|
38
41
|
if path.exists() and path.is_file():
|
39
42
|
write_file(self.current_file, self.code_edit.toPlainText())
|
@@ -5,6 +5,8 @@ from typing import TYPE_CHECKING
|
|
5
5
|
from PySide6.QtCore import Qt
|
6
6
|
from PySide6.QtWidgets import QWidget, QLineEdit, QBoxLayout, QPushButton, QHBoxLayout
|
7
7
|
|
8
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
9
|
+
|
8
10
|
if TYPE_CHECKING:
|
9
11
|
from je_editor.pyside_ui.main_ui.main_editor import EditorWidget
|
10
12
|
|
@@ -14,6 +16,9 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
14
16
|
class ProcessInput(QWidget):
|
15
17
|
|
16
18
|
def __init__(self, main_window: EditorWidget, process_type: str = "debugger"):
|
19
|
+
jeditor_logger.info(f"Init ProcessInput "
|
20
|
+
f"main_window: {main_window} "
|
21
|
+
f"process_type: {process_type}")
|
17
22
|
super().__init__()
|
18
23
|
# Attr
|
19
24
|
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
@@ -40,6 +45,7 @@ class ProcessInput(QWidget):
|
|
40
45
|
self.setLayout(self.box_layout)
|
41
46
|
|
42
47
|
def debugger_send_command(self):
|
48
|
+
jeditor_logger.info(f"EditorWidget debugger_send_command")
|
43
49
|
if self.main_window.exec_python_debugger is not None:
|
44
50
|
process_stdin = self.main_window.exec_python_debugger.process.stdin
|
45
51
|
if process_stdin is not None:
|
@@ -47,6 +53,7 @@ class ProcessInput(QWidget):
|
|
47
53
|
process_stdin.flush()
|
48
54
|
|
49
55
|
def shell_send_command(self):
|
56
|
+
jeditor_logger.info(f"EditorWidget shell_send_command")
|
50
57
|
if self.main_window.exec_shell is not None:
|
51
58
|
process_stdin = self.main_window.exec_shell.process.stdin
|
52
59
|
if process_stdin is not None:
|
@@ -54,6 +61,7 @@ class ProcessInput(QWidget):
|
|
54
61
|
process_stdin.flush()
|
55
62
|
|
56
63
|
def program_send_command(self):
|
64
|
+
jeditor_logger.info(f"EditorWidget program_send_command")
|
57
65
|
if self.main_window.exec_program is not None:
|
58
66
|
process_stdin = self.main_window.exec_program.process.stdin
|
59
67
|
if process_stdin is not None:
|
@@ -7,12 +7,16 @@ from PySide6.QtWidgets import QWidget, QGridLayout
|
|
7
7
|
from qtconsole.inprocess import QtInProcessKernelManager
|
8
8
|
from qtconsole.rich_jupyter_widget import RichJupyterWidget
|
9
9
|
|
10
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
11
|
+
|
10
12
|
if TYPE_CHECKING:
|
11
13
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
12
14
|
|
13
15
|
|
14
16
|
class IpythonWidget(QWidget):
|
17
|
+
|
15
18
|
def __init__(self, main_window: EditorMain):
|
19
|
+
jeditor_logger.info(f"Init IpythonWidget main_window: {main_window}")
|
16
20
|
super().__init__()
|
17
21
|
self.grid_layout = QGridLayout()
|
18
22
|
app = guisupport.get_app_qt4()
|
@@ -30,6 +34,7 @@ class IpythonWidget(QWidget):
|
|
30
34
|
self.setLayout(self.grid_layout)
|
31
35
|
|
32
36
|
def close(self):
|
37
|
+
jeditor_logger.info(f"IpythonWidget close")
|
33
38
|
if self.kernel_client:
|
34
39
|
self.kernel_client.stop_channels()
|
35
40
|
if self.kernel_manager:
|
@@ -12,7 +12,7 @@ from frontengine import FrontEngineMainUI
|
|
12
12
|
from frontengine import RedirectManager
|
13
13
|
from qt_material import QtStyleTools
|
14
14
|
|
15
|
-
from je_editor.pyside_ui.browser.browser_widget import
|
15
|
+
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
16
16
|
from je_editor.pyside_ui.code.auto_save.auto_save_manager import init_new_auto_save_thread, file_is_open_manager_dict
|
17
17
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
18
18
|
from je_editor.pyside_ui.main_ui.menu.set_menu_bar import set_menu_bar
|
@@ -22,6 +22,7 @@ from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_set
|
|
22
22
|
write_user_setting
|
23
23
|
from je_editor.pyside_ui.main_ui.system_tray.extend_system_tray import ExtendSystemTray
|
24
24
|
from je_editor.utils.file.open.open_file import read_file
|
25
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
25
26
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
26
27
|
from je_editor.utils.redirect_manager.redirect_manager_class import redirect_manager_instance
|
27
28
|
|
@@ -31,6 +32,9 @@ EDITOR_EXTEND_TAB: Dict[str, Type[QWidget]] = {}
|
|
31
32
|
class EditorMain(QMainWindow, QtStyleTools):
|
32
33
|
|
33
34
|
def __init__(self, debug_mode: bool = False, show_system_tray_ray: bool = False):
|
35
|
+
jeditor_logger.info(f"Init EditorMain "
|
36
|
+
f"debug_mode: {debug_mode} "
|
37
|
+
f"show_system_tray_ray: {show_system_tray_ray}")
|
34
38
|
super(EditorMain, self).__init__()
|
35
39
|
# Init variable
|
36
40
|
self.file_menu = None
|
@@ -105,9 +109,9 @@ class EditorMain(QMainWindow, QtStyleTools):
|
|
105
109
|
self.tab_widget.addTab(
|
106
110
|
FrontEngineMainUI(show_system_tray_ray=False, redirect_output=False),
|
107
111
|
language_wrapper.language_word_dict.get("tab_name_frontengine"))
|
108
|
-
self.tab_widget.addTab(
|
112
|
+
self.tab_widget.addTab(BrowserWidget(), language_wrapper.language_word_dict.get("tab_name_web_browser"))
|
109
113
|
self.tab_widget.addTab(
|
110
|
-
|
114
|
+
BrowserWidget(start_url="https://stackoverflow.com/", search_prefix="https://stackoverflow.com/search?q="),
|
111
115
|
language_wrapper.language_word_dict.get("tab_menu_stackoverflow_tab_name"))
|
112
116
|
for widget_name, widget in EDITOR_EXTEND_TAB.items():
|
113
117
|
self.tab_widget.addTab(widget(), widget_name)
|
@@ -122,11 +126,13 @@ class EditorMain(QMainWindow, QtStyleTools):
|
|
122
126
|
close_timer.start()
|
123
127
|
|
124
128
|
def clear_code_result(self):
|
129
|
+
jeditor_logger.info(f"EditorMain clear_code_result")
|
125
130
|
widget = self.tab_widget.currentWidget()
|
126
131
|
if isinstance(widget, EditorWidget):
|
127
132
|
widget.code_result.clear()
|
128
133
|
|
129
134
|
def redirect(self) -> None:
|
135
|
+
jeditor_logger.info(f"EditorMain redirect")
|
130
136
|
for code_editor in range(self.tab_widget.count()):
|
131
137
|
widget = self.tab_widget.widget(code_editor)
|
132
138
|
if isinstance(widget, EditorWidget):
|
@@ -146,6 +152,7 @@ class EditorMain(QMainWindow, QtStyleTools):
|
|
146
152
|
break
|
147
153
|
|
148
154
|
def startup_setting(self) -> None:
|
155
|
+
jeditor_logger.info(f"EditorMain startup_setting")
|
149
156
|
# Set font and font size, then try to open last edit file
|
150
157
|
self.setStyleSheet(
|
151
158
|
f"font-size: {user_setting_dict.get('ui_font_size', 12)}pt;"
|
@@ -183,6 +190,7 @@ class EditorMain(QMainWindow, QtStyleTools):
|
|
183
190
|
update_actually_color_dict()
|
184
191
|
|
185
192
|
def go_to_new_tab(self, file_path: Path):
|
193
|
+
jeditor_logger.info(f"EditorMain go_to_new_tab file_path: {file_path}")
|
186
194
|
if file_is_open_manager_dict.get(str(file_path), None) is None:
|
187
195
|
editor_widget = EditorWidget(self)
|
188
196
|
self.tab_widget.addTab(
|
@@ -196,11 +204,13 @@ class EditorMain(QMainWindow, QtStyleTools):
|
|
196
204
|
self.tab_widget.setCurrentWidget(widget)
|
197
205
|
|
198
206
|
def closeEvent(self, event) -> None:
|
207
|
+
jeditor_logger.info(f"EditorMain closeEvent")
|
199
208
|
write_user_setting()
|
200
209
|
write_user_color_setting()
|
201
210
|
super().closeEvent(event)
|
202
211
|
|
203
212
|
def event(self, event: QEvent) -> bool:
|
213
|
+
jeditor_logger.info(f"EditorMain event: {event}")
|
204
214
|
if event.type() == QEvent.Type.ToolTip:
|
205
215
|
event.ignore()
|
206
216
|
return False
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
3
3
|
from typing import TYPE_CHECKING
|
4
4
|
|
5
5
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
6
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
7
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
7
8
|
|
8
9
|
if TYPE_CHECKING:
|
@@ -14,6 +15,7 @@ from je_editor.utils.json_format.json_process import reformat_json
|
|
14
15
|
|
15
16
|
|
16
17
|
def set_check_menu(ui_we_want_to_set: EditorMain) -> None:
|
18
|
+
jeditor_logger.info(f"build_check_style_menu.py set_check_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
17
19
|
ui_we_want_to_set.check_menu = ui_we_want_to_set.menu.addMenu(
|
18
20
|
language_wrapper.language_word_dict.get("check_code_style_menu_label"))
|
19
21
|
# Yapf code check
|
@@ -40,13 +42,13 @@ def set_check_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
40
42
|
|
41
43
|
|
42
44
|
def yapf_check_python_code(ui_we_want_to_set: EditorMain) -> None:
|
45
|
+
jeditor_logger.info(f"build_check_style_menu.py yapf_check_python_code ui_we_want_to_set: {ui_we_want_to_set}")
|
43
46
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
44
47
|
if isinstance(widget, EditorWidget):
|
45
48
|
code_text = widget.code_edit.toPlainText()
|
46
49
|
widget.code_result.setPlainText("")
|
47
50
|
format_code = FormatCode(
|
48
51
|
unformatted_source=code_text,
|
49
|
-
verify=True,
|
50
52
|
style_config="google"
|
51
53
|
)
|
52
54
|
if isinstance(format_code, tuple):
|
@@ -54,6 +56,7 @@ def yapf_check_python_code(ui_we_want_to_set: EditorMain) -> None:
|
|
54
56
|
|
55
57
|
|
56
58
|
def reformat_json_text(ui_we_want_to_set: EditorMain) -> None:
|
59
|
+
jeditor_logger.info(f"build_check_style_menu.py reformat_json_text ui_we_want_to_set: {ui_we_want_to_set}")
|
57
60
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
58
61
|
if isinstance(widget, EditorWidget):
|
59
62
|
code_text = widget.code_edit.toPlainText()
|
@@ -8,11 +8,12 @@ from PySide6.QtGui import QAction
|
|
8
8
|
from PySide6.QtWidgets import QFileDialog
|
9
9
|
from frontengine import FrontEngineMainUI
|
10
10
|
|
11
|
-
from je_editor.pyside_ui.browser.browser_widget import
|
11
|
+
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
12
12
|
from je_editor.pyside_ui.main_ui.dock.destroy_dock import DestroyDock
|
13
13
|
from je_editor.pyside_ui.main_ui.editor.editor_widget_dock import FullEditorWidget
|
14
14
|
from je_editor.pyside_ui.main_ui.ipython_widget.rich_jupyter import IpythonWidget
|
15
15
|
from je_editor.utils.file.open.open_file import read_file
|
16
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
16
17
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
17
18
|
|
18
19
|
if TYPE_CHECKING:
|
@@ -20,6 +21,7 @@ if TYPE_CHECKING:
|
|
20
21
|
|
21
22
|
|
22
23
|
def set_dock_menu(ui_we_want_to_set: EditorMain) -> None:
|
24
|
+
jeditor_logger.info(f"build_dock_menu.py set_dock_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
23
25
|
# Browser
|
24
26
|
ui_we_want_to_set.dock_menu = ui_we_want_to_set.menu.addMenu(
|
25
27
|
language_wrapper.language_word_dict.get("dock_menu_label"))
|
@@ -60,11 +62,14 @@ def set_dock_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
60
62
|
|
61
63
|
|
62
64
|
def add_dock_widget(ui_we_want_to_set: EditorMain, widget_type: str = None):
|
65
|
+
jeditor_logger.info(f"build_dock_menu.py add_dock_widget "
|
66
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
67
|
+
f"widget_type: {widget_type}")
|
63
68
|
# Dock widget
|
64
69
|
dock_widget = DestroyDock()
|
65
70
|
if widget_type == "stackoverflow":
|
66
71
|
dock_widget.setWindowTitle("stackoverflow")
|
67
|
-
dock_widget.setWidget(
|
72
|
+
dock_widget.setWidget(BrowserWidget(
|
68
73
|
start_url="https://stackoverflow.com/", search_prefix="https://stackoverflow.com/search?q="))
|
69
74
|
elif widget_type == "editor":
|
70
75
|
file_path = QFileDialog().getOpenFileName(
|
@@ -87,6 +92,6 @@ def add_dock_widget(ui_we_want_to_set: EditorMain, widget_type: str = None):
|
|
87
92
|
dock_widget.setWidget(IpythonWidget(ui_we_want_to_set))
|
88
93
|
else:
|
89
94
|
dock_widget.setWindowTitle(language_wrapper.language_word_dict.get("dock_browser_title"))
|
90
|
-
dock_widget.setWidget(
|
95
|
+
dock_widget.setWidget(BrowserWidget())
|
91
96
|
if dock_widget.widget() is not None:
|
92
97
|
ui_we_want_to_set.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, dock_widget)
|
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING
|
|
4
4
|
|
5
5
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
6
6
|
from je_editor.utils.encodings.python_encodings import python_encodings_list
|
7
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
7
8
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
8
9
|
|
9
10
|
if TYPE_CHECKING:
|
@@ -17,6 +18,8 @@ from je_editor.pyside_ui.dialog.file_dialog.save_file_dialog import choose_file_
|
|
17
18
|
|
18
19
|
|
19
20
|
def set_file_menu(ui_we_want_to_set: EditorMain) -> None:
|
21
|
+
jeditor_logger.info(f"build_file_menu.py add_dock_widget "
|
22
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
20
23
|
ui_we_want_to_set.file_menu = ui_we_want_to_set.menu.addMenu(
|
21
24
|
language_wrapper.language_word_dict.get("file_menu_label"))
|
22
25
|
ui_we_want_to_set.file_menu.new_file_action = QAction(
|
@@ -63,6 +66,8 @@ def set_file_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
63
66
|
|
64
67
|
|
65
68
|
def add_encoding_menu(ui_we_want_to_set: EditorMain) -> None:
|
69
|
+
jeditor_logger.info(f"build_file_menu.py add_encoding_menu "
|
70
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
66
71
|
ui_we_want_to_set.file_menu.encoding_menu = ui_we_want_to_set.file_menu.addMenu(
|
67
72
|
language_wrapper.language_word_dict.get("file_menu_encoding_label"))
|
68
73
|
for encoding in python_encodings_list:
|
@@ -73,16 +78,23 @@ def add_encoding_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
73
78
|
|
74
79
|
|
75
80
|
def set_encoding(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
81
|
+
jeditor_logger.info(f"build_file_menu.py set_encoding "
|
82
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
83
|
+
f"action: {action}")
|
76
84
|
ui_we_want_to_set.encoding = action.text()
|
77
85
|
user_setting_dict.update({"encoding": action.text()})
|
78
86
|
|
79
87
|
|
80
88
|
def show_create_file_dialog(ui_we_want_to_set: EditorMain):
|
89
|
+
jeditor_logger.info(f"build_file_menu.py show_create_file_dialog "
|
90
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
81
91
|
ui_we_want_to_set.create_file_dialog = CreateFileDialog()
|
82
92
|
ui_we_want_to_set.create_file_dialog.show()
|
83
93
|
|
84
94
|
|
85
95
|
def add_font_menu(ui_we_want_to_set: EditorMain) -> None:
|
96
|
+
jeditor_logger.info(f"build_file_menu.py add_font_menu "
|
97
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
86
98
|
ui_we_want_to_set.file_menu.font_menu = ui_we_want_to_set.file_menu.addMenu(
|
87
99
|
language_wrapper.language_word_dict.get("file_menu_font_label"))
|
88
100
|
for family in QFontDatabase().families():
|
@@ -92,6 +104,8 @@ def add_font_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
92
104
|
|
93
105
|
|
94
106
|
def set_font(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
107
|
+
jeditor_logger.info(f"build_file_menu.py set_font "
|
108
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
95
109
|
ui_we_want_to_set.setStyleSheet(
|
96
110
|
f"font-size: {ui_we_want_to_set.font().pointSize()}pt;"
|
97
111
|
f"font-family: {action.text()};"
|
@@ -100,6 +114,8 @@ def set_font(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
|
100
114
|
|
101
115
|
|
102
116
|
def add_font_size_menu(ui_we_want_to_set: EditorMain) -> None:
|
117
|
+
jeditor_logger.info(f"build_file_menu.py add_font_size_menu "
|
118
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
103
119
|
ui_we_want_to_set.file_menu.font_size_menu = ui_we_want_to_set.file_menu.addMenu(
|
104
120
|
language_wrapper.language_word_dict.get("file_menu_font_size_label"))
|
105
121
|
for size in range(12, 38, 2):
|
@@ -110,6 +126,9 @@ def add_font_size_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
110
126
|
|
111
127
|
|
112
128
|
def set_font_size(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
129
|
+
jeditor_logger.info(f"build_file_menu.py set_font_size "
|
130
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
131
|
+
f"action: {action}")
|
113
132
|
ui_we_want_to_set.setStyleSheet(
|
114
133
|
f"font-size: {int(action.text())}pt;"
|
115
134
|
f"font-family: {ui_we_want_to_set.font().family()};"
|
@@ -2,7 +2,8 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
from typing import TYPE_CHECKING
|
4
4
|
|
5
|
-
from je_editor.pyside_ui.browser.browser_widget import
|
5
|
+
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
6
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
7
|
|
7
8
|
if TYPE_CHECKING:
|
8
9
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -14,6 +15,8 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
14
15
|
|
15
16
|
|
16
17
|
def set_help_menu(ui_we_want_to_set: EditorMain) -> None:
|
18
|
+
jeditor_logger.info(f"build_help_menu.py set_help_menu "
|
19
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
17
20
|
ui_we_want_to_set.help_menu = ui_we_want_to_set.menu.addMenu(
|
18
21
|
language_wrapper.language_word_dict.get("help_menu_label"))
|
19
22
|
ui_we_want_to_set.help_menu.help_github_action = QAction(
|
@@ -71,13 +74,18 @@ def set_help_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
71
74
|
|
72
75
|
|
73
76
|
def open_web_browser(ui_we_want_to_set: EditorMain, url: str, tab_name: str):
|
77
|
+
jeditor_logger.info(f"build_help_menu.py open_web_browser "
|
78
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
79
|
+
f"url: {url} "
|
80
|
+
f"tab_name: {tab_name}")
|
74
81
|
ui_we_want_to_set.tab_widget.addTab(
|
75
|
-
|
82
|
+
BrowserWidget(start_url=url),
|
76
83
|
f"{tab_name}{ui_we_want_to_set.tab_widget.count()}"
|
77
84
|
)
|
78
85
|
|
79
86
|
|
80
87
|
def show_about():
|
88
|
+
jeditor_logger.info(f"build_help_menu.py show_about")
|
81
89
|
message_box = QMessageBox()
|
82
90
|
message_box.setText(
|
83
91
|
"""
|
@@ -6,6 +6,7 @@ from PySide6.QtGui import QAction
|
|
6
6
|
from PySide6.QtWidgets import QMessageBox
|
7
7
|
|
8
8
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
9
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
9
10
|
|
10
11
|
if TYPE_CHECKING:
|
11
12
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -14,6 +15,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
14
15
|
|
15
16
|
|
16
17
|
def set_language_menu(ui_we_want_to_set: EditorMain) -> None:
|
18
|
+
jeditor_logger.info(f"build_language_server.py set_language_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
17
19
|
ui_we_want_to_set.language_menu = ui_we_want_to_set.menu.addMenu(
|
18
20
|
language_wrapper.language_word_dict.get("language_menu_label")
|
19
21
|
)
|
@@ -38,6 +40,9 @@ def set_language_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
38
40
|
|
39
41
|
|
40
42
|
def set_language(language: str, ui_we_want_to_set: EditorMain) -> None:
|
43
|
+
jeditor_logger.info(f"build_language_server.py set_language "
|
44
|
+
f"language: {language} "
|
45
|
+
f"ui_we_want_to_set: {ui_we_want_to_set}")
|
41
46
|
language_wrapper.reset_language(language)
|
42
47
|
user_setting_dict.update({"language": language})
|
43
48
|
message_box = QMessageBox(ui_we_want_to_set)
|
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING
|
|
4
4
|
|
5
5
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
6
6
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
7
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
7
8
|
|
8
9
|
if TYPE_CHECKING:
|
9
10
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -19,6 +20,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
19
20
|
|
20
21
|
|
21
22
|
def set_venv_menu(ui_we_want_to_set: EditorMain) -> None:
|
23
|
+
jeditor_logger.info(f"build_venv_menu.py set_venv_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
22
24
|
ui_we_want_to_set.venv_menu = ui_we_want_to_set.menu.addMenu(
|
23
25
|
language_wrapper.language_word_dict.get("python_env_menu_label"))
|
24
26
|
# Create an venv
|
@@ -62,6 +64,7 @@ def set_venv_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
62
64
|
|
63
65
|
|
64
66
|
def create_venv(ui_we_want_to_set: EditorMain) -> None:
|
67
|
+
jeditor_logger.info(f"build_venv_menu.py create_venv ui_we_want_to_set: {ui_we_want_to_set}")
|
65
68
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
66
69
|
if isinstance(widget, EditorWidget):
|
67
70
|
widget.python_compiler = ui_we_want_to_set.python_compiler
|
@@ -83,6 +86,9 @@ def create_venv(ui_we_want_to_set: EditorMain) -> None:
|
|
83
86
|
|
84
87
|
|
85
88
|
def shell_pip_install(ui_we_want_to_set: EditorMain, pip_install_command_list: list):
|
89
|
+
jeditor_logger.info(f"build_venv_menu.py create_venv "
|
90
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
91
|
+
f"pip_install_command_list: {pip_install_command_list}")
|
86
92
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
87
93
|
if isinstance(widget, EditorWidget):
|
88
94
|
widget.python_compiler = ui_we_want_to_set.python_compiler
|
@@ -107,6 +113,7 @@ def shell_pip_install(ui_we_want_to_set: EditorMain, pip_install_command_list: l
|
|
107
113
|
|
108
114
|
|
109
115
|
def detect_venv() -> bool:
|
116
|
+
jeditor_logger.info(f"build_venv_menu.py detect_venv")
|
110
117
|
venv_path = Path(os.getcwd() + "/venv")
|
111
118
|
if not venv_path.exists():
|
112
119
|
message_box = QMessageBox()
|
@@ -117,6 +124,7 @@ def detect_venv() -> bool:
|
|
117
124
|
|
118
125
|
|
119
126
|
def pip_install_package_update(ui_we_want_to_set: EditorMain) -> None:
|
127
|
+
jeditor_logger.info(f"build_venv_menu.py pip_install_package_update ui_we_want_to_set: {ui_we_want_to_set}")
|
120
128
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
121
129
|
if isinstance(widget, EditorWidget):
|
122
130
|
widget.python_compiler = ui_we_want_to_set.python_compiler
|
@@ -137,6 +145,7 @@ def pip_install_package_update(ui_we_want_to_set: EditorMain) -> None:
|
|
137
145
|
|
138
146
|
|
139
147
|
def pip_install_package(ui_we_want_to_set: EditorMain) -> None:
|
148
|
+
jeditor_logger.info(f"build_venv_menu.py pip_install_package ui_we_want_to_set: {ui_we_want_to_set}")
|
140
149
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
141
150
|
if isinstance(widget, EditorWidget):
|
142
151
|
widget.python_compiler = ui_we_want_to_set.python_compiler
|
@@ -157,6 +166,7 @@ def pip_install_package(ui_we_want_to_set: EditorMain) -> None:
|
|
157
166
|
|
158
167
|
|
159
168
|
def chose_python_interpreter(ui_we_want_to_set: EditorMain):
|
169
|
+
jeditor_logger.info(f"build_venv_menu.py chose_python_interpreter ui_we_want_to_set: {ui_we_want_to_set}")
|
160
170
|
file_path = QFileDialog().getOpenFileName(
|
161
171
|
parent=ui_we_want_to_set,
|
162
172
|
dir=str(Path.cwd())
|