frontengine-dev 0.0.36__py3-none-any.whl → 0.0.37__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- frontengine/ui/main/main_ui.py +21 -13
- frontengine/ui/main/system_tray/__init__.py +0 -0
- frontengine/ui/main/system_tray/extend_system_tray.py +36 -0
- {frontengine_dev-0.0.36.dist-info → frontengine_dev-0.0.37.dist-info}/METADATA +1 -1
- {frontengine_dev-0.0.36.dist-info → frontengine_dev-0.0.37.dist-info}/RECORD +8 -6
- {frontengine_dev-0.0.36.dist-info → frontengine_dev-0.0.37.dist-info}/LICENSE +0 -0
- {frontengine_dev-0.0.36.dist-info → frontengine_dev-0.0.37.dist-info}/WHEEL +0 -0
- {frontengine_dev-0.0.36.dist-info → frontengine_dev-0.0.37.dist-info}/top_level.txt +0 -0
frontengine/ui/main/main_ui.py
CHANGED
@@ -4,10 +4,11 @@ from pathlib import Path
|
|
4
4
|
|
5
5
|
from PySide6.QtCore import QTimer
|
6
6
|
from PySide6.QtGui import QIcon, QAction
|
7
|
-
from PySide6.QtWidgets import QMainWindow, QApplication, QGridLayout, QTabWidget,
|
7
|
+
from PySide6.QtWidgets import QMainWindow, QApplication, QGridLayout, QTabWidget, QMenuBar
|
8
8
|
from qt_material import apply_stylesheet, QtStyleTools
|
9
9
|
|
10
10
|
from frontengine.ui.main.language_menu import build_language_menu
|
11
|
+
from frontengine.ui.main.system_tray.extend_system_tray import ExtendSystemTray
|
11
12
|
from frontengine.ui.setting.chat_scene.chat_scene_setting import ChatSceneUI
|
12
13
|
from frontengine.ui.setting.control_center.control_center_ui import ControlCenterUI
|
13
14
|
from frontengine.ui.setting.gif.gif_setting_ui import GIFSettingUI
|
@@ -93,12 +94,15 @@ class FrontEngineMainUI(QMainWindow, QtStyleTools):
|
|
93
94
|
language_wrapper.language_word_dict.get("tab_control_center_text")
|
94
95
|
)
|
95
96
|
self.setCentralWidget(self.tab_widget)
|
97
|
+
# Set Icon
|
96
98
|
self.icon_path = Path(os.getcwd() + "/je_driver_icon.ico")
|
97
99
|
self.icon = QIcon(str(self.icon_path))
|
98
100
|
if self.icon.isNull() is False:
|
99
101
|
self.setWindowIcon(self.icon)
|
100
|
-
|
101
|
-
|
102
|
+
if ExtendSystemTray.isSystemTrayAvailable():
|
103
|
+
self.system_tray = ExtendSystemTray(main_window=self)
|
104
|
+
self.system_tray.setIcon(self.icon)
|
105
|
+
self.system_tray.show()
|
102
106
|
if debug:
|
103
107
|
self.debug_timer = QTimer()
|
104
108
|
self.debug_timer.setInterval(10000)
|
@@ -126,16 +130,20 @@ class FrontEngineMainUI(QMainWindow, QtStyleTools):
|
|
126
130
|
self.apply_stylesheet(self, self.sender().text())
|
127
131
|
|
128
132
|
def closeEvent(self, event) -> None:
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
133
|
+
if self.system_tray.isVisible():
|
134
|
+
self.hide()
|
135
|
+
event.ignore()
|
136
|
+
else:
|
137
|
+
super().closeEvent(event)
|
138
|
+
self.video_setting_ui.video_widget_list.clear()
|
139
|
+
self.image_setting_ui.image_widget_list.clear()
|
140
|
+
self.web_setting_ui.web_widget_list.clear()
|
141
|
+
self.gif_setting_ui.gif_widget_list.clear()
|
142
|
+
self.sound_player_setting_ui.sound_widget_list.clear()
|
143
|
+
self.text_setting_ui.text_widget_list.clear()
|
144
|
+
self.chat_scene_ui.close_scene()
|
145
|
+
self.chat_scene_ui.close()
|
146
|
+
write_user_setting()
|
139
147
|
|
140
148
|
|
141
149
|
def start_front_engine(debug: bool = False) -> None:
|
File without changes
|
@@ -0,0 +1,36 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from typing import TYPE_CHECKING
|
4
|
+
|
5
|
+
if TYPE_CHECKING:
|
6
|
+
from frontengine.ui.main.main_ui import FrontEngineMainUI
|
7
|
+
import sys
|
8
|
+
|
9
|
+
from PySide6.QtGui import QAction
|
10
|
+
from PySide6.QtWidgets import QSystemTrayIcon, QMenu
|
11
|
+
|
12
|
+
|
13
|
+
class ExtendSystemTray(QSystemTrayIcon):
|
14
|
+
|
15
|
+
def __init__(self, main_window: FrontEngineMainUI):
|
16
|
+
super().__init__(parent=main_window)
|
17
|
+
self.menu = QMenu()
|
18
|
+
self.main_window = main_window
|
19
|
+
self.hide_main_window_action = QAction("Hide")
|
20
|
+
self.hide_main_window_action.triggered.connect(self.main_window.hide)
|
21
|
+
self.menu.addAction(self.hide_main_window_action)
|
22
|
+
self.maximized_main_window_action = QAction("Maximized")
|
23
|
+
self.maximized_main_window_action.triggered.connect(self.main_window.showMaximized)
|
24
|
+
self.menu.addAction(self.maximized_main_window_action)
|
25
|
+
self.normal_main_window_action = QAction("Normal")
|
26
|
+
self.normal_main_window_action.triggered.connect(self.main_window.showNormal)
|
27
|
+
self.menu.addAction(self.normal_main_window_action)
|
28
|
+
self.close_main_window_action = QAction("Close")
|
29
|
+
self.close_main_window_action.triggered.connect(self.close_all)
|
30
|
+
self.menu.addAction(self.close_main_window_action)
|
31
|
+
self.setContextMenu(self.menu)
|
32
|
+
|
33
|
+
def close_all(self):
|
34
|
+
self.setVisible(False)
|
35
|
+
self.main_window.close()
|
36
|
+
sys.exit(0)
|
@@ -34,7 +34,9 @@ frontengine/ui/dialog/choose_file_dialog.py,sha256=UvQEc0sjGgJdfx2YbTANtCrIiXTlw
|
|
34
34
|
frontengine/ui/dialog/save_file_dialog.py,sha256=e-sgUsmEAU1JSvzzmTmc2pf9rnW61alOgd48ESTYG1I,373
|
35
35
|
frontengine/ui/main/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
36
|
frontengine/ui/main/language_menu.py,sha256=oIUW20LPZKIQ0IjTHchgkPeqCpQZidAzFkN29qKQ3OU,2039
|
37
|
-
frontengine/ui/main/main_ui.py,sha256
|
37
|
+
frontengine/ui/main/main_ui.py,sha256=-LwvioGb1yTOIPXeyPgZLD4NXwLXW_YEqcMkMgQg0Ig,7016
|
38
|
+
frontengine/ui/main/system_tray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
39
|
+
frontengine/ui/main/system_tray/extend_system_tray.py,sha256=beKmawtwmvpkbMgRMzzq5CBFdwrMAVYMwPhxUcdWnsc,1450
|
38
40
|
frontengine/ui/setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
39
41
|
frontengine/ui/setting/chat_scene/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
42
|
frontengine/ui/setting/chat_scene/chat_scene_setting.py,sha256=NkEnwswNpxv_Q0iiteas7m8Tx0QRaCVp7bGHzvUx9ZQ,8060
|
@@ -99,8 +101,8 @@ frontengine/utils/multi_language/language_wrapper.py,sha256=KBqsG6ng5LSJkGqmu_YD
|
|
99
101
|
frontengine/utils/multi_language/traditional_chinese.py,sha256=Oeabbu7iFNz5WNt_2P0-qc9DtYP3Ccska6MrclOSMYI,4982
|
100
102
|
frontengine/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
103
|
frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=zGJeVpjRU12MCnhVAdksAIhK_IhddI4cNKVb7DMgOZA,1888
|
102
|
-
frontengine_dev-0.0.
|
103
|
-
frontengine_dev-0.0.
|
104
|
-
frontengine_dev-0.0.
|
105
|
-
frontengine_dev-0.0.
|
106
|
-
frontengine_dev-0.0.
|
104
|
+
frontengine_dev-0.0.37.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
|
105
|
+
frontengine_dev-0.0.37.dist-info/METADATA,sha256=THZ2ZOtXtTyr0benAq8fqw3IUqvsxkQVPUPzjY_h4Us,3546
|
106
|
+
frontengine_dev-0.0.37.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92
|
107
|
+
frontengine_dev-0.0.37.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
|
108
|
+
frontengine_dev-0.0.37.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|