je-editor 0.0.123__py3-none-any.whl → 0.0.124__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,21 +1,23 @@
1
+ import logging
1
2
  import os
2
3
  import sys
3
4
  from pathlib import Path
4
5
 
5
6
  from PySide6.QtCore import QTimer
6
7
  from PySide6.QtGui import QFontDatabase, QAction, QIcon
7
- from PySide6.QtWidgets import QMainWindow, QSystemTrayIcon, QWidget, QGridLayout, QTabWidget
8
+ from PySide6.QtWidgets import QMainWindow, QWidget, QGridLayout, QTabWidget
8
9
  from frontengine import FrontEngineMainUI, ChatSceneUI
9
10
  from qt_material import QtStyleTools
10
11
 
11
12
  from je_editor.pyside_ui.code.auto_save.auto_save_thread import SaveThread
13
+ from je_editor.pyside_ui.code.shell_process.shell_exec import default_shell_manager
12
14
  from je_editor.pyside_ui.colors.global_color import error_color, output_color
13
15
  from je_editor.pyside_ui.main_ui.main_ui_setting.ui_setting import set_ui
14
16
  from je_editor.pyside_ui.main_ui.menu.menu_bar.set_menu_bar import set_menu_bar
15
- from je_editor.pyside_ui.code.shell_process.shell_exec import default_shell_manager
16
- from je_editor.pyside_ui.main_ui.treeview.project_treeview.set_project_treeview import set_project_treeview
17
17
  from je_editor.pyside_ui.main_ui.save_user_setting.user_setting_file import write_user_setting, \
18
18
  user_setting_dict, read_user_setting
19
+ from je_editor.pyside_ui.main_ui.system_tray.extend_system_tray import ExtendSystemTray
20
+ from je_editor.pyside_ui.main_ui.treeview.project_treeview.set_project_treeview import set_project_treeview
19
21
  from je_editor.utils.encodings.python_encodings import python_encodings_list
20
22
  from je_editor.utils.file.open.open_file import read_file
21
23
  from je_editor.utils.redirect_manager.redirect_manager_class import redirect_manager_instance
@@ -74,8 +76,10 @@ class EditorMain(QMainWindow, QtStyleTools):
74
76
  self.icon = QIcon(str(self.icon_path))
75
77
  if self.icon.isNull() is False:
76
78
  self.setWindowIcon(self.icon)
77
- self.system_icon = QSystemTrayIcon()
78
- self.system_icon.setIcon(self.icon)
79
+ if ExtendSystemTray.isSystemTrayAvailable():
80
+ system_tray = ExtendSystemTray(main_window=self)
81
+ system_tray.setIcon(self.icon)
82
+ system_tray.show()
79
83
  # Init shell manager
80
84
  default_shell_manager.main_window = self
81
85
  default_shell_manager.later_init()
@@ -193,9 +197,13 @@ class EditorMain(QMainWindow, QtStyleTools):
193
197
  self.code_result.setTextColor(output_color)
194
198
 
195
199
  def closeEvent(self, event) -> None:
196
- super().closeEvent(event)
197
- user_setting_dict.update({"last_file": str(self.current_file)})
198
- write_user_setting()
200
+ if self.system_tray.isVisible():
201
+ self.hide()
202
+ event.ignore()
203
+ else:
204
+ super().closeEvent(event)
205
+ user_setting_dict.update({"last_file": str(self.current_file)})
206
+ write_user_setting()
199
207
 
200
208
  @classmethod
201
209
  def debug_close(cls):
File without changes
@@ -0,0 +1,31 @@
1
+ import sys
2
+
3
+ from PySide6.QtGui import QAction
4
+ from PySide6.QtWidgets import QSystemTrayIcon, QMenu, QMainWindow
5
+
6
+
7
+ class ExtendSystemTray(QSystemTrayIcon):
8
+
9
+ def __init__(self, main_window: QMainWindow):
10
+ super().__init__(parent=main_window)
11
+ self.menu = QMenu()
12
+ self.main_window = main_window
13
+ self.hide_main_window_action = QAction("Hide")
14
+ self.hide_main_window_action.triggered.connect(self.main_window.hide)
15
+ self.menu.addAction(self.hide_main_window_action)
16
+ self.maximized_main_window_action = QAction("Maximized")
17
+ self.maximized_main_window_action.triggered.connect(self.main_window.showMaximized)
18
+ self.menu.addAction(self.maximized_main_window_action)
19
+ self.normal_main_window_action = QAction("Normal")
20
+ self.normal_main_window_action.triggered.connect(self.main_window.showNormal)
21
+ self.menu.addAction(self.normal_main_window_action)
22
+ self.close_main_window_action = QAction("Close")
23
+ self.close_main_window_action.triggered.connect(self.close_all)
24
+ self.menu.addAction(self.close_main_window_action)
25
+ self.setContextMenu(self.menu)
26
+
27
+ def close_all(self):
28
+ self.setVisible(False)
29
+ self.main_window.close()
30
+ sys.exit(0)
31
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: je-editor
3
- Version: 0.0.123
3
+ Version: 0.0.124
4
4
  Summary: JEditor is basic but powerful editor include GPT
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  License: MIT
@@ -30,7 +30,7 @@ je_editor/pyside_ui/dialog/search_ui/search_text_box.py,sha256=DRtJ3QHu-QzvGwIRL
30
30
  je_editor/pyside_ui/main_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  je_editor/pyside_ui/main_ui/main_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  je_editor/pyside_ui/main_ui/main_ui/editor_main_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- je_editor/pyside_ui/main_ui/main_ui/editor_main_ui/main_editor.py,sha256=TqNVXL_sB43d_0OqVvAST5QZrD33JBLWq6MH33vnRac,9051
33
+ je_editor/pyside_ui/main_ui/main_ui/editor_main_ui/main_editor.py,sha256=rH-kHpAcIhBlvmSBAvbRbSEldL42fNKc8WM8BjgEhe8,9370
34
34
  je_editor/pyside_ui/main_ui/main_ui_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
35
  je_editor/pyside_ui/main_ui/main_ui_setting/ui_setting.py,sha256=RGOUWL1aY9eL6r8HjDA0Hty2VqdpACJs-AMxDo9U1h8,1754
36
36
  je_editor/pyside_ui/main_ui/menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -48,6 +48,8 @@ je_editor/pyside_ui/main_ui/menu/menu_bar/venv_menu/__init__.py,sha256=47DEQpj8H
48
48
  je_editor/pyside_ui/main_ui/menu/menu_bar/venv_menu/build_venv_menu.py,sha256=Xl4YyqKXQush0GkofiqgNEx1ML_Xili56j40T_gPg5w,2432
49
49
  je_editor/pyside_ui/main_ui/save_user_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  je_editor/pyside_ui/main_ui/save_user_setting/user_setting_file.py,sha256=yLEnSbZfU4tn_LuBYvCJ4UW86ec-GnNM17ZE8zy7Mbw,680
51
+ je_editor/pyside_ui/main_ui/system_tray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
+ je_editor/pyside_ui/main_ui/system_tray/extend_system_tray.py,sha256=pNO1L-vkd3aUlxLnrUJtD5pJ4D-FShkzYKtLgkIQBto,1303
51
53
  je_editor/pyside_ui/main_ui/treeview/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
54
  je_editor/pyside_ui/main_ui/treeview/project_treeview/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
55
  je_editor/pyside_ui/main_ui/treeview/project_treeview/set_project_treeview.py,sha256=PcaPw0DFdAHsB7s9PZSv1ND_1Vk9tjjZhCANZtRKBkI,2298
@@ -70,8 +72,8 @@ je_editor/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
70
72
  je_editor/utils/redirect_manager/redirect_manager_class.py,sha256=izziweWPARG9TjvZWNgRYMnZblfHLkSyAaEW4ku9SuE,2057
71
73
  je_editor/utils/venv_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
74
  je_editor/utils/venv_check/check_venv.py,sha256=3HjMwqJzqY8Ir6auniyZMlL0h0TAvP3nZkOI-bR4_jA,798
73
- je_editor-0.0.123.dist-info/LICENSE,sha256=YcSMBs2sED35BtlErMkfIDye9Oo-3SYmUJiZJOpa34g,1085
74
- je_editor-0.0.123.dist-info/METADATA,sha256=JAFWbSXjJbf7Y24KliSZGw0c_43W_q-ZYGpIhU0s8sg,3398
75
- je_editor-0.0.123.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
76
- je_editor-0.0.123.dist-info/top_level.txt,sha256=_9YA7BgxpkmdLs-5V_UQILxClcMRgPyG1a3qaE-Bkcs,10
77
- je_editor-0.0.123.dist-info/RECORD,,
75
+ je_editor-0.0.124.dist-info/LICENSE,sha256=YcSMBs2sED35BtlErMkfIDye9Oo-3SYmUJiZJOpa34g,1085
76
+ je_editor-0.0.124.dist-info/METADATA,sha256=Bzm4Ixt7y9mmqjEarhgRmW4jXVo_BGtlAdRyNu9h6Qc,3398
77
+ je_editor-0.0.124.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
78
+ je_editor-0.0.124.dist-info/top_level.txt,sha256=_9YA7BgxpkmdLs-5V_UQILxClcMRgPyG1a3qaE-Bkcs,10
79
+ je_editor-0.0.124.dist-info/RECORD,,