frontengine 0.0.58__py3-none-any.whl → 0.0.60__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_ui.py CHANGED
@@ -6,6 +6,7 @@ from typing import Dict, Type
6
6
  from PySide6.QtCore import QTimer, QCoreApplication
7
7
  from PySide6.QtGui import QIcon, QAction, Qt
8
8
  from PySide6.QtWidgets import QMainWindow, QApplication, QGridLayout, QTabWidget, QMenuBar, QWidget
9
+ from je_auto_control import CriticalExit, keyboard_keys_table
9
10
  from qt_material import apply_stylesheet, QtStyleTools
10
11
 
11
12
  from frontengine.system_tray.extend_system_tray import ExtendSystemTray
@@ -21,6 +22,7 @@ from frontengine.ui.page.text.text_setting_ui import TextSettingUI
21
22
  from frontengine.ui.page.video.video_setting_ui import VideoSettingUI
22
23
  from frontengine.ui.page.web.web_setting_ui import WEBSettingUI
23
24
  from frontengine.user_setting.user_setting_file import write_user_setting, read_user_setting, user_setting_dict
25
+ from frontengine.utils.critical_exit.critical_exit import FrontEngineCriticalExit
24
26
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
25
27
 
26
28
  FrontEngine_EXTEND_TAB: Dict[str, Type[QWidget]] = {}
@@ -97,6 +99,10 @@ class FrontEngineMainUI(QMainWindow, QtStyleTools):
97
99
  build_language_menu(self)
98
100
  build_help_menu(self)
99
101
  build_how_to_menu(self)
102
+ # Set critical exit
103
+ self.critical_ext = FrontEngineCriticalExit()
104
+ self.critical_ext.set_critical_key(keyboard_keys_table.get("f12"))
105
+ self.critical_ext.init_critical_exit()
100
106
  # Set Icon
101
107
  self.icon_path = Path(os.getcwd() + "/je_driver_icon.ico")
102
108
  self.icon = QIcon(str(self.icon_path))
@@ -1,6 +1,9 @@
1
1
  from __future__ import annotations
2
+
2
3
  from typing import TYPE_CHECKING
3
4
 
5
+ from PySide6.QtWidgets import QMessageBox
6
+
4
7
  if TYPE_CHECKING:
5
8
  from frontengine.ui.main_ui import FrontEngineMainUI
6
9
 
@@ -22,4 +25,20 @@ def build_help_menu(ui_we_want_to_set: FrontEngineMainUI) -> None:
22
25
  ui_we_want_to_set.help_menu.addAction(
23
26
  ui_we_want_to_set.help_menu.open_issue_action
24
27
  )
28
+ ui_we_want_to_set.help_menu.how_to_critical_exit = QAction(
29
+ language_wrapper.language_word_dict.get("how_to_critical_exit_action")
30
+ )
31
+ ui_we_want_to_set.help_menu.how_to_critical_exit.triggered.connect(
32
+ lambda: how_to_critical_exit(ui_we_want_to_set)
33
+ )
34
+ ui_we_want_to_set.help_menu.addAction(
35
+ ui_we_want_to_set.help_menu.how_to_critical_exit
36
+ )
25
37
 
38
+
39
+ def how_to_critical_exit(ui_we_want_to_set: FrontEngineMainUI):
40
+ message_box: QMessageBox = QMessageBox(ui_we_want_to_set)
41
+ message_box.setText(
42
+ language_wrapper.language_word_dict.get("how_to_critical_exit")
43
+ )
44
+ message_box.show()
@@ -38,11 +38,17 @@ class SceneManagerUI(QWidget):
38
38
  language_wrapper.language_word_dict.get("Show on all screen")
39
39
  )
40
40
  self.show_on_all_screen_checkbox.clicked.connect(self.set_show_all_screen)
41
+ # Clear json button
42
+ self.clear_json_button = QPushButton(
43
+ language_wrapper.language_word_dict.get("scene_script_clear")
44
+ )
45
+ self.clear_json_button.clicked.connect(self.json_plaintext.clear)
41
46
  # Add to layout
42
47
  self.grid_layout.addWidget(self.json_plaintext, 0, 0, -1, -1)
43
48
  self.grid_layout.addWidget(self.read_scene_json_button, 1, 0)
44
49
  self.grid_layout.addWidget(self.write_scene_json_button, 1, 1)
45
50
  self.grid_layout.addWidget(self.show_on_all_screen_checkbox, 2, 0)
51
+ self.grid_layout.addWidget(self.clear_json_button, 2, 1)
46
52
  self.grid_layout.addWidget(self.start_button, 3, 0, 1, 0)
47
53
  self.setLayout(self.grid_layout)
48
54
 
File without changes
@@ -0,0 +1,21 @@
1
+ import _thread
2
+ import sys
3
+
4
+ from PySide6.QtWidgets import QApplication
5
+ from je_auto_control import CriticalExit
6
+ from je_auto_control.wrapper.platform_wrapper import keyboard_check
7
+
8
+
9
+ class FrontEngineCriticalExit(CriticalExit):
10
+
11
+ def run(self) -> None:
12
+ """
13
+ listener keycode _exit_check_key to interrupt
14
+ """
15
+ try:
16
+ while True:
17
+ if keyboard_check.check_key_is_press(self._exit_check_key):
18
+ _thread.interrupt_main()
19
+ QApplication.exit(0)
20
+ except Exception as error:
21
+ print(repr(error), file=sys.stderr)
@@ -130,6 +130,8 @@ english_word_dict = {
130
130
  # Help Menu
131
131
  "help_menu_label": "Help menu",
132
132
  "help_menu_open_issue": "Open issue tracker",
133
+ "how_to_critical_exit_action": "How to force close",
134
+ "how_to_critical_exit": "Press F12 to close urgently",
133
135
  # HowTo Menu
134
136
  "doc_menu_label": "Doc menu",
135
137
  "doc_menu_open_doc": "Open doc",
@@ -131,6 +131,8 @@ french_word_dict = {
131
131
  # Help Menu
132
132
  "help_menu_label": "Menu Aide",
133
133
  "help_menu_open_issue": "Ouvrir un rapport de problème",
134
+ "how_to_critical_exit_action": " Comment forcer la fermeture",
135
+ "how_to_critical_exit": "Appuyez sur F12 pour fermer d’urgence",
134
136
  # HowTo Menu
135
137
  "doc_menu_label": "Menu Documentation",
136
138
  "doc_menu_open_doc": "Ouvrir la documentation",
@@ -131,6 +131,8 @@ germany_word_dict = {
131
131
  # Hilfe-Menü
132
132
  "help_menu_label": "Hilfe-Menü",
133
133
  "help_menu_open_issue": "Problem melden",
134
+ "how_to_critical_exit_action": "Wie erzwinge ich das Schließen",
135
+ "how_to_critical_exit": "Drücken Sie F12, um dringend zu schließen",
134
136
  # HowTo-Menü
135
137
  "doc_menu_label": "Dokumentations-Menü",
136
138
  "doc_menu_open_doc": "Dokumentation öffnen",
@@ -131,6 +131,8 @@ italian_word_dict = {
131
131
  # Help Menu
132
132
  "help_menu_label": "Menu Aiuto",
133
133
  "help_menu_open_issue": "Apri un ticket di supporto",
134
+ "how_to_critical_exit_action": "Come forzare la chiusura",
135
+ "how_to_critical_exit": "Premere F12 per chiudere urgentemente",
134
136
  # HowTo Menu
135
137
  "doc_menu_label": "Menu Documentazione",
136
138
  "doc_menu_open_doc": "Apri la documentazione",
@@ -131,6 +131,8 @@ russian_word_dict = {
131
131
  # Help Menu
132
132
  "help_menu_label": "Меню помощи",
133
133
  "help_menu_open_issue": "Открыть жалобу",
134
+ "how_to_critical_exit_action": "Как принудительно закрыть",
135
+ "how_to_critical_exit": "Нажмите F12, чтобы срочно закрыть",
134
136
  # HowTo Menu
135
137
  "doc_menu_label": "Меню документации",
136
138
  "doc_menu_open_doc": "Открыть документацию",
@@ -131,6 +131,8 @@ simplified_chinese_word_dict = {
131
131
  # Help Menu
132
132
  "help_menu_label": "帮助菜单",
133
133
  "help_menu_open_issue": "开启问题回报",
134
+ "how_to_critical_exit_action": "怎么强制关闭",
135
+ "how_to_critical_exit": "按下 F12 可以紧急关闭",
134
136
  # HowTo Menu
135
137
  "doc_menu_label": "文件菜单",
136
138
  "doc_menu_open_doc": "开启文件",
@@ -131,6 +131,8 @@ traditional_chinese_word_dict = {
131
131
  # Help Menu
132
132
  "help_menu_label": "幫助選單",
133
133
  "help_menu_open_issue": "開啟問題回報",
134
+ "how_to_critical_exit_action": "怎麼強制關閉",
135
+ "how_to_critical_exit": "按下 F12 可以緊急關閉",
134
136
  # HowTo Menu
135
137
  "doc_menu_label": "文件選單",
136
138
  "doc_menu_open_doc": "開啟文件",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frontengine
3
- Version: 0.0.58
3
+ Version: 0.0.60
4
4
  Summary: FrontEngine is BingGPT that can use-define front end or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  License: MIT
@@ -18,10 +18,7 @@ Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
19
  Requires-Dist: PySide6
20
20
  Requires-Dist: qt-material
21
- Requires-Dist: re-edge-gpt
22
- Requires-Dist: pyttsx3
23
- Requires-Dist: SpeechRecognition
24
- Requires-Dist: PyAudio
21
+ Requires-Dist: je-auto-control
25
22
 
26
23
  [![Downloads](https://static.pepy.tech/badge/frontengine)](https://pepy.tech/project/frontengine)
27
24
 
@@ -22,14 +22,14 @@ frontengine/show/web/webview.py,sha256=2-7HW395Fp0SZnjUcrTGW-AWk_5OAAyzgjoXnnPpQ
22
22
  frontengine/system_tray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  frontengine/system_tray/extend_system_tray.py,sha256=k4u2lEox-fCwmQKy1qnek9SGoqUkMFv8Av_DcNanwcE,1595
24
24
  frontengine/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- frontengine/ui/main_ui.py,sha256=geyNI7dI5pbnRBvAoRVVEYUtfmQp5pk3w1Xf_BXj93k,7584
25
+ frontengine/ui/main_ui.py,sha256=aFHnHPN38rePnljBAhdbpX-Stqj84hj2q4kmefPdc3U,7938
26
26
  frontengine/ui/color/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  frontengine/ui/color/global_color.py,sha256=Rh-R-X2BHVjcK5MTBZ1nEMVHgLj1rP4nk-wTQKbiwFA,125
28
28
  frontengine/ui/dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  frontengine/ui/dialog/choose_file_dialog.py,sha256=Xu7c_2cQav3LyQF9S2HEW_PBEvJNaZCYPcliiteQpV8,3036
30
30
  frontengine/ui/dialog/save_file_dialog.py,sha256=e-sgUsmEAU1JSvzzmTmc2pf9rnW61alOgd48ESTYG1I,373
31
31
  frontengine/ui/menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- frontengine/ui/menu/help_menu.py,sha256=_eNm60mrilBCVXumxnFuWDR48IONDjN5CDMAAgcyhAY,965
32
+ frontengine/ui/menu/help_menu.py,sha256=WD6t4Mp5OKAlfI9RDKz2kN9ODBcil2rf4H61REK614A,1670
33
33
  frontengine/ui/menu/how_to_menu.py,sha256=s1azoiD8H2lApbFPcrv8QvsR1mwh6O_gFHRngQ7bsbc,952
34
34
  frontengine/ui/menu/language_menu.py,sha256=p0nA4bgxc7CIX8_WxUKlnjNLFyvmqCx-h6GXSazlVeM,4271
35
35
  frontengine/ui/page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -41,7 +41,7 @@ frontengine/ui/page/gif/gif_setting_ui.py,sha256=HherbCmOJgO5TLXHt9sflTspmCQh1pv
41
41
  frontengine/ui/page/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  frontengine/ui/page/image/image_setting_ui.py,sha256=0in02Swq_qM-jZNevgoZe0QzjbnAl5L0ZMHOTHzQbrQ,6038
43
43
  frontengine/ui/page/scene_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- frontengine/ui/page/scene_setting/scene_manager.py,sha256=XrdIAWCxTDqrCXOiFCEOI6BSpD3nv3qSpkG7JFM9JD4,4675
44
+ frontengine/ui/page/scene_setting/scene_manager.py,sha256=3s7UlMbQVTyDZd725wdzDvXqeiunE1Q5UQj5hxWGhIs,4978
45
45
  frontengine/ui/page/scene_setting/scene_setting_ui.py,sha256=jc6BGKHJGmPbFxChyILW3BBU_EF1yT0l63OJNqJYWSM,2590
46
46
  frontengine/ui/page/scene_setting/scene_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  frontengine/ui/page/scene_setting/scene_page/gif.py,sha256=DS6HHx-SRtliWwr-KD8UpH6lxufeudyUVQgv41iMdE0,4436
@@ -64,6 +64,8 @@ frontengine/user_setting/user_setting_file.py,sha256=yMAPFfzNpYv6qBcFqNoFoxc68bg
64
64
  frontengine/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
65
  frontengine/utils/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  frontengine/utils/browser/browser.py,sha256=BQBjJpbTubqruUvg75O21SUhawFdVhDmuYxtd_FN1Gs,85
67
+ frontengine/utils/critical_exit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ frontengine/utils/critical_exit/critical_exit.py,sha256=Mt86rwADGlXlgYw6caN9w9nNMNbk1DTaG1Hy5mz7KhA,635
67
69
  frontengine/utils/exception/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
68
70
  frontengine/utils/exception/exception_tags.py,sha256=V4R_RlNYX_zgAKU9I7NLimYic--oF-2qHDHCwpVYHcc,325
69
71
  frontengine/utils/exception/exceptions.py,sha256=ZGY8HPvx3PGQkH_5VKF3IQMmkkUbBKJILTGn4o2Y4-g,296
@@ -79,18 +81,18 @@ frontengine/utils/json_format/json_process.py,sha256=xJt_4Hm_o3sNDoeGtRW9Q7fsRj3
79
81
  frontengine/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
82
  frontengine/utils/logging/loggin_instance.py,sha256=Zjr384o2q8x0QWv_hNoHIM_zCp5-HFgW14t-d30GUcQ,598
81
83
  frontengine/utils/multi_language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- frontengine/utils/multi_language/english.py,sha256=Nz1nWzI5YqOIw1KrA7DY4HEfpbKWKo5oGodbQRoqO6M,5731
83
- frontengine/utils/multi_language/france.py,sha256=O8H8qA1MRScLwqjdBQ9JThbmGfjUnv0iE60kX8_pekM,6657
84
- frontengine/utils/multi_language/germany.py,sha256=rpB048Oao2Fc2l1NTBmvHLjB4Cid_hpRDGY6HBcoDLM,6387
85
- frontengine/utils/multi_language/italy.py,sha256=rTTGQZnY0NJsHyVcM4fXtxRnzsF-SJjWi_RE4hYhey4,6426
84
+ frontengine/utils/multi_language/english.py,sha256=9A1Hl9HkRqjhDj3oGYpFCItGMU-VnTbuRfn31xQd5Fk,5849
85
+ frontengine/utils/multi_language/france.py,sha256=k_LCWiDB22k6PKvrhIrQq2Inm1BoaH5Gwgb6xyMy8o0,6797
86
+ frontengine/utils/multi_language/germany.py,sha256=jwg7KXtCahhES6ZPeeUugLoJgaUpnjgbRxN2ZTlJWXs,6534
87
+ frontengine/utils/multi_language/italy.py,sha256=UaxuEyet2TUyLBR9JI1Bb7-zCx9iZ9oERImXTtTOV18,6560
86
88
  frontengine/utils/multi_language/language_wrapper.py,sha256=GpQxvMlDMiHOAp71Ki0bOM0sL5kiI9tszpE1fQCZC14,1588
87
- frontengine/utils/multi_language/russian.py,sha256=A_E3IN6u6DHObzb_TMjarGcFJfvZJYVC51IKaTDLvEY,8147
88
- frontengine/utils/multi_language/simplified_chinese.py,sha256=MN4X42_LlpCRJTzkN94jcMcRSEA9rAq2rApjqqGiXzU,5956
89
- frontengine/utils/multi_language/traditional_chinese.py,sha256=NlrP2akyUjhqAxNcm3tPt8hDDe6Xu8fzOy7GIEfQgq8,5963
89
+ frontengine/utils/multi_language/russian.py,sha256=roDQ_TIbbk5B0kOr6sJEjeDMJZGqloz43oapIcaR8PE,8326
90
+ frontengine/utils/multi_language/simplified_chinese.py,sha256=wDnne4PiVA3eJ9Q4sxiJ-n_81E-42hi6608698LwsPA,6076
91
+ frontengine/utils/multi_language/traditional_chinese.py,sha256=SSE338u2Y_-N0fumIVeBBRhnvjizT92tQdYcOJiMSFM,6083
90
92
  frontengine/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
93
  frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=zGJeVpjRU12MCnhVAdksAIhK_IhddI4cNKVb7DMgOZA,1888
92
- frontengine-0.0.58.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
93
- frontengine-0.0.58.dist-info/METADATA,sha256=dqBDjP-XaZlaNl6jMLbIvBj70tgQRnw6jHgvNZ1bo8Q,2161
94
- frontengine-0.0.58.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
95
- frontengine-0.0.58.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
96
- frontengine-0.0.58.dist-info/RECORD,,
94
+ frontengine-0.0.60.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
95
+ frontengine-0.0.60.dist-info/METADATA,sha256=apVmDgn55dzPz-x4jtPs50095kxtPhN2StAY5hSWzoo,2083
96
+ frontengine-0.0.60.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
97
+ frontengine-0.0.60.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
98
+ frontengine-0.0.60.dist-info/RECORD,,