frontengine-dev 0.0.57__py3-none-any.whl → 0.0.58__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/__init__.py +1 -2
- frontengine/show/scene/extend_graphic_scene.py +0 -1
- frontengine/show/scene/extend_graphic_view.py +2 -1
- frontengine/show/scene/scene.py +23 -41
- frontengine/show/text/draw_text.py +28 -3
- frontengine/ui/dialog/choose_file_dialog.py +0 -9
- frontengine/ui/main_ui.py +2 -0
- frontengine/ui/menu/how_to_menu.py +13 -2
- frontengine/ui/page/control_center/control_center_ui.py +2 -6
- frontengine/ui/page/gif/gif_setting_ui.py +16 -4
- frontengine/ui/page/image/image_setting_ui.py +15 -3
- frontengine/ui/page/scene_setting/scene_manager.py +96 -0
- frontengine/ui/page/scene_setting/scene_page/gif.py +102 -0
- frontengine/ui/page/scene_setting/scene_page/image.py +83 -0
- frontengine/ui/page/scene_setting/scene_page/sound.py +84 -0
- frontengine/ui/page/scene_setting/scene_page/text.py +93 -0
- frontengine/ui/page/scene_setting/scene_page/video.py +122 -0
- frontengine/ui/page/scene_setting/scene_page/web.py +66 -0
- frontengine/ui/page/scene_setting/scene_setting_ui.py +30 -23
- frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -1
- frontengine/ui/page/text/text_setting_ui.py +35 -7
- frontengine/ui/page/utils.py +23 -0
- frontengine/ui/page/video/video_setting_ui.py +15 -3
- frontengine/ui/page/web/web_setting_ui.py +15 -3
- frontengine/user_setting/scene_setting.py +34 -0
- frontengine/utils/multi_language/english.py +10 -3
- frontengine/utils/multi_language/traditional_chinese.py +11 -3
- {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/METADATA +1 -1
- {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/RECORD +33 -45
- frontengine/ui/page/scene_setting/scene_tabs/Image.py +0 -61
- frontengine/ui/page/scene_setting/scene_tabs/gif.py +0 -74
- frontengine/ui/page/scene_setting/scene_tabs/scene_control.py +0 -78
- frontengine/ui/page/scene_setting/scene_tabs/sound.py +0 -44
- frontengine/ui/page/scene_setting/scene_tabs/tableview_model.py +0 -65
- frontengine/ui/page/scene_setting/scene_tabs/text.py +0 -77
- frontengine/ui/page/scene_setting/scene_tabs/ui.py +0 -56
- frontengine/ui/page/scene_setting/scene_tabs/video.py +0 -88
- frontengine/ui/page/scene_setting/scene_tabs/web.py +0 -74
- frontengine/user_setting/gif/__init__.py +0 -0
- frontengine/user_setting/gif/gif_setting.py +0 -5
- frontengine/user_setting/image/__init__.py +0 -0
- frontengine/user_setting/image/image_setting.py +0 -4
- frontengine/user_setting/sound/__init__.py +0 -0
- frontengine/user_setting/sound/sound_setting.py +0 -4
- frontengine/user_setting/text/__init__.py +0 -0
- frontengine/user_setting/text/text_setting.py +0 -5
- frontengine/user_setting/video/__init__.py +0 -0
- frontengine/user_setting/video/video_setting.py +0 -6
- frontengine/user_setting/web/__init__.py +0 -0
- frontengine/user_setting/web/web_setting.py +0 -4
- /frontengine/ui/page/scene_setting/{scene_tabs → scene_page}/__init__.py +0 -0
- {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/LICENSE +0 -0
- {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/WHEEL +0 -0
- {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,10 @@
|
|
1
1
|
from PySide6.QtCore import Qt
|
2
2
|
from PySide6.QtGui import QScreen, QGuiApplication
|
3
|
-
from PySide6.QtWidgets import QWidget, QGridLayout, QSlider, QLabel, QPushButton, QMessageBox, QCheckBox
|
3
|
+
from PySide6.QtWidgets import QWidget, QGridLayout, QSlider, QLabel, QPushButton, QMessageBox, QCheckBox, QDialog
|
4
4
|
|
5
5
|
from frontengine.show.video.video_player import VideoWidget
|
6
6
|
from frontengine.ui.dialog.choose_file_dialog import choose_video
|
7
|
+
from frontengine.ui.page.utils import monitor_choose_dialog
|
7
8
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
8
9
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
9
10
|
|
@@ -119,13 +120,24 @@ class VideoSettingUI(QWidget):
|
|
119
120
|
message_box.show()
|
120
121
|
else:
|
121
122
|
front_engine_logger.info("start_play_gif")
|
122
|
-
|
123
|
+
monitors = QGuiApplication.screens()
|
124
|
+
if self.show_all_screen is False and len(monitors) <= 1:
|
123
125
|
video_widget = self._create_video_widget()
|
124
126
|
video_widget.set_ui_window_flag(self.show_on_bottom_checkbox.isChecked())
|
125
127
|
video_widget.showMaximized()
|
128
|
+
elif self.show_all_screen is False and len(monitors) >= 2:
|
129
|
+
input_dialog, combobox = monitor_choose_dialog(self, monitors)
|
130
|
+
result = input_dialog.exec_()
|
131
|
+
if result == QDialog.DialogCode.Accepted:
|
132
|
+
select_monitor_index = int(combobox.currentText())
|
133
|
+
if len(monitors) > select_monitor_index:
|
134
|
+
monitor = monitors[select_monitor_index]
|
135
|
+
gif_widget = self._create_video_widget()
|
136
|
+
gif_widget.setScreen(monitor)
|
137
|
+
gif_widget.move(monitor.availableGeometry().topLeft())
|
138
|
+
gif_widget.showFullScreen()
|
126
139
|
else:
|
127
140
|
count = 0
|
128
|
-
monitors = QGuiApplication.screens()
|
129
141
|
for monitor in monitors:
|
130
142
|
video_widget = self._create_video_widget()
|
131
143
|
if count >= 1:
|
@@ -1,8 +1,9 @@
|
|
1
1
|
from PySide6.QtCore import Qt
|
2
2
|
from PySide6.QtGui import QScreen
|
3
|
-
from PySide6.QtWidgets import QWidget, QGridLayout, QLabel, QSlider, QLineEdit, QPushButton, QCheckBox
|
3
|
+
from PySide6.QtWidgets import QWidget, QGridLayout, QLabel, QSlider, QLineEdit, QPushButton, QCheckBox, QDialog
|
4
4
|
|
5
5
|
from frontengine.show.web.webview import WebWidget
|
6
|
+
from frontengine.ui.page.utils import monitor_choose_dialog
|
6
7
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
7
8
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
8
9
|
|
@@ -93,12 +94,23 @@ class WEBSettingUI(QWidget):
|
|
93
94
|
self.opacity_slider_value_label.setText(str(self.opacity_slider.value()))
|
94
95
|
|
95
96
|
def start_open_web_with_url(self) -> None:
|
96
|
-
|
97
|
+
monitors = QScreen.virtualSiblings(self.screen())
|
98
|
+
if self.show_all_screen is False and len(monitors) <= 1:
|
97
99
|
web_widget = self._create_web_widget()
|
98
100
|
web_widget.showMaximized()
|
101
|
+
elif self.show_all_screen is False and len(monitors) >= 2:
|
102
|
+
input_dialog, combobox = monitor_choose_dialog(self, monitors)
|
103
|
+
result = input_dialog.exec_()
|
104
|
+
if result == QDialog.DialogCode.Accepted:
|
105
|
+
select_monitor_index = int(combobox.currentText())
|
106
|
+
if len(monitors) > select_monitor_index:
|
107
|
+
monitor = monitors[select_monitor_index]
|
108
|
+
gif_widget = self._create_web_widget()
|
109
|
+
gif_widget.setScreen(monitor)
|
110
|
+
gif_widget.move(monitor.availableGeometry().topLeft())
|
111
|
+
gif_widget.showFullScreen()
|
99
112
|
else:
|
100
113
|
front_engine_logger.info("start_open_web_with_url")
|
101
|
-
monitors = QScreen.virtualSiblings(self.screen())
|
102
114
|
for monitor in monitors:
|
103
115
|
web_widget = self._create_web_widget()
|
104
116
|
web_widget.setScreen(monitor)
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
from PySide6.QtWidgets import QWidget, QFileDialog
|
4
|
+
|
5
|
+
from frontengine.ui.dialog.choose_file_dialog import choose_file
|
6
|
+
from frontengine.utils.json.json_file import write_json, read_json
|
7
|
+
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
8
|
+
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
9
|
+
|
10
|
+
scene_json = {
|
11
|
+
|
12
|
+
}
|
13
|
+
|
14
|
+
|
15
|
+
def choose_scene_json(
|
16
|
+
trigger_ui: QWidget, file_filter: str = "Json (*.json;)", extensions: list = None) -> str:
|
17
|
+
front_engine_logger.info("choose_scene_json")
|
18
|
+
extensions = extensions or [".json"]
|
19
|
+
file_path = choose_file(
|
20
|
+
trigger_ui=trigger_ui, file_filter=file_filter, extensions=extensions,
|
21
|
+
warning_message=language_wrapper.language_word_dict.get("scene_choose_message_box"))
|
22
|
+
if file_path:
|
23
|
+
scene_json.update(read_json(file_path))
|
24
|
+
|
25
|
+
|
26
|
+
def write_scene_file(parent_qt_instance: QWidget, file_filter: str = "Json (*.json;)"):
|
27
|
+
file_path = QFileDialog().getSaveFileName(
|
28
|
+
parent=parent_qt_instance,
|
29
|
+
dir=os.getcwd(),
|
30
|
+
filter=file_filter
|
31
|
+
)
|
32
|
+
if file_path:
|
33
|
+
file_path = file_path[0]
|
34
|
+
write_json(str(file_path), scene_json)
|
@@ -54,6 +54,9 @@ english_word_dict = {
|
|
54
54
|
"seconds": "sec",
|
55
55
|
"close_delay": "Message disappear time sec",
|
56
56
|
"country_code": "locale code",
|
57
|
+
"show_on_which_monitor": "Show on which monitor",
|
58
|
+
"ok": "ok",
|
59
|
+
"no": "no",
|
57
60
|
# GIF setting ui
|
58
61
|
"gif_setting_ui_choose_file": "Choose GIF or WEBP file",
|
59
62
|
"gif_setting_ui_play": "Start Play GIF or WEBP",
|
@@ -71,6 +74,7 @@ english_word_dict = {
|
|
71
74
|
"sound_player_setting_message_box_sound": "Please choose a sound file",
|
72
75
|
# Text setting ui
|
73
76
|
"text_setting_start_draw": "Start draw text on screen",
|
77
|
+
"text_setting_choose_position": "Choose text alignment",
|
74
78
|
# Video setting ui
|
75
79
|
"video_setting_choose_file": "Choose video file",
|
76
80
|
"video_setting_start_play": "Start Play Video",
|
@@ -81,6 +85,7 @@ english_word_dict = {
|
|
81
85
|
"web_setting_open_enable_input": "Enable input",
|
82
86
|
# Scene UI
|
83
87
|
"tab_scene_text": "Scene",
|
88
|
+
"scene_start": "Start scene",
|
84
89
|
"scene_table_view_type": "Type",
|
85
90
|
"scene_file_path": "File path",
|
86
91
|
"scene_setting_start_scene_button": "Start Scene",
|
@@ -90,13 +95,14 @@ english_word_dict = {
|
|
90
95
|
"scene_add_text": "Add text to scene",
|
91
96
|
"scene_add_video": "Add video to scene",
|
92
97
|
"scene_add_web": "Add web to scene",
|
98
|
+
"scene_url_label": "URL",
|
93
99
|
"scene_add_UI": "Add ui to scene",
|
94
100
|
"scene_choose_message_box": "Please choose a scene file",
|
95
101
|
"scene_choose_output_path_message_box": "Please choose a scene file output path",
|
96
102
|
"scene_output": "output scene file",
|
97
103
|
"scene_input": "load scene file",
|
98
|
-
"
|
99
|
-
"
|
104
|
+
"scene_script_clear": "clear all script",
|
105
|
+
"scene_script": "Scene script",
|
100
106
|
# Chat scene input
|
101
107
|
"chat_scene_input_title": "input chat content",
|
102
108
|
"chat_scene_send_chat": "send text",
|
@@ -120,5 +126,6 @@ english_word_dict = {
|
|
120
126
|
"help_menu_label": "Help menu",
|
121
127
|
"help_menu_open_issue": "Open issue tracker",
|
122
128
|
# HowTo Menu
|
123
|
-
"
|
129
|
+
"doc_menu_label": "Doc menu",
|
130
|
+
"doc_menu_open_doc": "Open doc",
|
124
131
|
}
|
@@ -54,6 +54,9 @@ traditional_chinese_word_dict = {
|
|
54
54
|
"seconds": "秒",
|
55
55
|
"close_delay": "字幕消失時間 秒",
|
56
56
|
"country_code": "區域代碼",
|
57
|
+
"show_on_which_monitor": "顯示在哪個螢幕",
|
58
|
+
"ok": "確定",
|
59
|
+
"no": "否",
|
57
60
|
# GIF setting ui
|
58
61
|
"gif_setting_ui_choose_file": "選擇 GIF 或 WEBP 檔案",
|
59
62
|
"gif_setting_ui_play": "開始撥放 GIF 或 WEBP",
|
@@ -71,6 +74,8 @@ traditional_chinese_word_dict = {
|
|
71
74
|
"sound_player_setting_message_box_sound": "請選擇音檔",
|
72
75
|
# Text setting ui
|
73
76
|
"text_setting_start_draw": "開始在螢幕上繪製文字",
|
77
|
+
"text_setting_choose_alignment": "選擇文字排列方式",
|
78
|
+
"text_setting_alignment_Top": "置頂",
|
74
79
|
# Video setting ui
|
75
80
|
"video_setting_choose_file": "選擇影片檔案",
|
76
81
|
"video_setting_start_play": "開始撥放影片",
|
@@ -81,6 +86,7 @@ traditional_chinese_word_dict = {
|
|
81
86
|
"web_setting_open_enable_input": "啟用輸入",
|
82
87
|
# Scene UI
|
83
88
|
"tab_scene_text": "場景",
|
89
|
+
"scene_start": "開始場景",
|
84
90
|
"scene_table_view_type": "類型",
|
85
91
|
"scene_file_path": "檔案路徑",
|
86
92
|
"scene_setting_start_scene_button": "開始場景",
|
@@ -90,13 +96,14 @@ traditional_chinese_word_dict = {
|
|
90
96
|
"scene_add_text": "添加文字到場景",
|
91
97
|
"scene_add_video": "添加影片到場景",
|
92
98
|
"scene_add_web": "添加網頁到場景",
|
99
|
+
"scene_url_label": "網址",
|
93
100
|
"scene_add_UI": "添加UI到場景",
|
94
101
|
"scene_choose_message_box": "請選擇場景檔案",
|
95
102
|
"scene_choose_output_path_message_box": "請選擇場景檔案輸出路徑",
|
96
103
|
"scene_output": "輸出場景檔案",
|
97
104
|
"scene_input": "讀取場景檔案",
|
98
|
-
"
|
99
|
-
"
|
105
|
+
"scene_script_clear": "清除所有腳本",
|
106
|
+
"scene_script": "場景腳本",
|
100
107
|
# Chat scene input
|
101
108
|
"chat_scene_input_title": "輸入聊天內容",
|
102
109
|
"chat_scene_send_chat": "送出文字",
|
@@ -120,5 +127,6 @@ traditional_chinese_word_dict = {
|
|
120
127
|
"help_menu_label": "幫助選單",
|
121
128
|
"help_menu_open_issue": "開啟問題回報",
|
122
129
|
# HowTo Menu
|
123
|
-
"
|
130
|
+
"doc_menu_label": "文件選單",
|
131
|
+
"doc_menu_open_doc": "開啟文件",
|
124
132
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
frontengine/__init__.py,sha256=
|
1
|
+
frontengine/__init__.py,sha256=kRQu2NKQX6VjF70N7Alqp31mxqJ5SRZL1Ri4abYvz0c,1938
|
2
2
|
frontengine/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
frontengine/show/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
frontengine/show/gif/paint_gif.py,sha256=N_jj4wf5sPYj1vEjFFqlBDcjCD8hxF45ipRJ5yO6XOs,3024
|
@@ -7,14 +7,14 @@ frontengine/show/image/paint_image.py,sha256=BtKyFJP7UdOLMBsCoQ1fnT8ft-cUxDaufFz
|
|
7
7
|
frontengine/show/load/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
frontengine/show/load/load_someone_make_ui.py,sha256=yjMrkA76VEYkKXygwKmoKaADymjjDlebI-7PNa6DrEo,1010
|
9
9
|
frontengine/show/scene/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
frontengine/show/scene/extend_graphic_scene.py,sha256=
|
11
|
-
frontengine/show/scene/extend_graphic_view.py,sha256=
|
12
|
-
frontengine/show/scene/scene.py,sha256=
|
10
|
+
frontengine/show/scene/extend_graphic_scene.py,sha256=7UiEr_kRbhheGOj_rYeq3fAUtRacq2WH8fQZV0Q-tA4,148
|
11
|
+
frontengine/show/scene/extend_graphic_view.py,sha256=b5yAA_PqMTCnn7-63Q8Fhm9HBiWfjo48_1xjh2nP67I,1999
|
12
|
+
frontengine/show/scene/scene.py,sha256=3DkiM0-JT2RT-1aAXz5imHd8pg6ngt7Pv7QniZUvAs8,4420
|
13
13
|
frontengine/show/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
14
|
frontengine/show/sound_player/sound_effect.py,sha256=pHsf0DC1cHwo66neudKzIUqiuWihlXR1a34-_AQrbo0,2032
|
15
15
|
frontengine/show/sound_player/sound_player.py,sha256=VOXwKI6-VdMH18u__atCay3wVJFu3TTHiygnQ8MNCTE,2135
|
16
16
|
frontengine/show/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
frontengine/show/text/draw_text.py,sha256=
|
17
|
+
frontengine/show/text/draw_text.py,sha256=7uXWXDVU6TE5sfQ52bXCNkl0uBIR3dku7xyZPKOqRD4,3685
|
18
18
|
frontengine/show/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
19
|
frontengine/show/video/video_player.py,sha256=Gp1LErz7-xdPYajgEcpnLC_qOZ78NcgDI8AHG8TIF6c,3321
|
20
20
|
frontengine/show/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -22,57 +22,45 @@ frontengine/show/web/webview.py,sha256=ScRoJ43ftjUoU-qdrtsPv4QIywEtdseAPpj1Seqk_
|
|
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=
|
25
|
+
frontengine/ui/main_ui.py,sha256=geyNI7dI5pbnRBvAoRVVEYUtfmQp5pk3w1Xf_BXj93k,7584
|
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
|
-
frontengine/ui/dialog/choose_file_dialog.py,sha256=
|
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
32
|
frontengine/ui/menu/help_menu.py,sha256=_eNm60mrilBCVXumxnFuWDR48IONDjN5CDMAAgcyhAY,965
|
33
|
-
frontengine/ui/menu/how_to_menu.py,sha256=
|
33
|
+
frontengine/ui/menu/how_to_menu.py,sha256=s1azoiD8H2lApbFPcrv8QvsR1mwh6O_gFHRngQ7bsbc,952
|
34
34
|
frontengine/ui/menu/language_menu.py,sha256=--9_RxoeefPlCx8i9q7PoRDCmQp9715hpWyMaegJWGE,1953
|
35
35
|
frontengine/ui/page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
|
+
frontengine/ui/page/utils.py,sha256=UxHVStfVg-6563T20pEjnVMYzMvy9JePAj1VOm8HX_g,1103
|
36
37
|
frontengine/ui/page/control_center/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
-
frontengine/ui/page/control_center/control_center_ui.py,sha256=
|
38
|
+
frontengine/ui/page/control_center/control_center_ui.py,sha256=zyFdFML00ZHcC8NV2Lws95EssIDM_WUMU6h3qePhU7Y,7992
|
38
39
|
frontengine/ui/page/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
39
|
-
frontengine/ui/page/gif/gif_setting_ui.py,sha256=
|
40
|
+
frontengine/ui/page/gif/gif_setting_ui.py,sha256=HherbCmOJgO5TLXHt9sflTspmCQh1pv1IGyfKmp7kog,6908
|
40
41
|
frontengine/ui/page/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
|
-
frontengine/ui/page/image/image_setting_ui.py,sha256=
|
42
|
+
frontengine/ui/page/image/image_setting_ui.py,sha256=0in02Swq_qM-jZNevgoZe0QzjbnAl5L0ZMHOTHzQbrQ,6038
|
42
43
|
frontengine/ui/page/scene_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
43
|
-
frontengine/ui/page/scene_setting/
|
44
|
-
frontengine/ui/page/scene_setting/
|
45
|
-
frontengine/ui/page/scene_setting/
|
46
|
-
frontengine/ui/page/scene_setting/
|
47
|
-
frontengine/ui/page/scene_setting/
|
48
|
-
frontengine/ui/page/scene_setting/
|
49
|
-
frontengine/ui/page/scene_setting/
|
50
|
-
frontengine/ui/page/scene_setting/
|
51
|
-
frontengine/ui/page/scene_setting/
|
52
|
-
frontengine/ui/page/scene_setting/scene_tabs/video.py,sha256=5KW1s4O3n6_NJyOdlIm8HXpEVaeOhl5isUMPatYH6Rc,4586
|
53
|
-
frontengine/ui/page/scene_setting/scene_tabs/web.py,sha256=PyKQaZrgurQ0OG8OOMgrePm_xU2MY7jVssXh4iD0tFA,3875
|
44
|
+
frontengine/ui/page/scene_setting/scene_manager.py,sha256=XrdIAWCxTDqrCXOiFCEOI6BSpD3nv3qSpkG7JFM9JD4,4675
|
45
|
+
frontengine/ui/page/scene_setting/scene_setting_ui.py,sha256=jc6BGKHJGmPbFxChyILW3BBU_EF1yT0l63OJNqJYWSM,2590
|
46
|
+
frontengine/ui/page/scene_setting/scene_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
+
frontengine/ui/page/scene_setting/scene_page/gif.py,sha256=DS6HHx-SRtliWwr-KD8UpH6lxufeudyUVQgv41iMdE0,4436
|
48
|
+
frontengine/ui/page/scene_setting/scene_page/image.py,sha256=vBOG6kgNEsQU5DEivrwvP2tzq4KkTW5EkKIRe7XDKUI,3495
|
49
|
+
frontengine/ui/page/scene_setting/scene_page/sound.py,sha256=KeVUQ-B5hg1BkdBNUl1oRRcT6dZuL5s4_g8trwS_tDg,3637
|
50
|
+
frontengine/ui/page/scene_setting/scene_page/text.py,sha256=uWLobsSK0S8qDVQARghGs-mQNZT0c7zXC43tJM8UGFQ,4358
|
51
|
+
frontengine/ui/page/scene_setting/scene_page/video.py,sha256=b1oI57ZDA3R__AD6JxKT1Mvs2FR1Vaxni82ZTgkbiYk,5517
|
52
|
+
frontengine/ui/page/scene_setting/scene_page/web.py,sha256=vYBbPvPHJqw3FjeImDj4y8YWLV4FpTLZnrbK3_RbBAY,2845
|
54
53
|
frontengine/ui/page/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
55
|
-
frontengine/ui/page/sound_player/sound_player_setting_ui.py,sha256=
|
54
|
+
frontengine/ui/page/sound_player/sound_player_setting_ui.py,sha256=OFRxUyUXVj3-PiHezjnspVqW-uabAd2vKu1ipEy-4p0,6000
|
56
55
|
frontengine/ui/page/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
-
frontengine/ui/page/text/text_setting_ui.py,sha256=
|
56
|
+
frontengine/ui/page/text/text_setting_ui.py,sha256=nSrXkezs7X9-7Kd16raaz3WZJFwyL4cuz3j74VQIS9U,6317
|
58
57
|
frontengine/ui/page/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
|
-
frontengine/ui/page/video/video_setting_ui.py,sha256=
|
58
|
+
frontengine/ui/page/video/video_setting_ui.py,sha256=1vWRXSJwvteQ4179Vnb5e4ZlHoMhSKdqpsaeCBGzI1g,8210
|
60
59
|
frontengine/ui/page/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
-
frontengine/ui/page/web/web_setting_ui.py,sha256=
|
60
|
+
frontengine/ui/page/web/web_setting_ui.py,sha256=UtvZM3C-37PVdUu7hVqvoR5gDvXuKZSWg0g8VSQYRy8,5583
|
62
61
|
frontengine/user_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
|
+
frontengine/user_setting/scene_setting.py,sha256=lTIDCWN3e2zQJJ5XMQRQlvHDHCsj5Opl6ek5geOEgfk,1211
|
63
63
|
frontengine/user_setting/user_setting_file.py,sha256=yMAPFfzNpYv6qBcFqNoFoxc68bgo1tmaZJWP9txh_ng,635
|
64
|
-
frontengine/user_setting/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
-
frontengine/user_setting/gif/gif_setting.py,sha256=PcZWWl2ik0cD7fXoJ3KBD-g0GDaubi-JsmyxaCGYQ64,89
|
66
|
-
frontengine/user_setting/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
67
|
-
frontengine/user_setting/image/image_setting.py,sha256=GkEbR2ZJCpwYAqRBfrVQbGJoTQsIhAlgqHm9RNMJkAQ,79
|
68
|
-
frontengine/user_setting/sound/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
69
|
-
frontengine/user_setting/sound/sound_setting.py,sha256=VWFNDTT2uSXjs1bxUGnOAMNWdqHT_0vgV8OAWd2E3Nc,72
|
70
|
-
frontengine/user_setting/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
|
-
frontengine/user_setting/text/text_setting.py,sha256=AxCajm83JfL-TBpVgAaDvJlpV1FsfNCKBTVUsC8Zk98,98
|
72
|
-
frontengine/user_setting/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
|
-
frontengine/user_setting/video/video_setting.py,sha256=LIPZpUBNMTPhW_gbH3g8rUqZ1rsqXcUZu5BFmhrCB-o,118
|
74
|
-
frontengine/user_setting/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
|
-
frontengine/user_setting/web/web_setting.py,sha256=9Nn0AXvYtOvucWB0DtsM_DTYyxUuFMarmKT0VODMETI,72
|
76
64
|
frontengine/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
65
|
frontengine/utils/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
66
|
frontengine/utils/browser/browser.py,sha256=BQBjJpbTubqruUvg75O21SUhawFdVhDmuYxtd_FN1Gs,85
|
@@ -91,13 +79,13 @@ frontengine/utils/json_format/json_process.py,sha256=xJt_4Hm_o3sNDoeGtRW9Q7fsRj3
|
|
91
79
|
frontengine/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
80
|
frontengine/utils/logging/loggin_instance.py,sha256=Zjr384o2q8x0QWv_hNoHIM_zCp5-HFgW14t-d30GUcQ,598
|
93
81
|
frontengine/utils/multi_language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
94
|
-
frontengine/utils/multi_language/english.py,sha256=
|
82
|
+
frontengine/utils/multi_language/english.py,sha256=hTFFiiIhTE3y3GFHHMERqCx7QxTNy-4kdXEgGL15g08,5486
|
95
83
|
frontengine/utils/multi_language/language_wrapper.py,sha256=KBqsG6ng5LSJkGqmu_YDxI8yAjXwgHM12DOzVgh_HXI,848
|
96
|
-
frontengine/utils/multi_language/traditional_chinese.py,sha256=
|
84
|
+
frontengine/utils/multi_language/traditional_chinese.py,sha256=sPRVRcrvdATU67rlKBCSx2ZM8d3CBvDzWjmjsiuxEPA,5715
|
97
85
|
frontengine/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
86
|
frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=zGJeVpjRU12MCnhVAdksAIhK_IhddI4cNKVb7DMgOZA,1888
|
99
|
-
frontengine_dev-0.0.
|
100
|
-
frontengine_dev-0.0.
|
101
|
-
frontengine_dev-0.0.
|
102
|
-
frontengine_dev-0.0.
|
103
|
-
frontengine_dev-0.0.
|
87
|
+
frontengine_dev-0.0.58.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
|
88
|
+
frontengine_dev-0.0.58.dist-info/METADATA,sha256=ggVuKDGeYIqy8SXoH4pisRys_0mKV57jhOUcnQYm9gc,2165
|
89
|
+
frontengine_dev-0.0.58.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
90
|
+
frontengine_dev-0.0.58.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
|
91
|
+
frontengine_dev-0.0.58.dist-info/RECORD,,
|
@@ -1,61 +0,0 @@
|
|
1
|
-
from PySide6.QtCore import Qt
|
2
|
-
from PySide6.QtGui import QIntValidator
|
3
|
-
from PySide6.QtWidgets import QWidget, QBoxLayout, QPushButton, QSlider, QLabel, QLineEdit, QHBoxLayout
|
4
|
-
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
5
|
-
|
6
|
-
from frontengine.ui.dialog.choose_file_dialog import choose_image
|
7
|
-
from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
|
8
|
-
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
9
|
-
|
10
|
-
|
11
|
-
class ImageSceneSettingUI(QWidget):
|
12
|
-
|
13
|
-
def __init__(self):
|
14
|
-
super().__init__()
|
15
|
-
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
16
|
-
self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
|
17
|
-
# Image button
|
18
|
-
self.image_button = QPushButton(
|
19
|
-
language_wrapper.language_word_dict.get("scene_add_image")
|
20
|
-
)
|
21
|
-
self.image_button.clicked.connect(self.add_image)
|
22
|
-
# Opacity slider
|
23
|
-
self.opacity_slider = QSlider()
|
24
|
-
self.opacity_slider.setMinimum(1)
|
25
|
-
self.opacity_slider.setMaximum(100)
|
26
|
-
self.opacity_slider.setTickInterval(1)
|
27
|
-
self.opacity_slider.setValue(20)
|
28
|
-
self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
|
29
|
-
self.opacity_label = QLabel()
|
30
|
-
self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
|
31
|
-
self.opacity_box_h_layout = QHBoxLayout()
|
32
|
-
self.opacity_box_h_layout.addWidget(self.opacity_label)
|
33
|
-
self.opacity_box_h_layout.addWidget(self.opacity_slider)
|
34
|
-
# Position x input
|
35
|
-
self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
|
36
|
-
self.position_x_input = QLineEdit()
|
37
|
-
self.position_x_input.setValidator(QIntValidator(0, 999999, self))
|
38
|
-
self.position_x_layout = QHBoxLayout()
|
39
|
-
self.position_x_layout.addWidget(self.position_x_input_label)
|
40
|
-
self.position_x_layout.addWidget(self.position_x_input)
|
41
|
-
# Position y input
|
42
|
-
self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
|
43
|
-
self.position_y_input = QLineEdit()
|
44
|
-
self.position_y_input.setValidator(QIntValidator(0, 999999, self))
|
45
|
-
self.position_y_layout = QHBoxLayout()
|
46
|
-
self.position_y_layout.addWidget(self.position_y_input_label)
|
47
|
-
self.position_y_layout.addWidget(self.position_y_input)
|
48
|
-
# Set UI
|
49
|
-
self.box_layout.addLayout(self.opacity_box_h_layout)
|
50
|
-
self.box_layout.addLayout(self.position_x_layout)
|
51
|
-
self.box_layout.addLayout(self.position_y_layout)
|
52
|
-
self.box_layout.addWidget(self.image_button)
|
53
|
-
self.setLayout(self.box_layout)
|
54
|
-
|
55
|
-
def add_image(self) -> None:
|
56
|
-
image_path = choose_image(self)
|
57
|
-
if image_path is not None:
|
58
|
-
row_data = ["IMAGE", image_path, "", "", str(self.opacity_slider.value()), "", "", "", "", "", "",
|
59
|
-
self.position_x_input.text(), self.position_y_input.text()]
|
60
|
-
front_engine_logger.info(f"add image, param: {row_data}")
|
61
|
-
add_row_data(row_data)
|
@@ -1,74 +0,0 @@
|
|
1
|
-
from PySide6.QtCore import Qt
|
2
|
-
from PySide6.QtGui import QIntValidator
|
3
|
-
from PySide6.QtWidgets import QWidget, QBoxLayout, QPushButton, QSlider, QLabel, QLineEdit, QHBoxLayout
|
4
|
-
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
5
|
-
|
6
|
-
from frontengine.ui.dialog.choose_file_dialog import choose_gif
|
7
|
-
from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
|
8
|
-
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
9
|
-
|
10
|
-
|
11
|
-
class GIFSceneSettingUI(QWidget):
|
12
|
-
|
13
|
-
def __init__(self):
|
14
|
-
super().__init__()
|
15
|
-
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
16
|
-
self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
|
17
|
-
# GIF button
|
18
|
-
self.gif_button = QPushButton(
|
19
|
-
language_wrapper.language_word_dict.get("scene_add_gif")
|
20
|
-
)
|
21
|
-
self.gif_button.clicked.connect(self.add_gif)
|
22
|
-
# Opacity slider
|
23
|
-
self.opacity_slider = QSlider()
|
24
|
-
self.opacity_slider.setMinimum(1)
|
25
|
-
self.opacity_slider.setMaximum(100)
|
26
|
-
self.opacity_slider.setTickInterval(1)
|
27
|
-
self.opacity_slider.setValue(20)
|
28
|
-
self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
|
29
|
-
self.opacity_label = QLabel()
|
30
|
-
self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
|
31
|
-
self.opacity_box_h_layout = QHBoxLayout()
|
32
|
-
self.opacity_box_h_layout.addWidget(self.opacity_label)
|
33
|
-
self.opacity_box_h_layout.addWidget(self.opacity_slider)
|
34
|
-
# Speed slider
|
35
|
-
self.speed_slider = QSlider()
|
36
|
-
self.speed_slider.setMinimum(1)
|
37
|
-
self.speed_slider.setMaximum(100)
|
38
|
-
self.speed_slider.setTickInterval(1)
|
39
|
-
self.speed_slider.setValue(100)
|
40
|
-
self.speed_slider.setOrientation(Qt.Orientation.Horizontal)
|
41
|
-
self.speed_label = QLabel()
|
42
|
-
self.speed_label.setText(language_wrapper.language_word_dict.get("Speed"))
|
43
|
-
self.speed_box_h_layout = QHBoxLayout()
|
44
|
-
self.speed_box_h_layout.addWidget(self.speed_label)
|
45
|
-
self.speed_box_h_layout.addWidget(self.speed_slider)
|
46
|
-
# Position x input
|
47
|
-
self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
|
48
|
-
self.position_x_input = QLineEdit()
|
49
|
-
self.position_x_input.setValidator(QIntValidator(0, 999999, self))
|
50
|
-
self.position_x_layout = QHBoxLayout()
|
51
|
-
self.position_x_layout.addWidget(self.position_x_input_label)
|
52
|
-
self.position_x_layout.addWidget(self.position_x_input)
|
53
|
-
# Position y input
|
54
|
-
self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
|
55
|
-
self.position_y_input = QLineEdit()
|
56
|
-
self.position_y_input.setValidator(QIntValidator(0, 999999, self))
|
57
|
-
self.position_y_layout = QHBoxLayout()
|
58
|
-
self.position_y_layout.addWidget(self.position_y_input_label)
|
59
|
-
self.position_y_layout.addWidget(self.position_y_input)
|
60
|
-
# Set UI
|
61
|
-
self.box_layout.addLayout(self.opacity_box_h_layout)
|
62
|
-
self.box_layout.addLayout(self.speed_box_h_layout)
|
63
|
-
self.box_layout.addLayout(self.position_x_layout)
|
64
|
-
self.box_layout.addLayout(self.position_y_layout)
|
65
|
-
self.box_layout.addWidget(self.gif_button)
|
66
|
-
self.setLayout(self.box_layout)
|
67
|
-
|
68
|
-
def add_gif(self) -> None:
|
69
|
-
gif_path = choose_gif(self)
|
70
|
-
if gif_path is not None:
|
71
|
-
row_data = ["GIF", gif_path, "", "", str(self.opacity_slider.value()), str(self.speed_slider.value()),
|
72
|
-
"", "", "", "", "", self.position_x_input.text(), self.position_y_input.text()]
|
73
|
-
front_engine_logger.info(f"add gif, param: {row_data}")
|
74
|
-
add_row_data(row_data)
|
@@ -1,78 +0,0 @@
|
|
1
|
-
from typing import Dict, Callable
|
2
|
-
|
3
|
-
from PySide6.QtCore import Qt
|
4
|
-
from PySide6.QtWidgets import QWidget, QGridLayout, QPushButton, QHeaderView, QTableView, QScrollArea
|
5
|
-
|
6
|
-
from frontengine.show.scene.scene import SceneManager
|
7
|
-
from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import tableview_model, output_scene_as_json, \
|
8
|
-
load_scene_json
|
9
|
-
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
10
|
-
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
11
|
-
|
12
|
-
|
13
|
-
class SceneControlSettingUI(QWidget):
|
14
|
-
|
15
|
-
def __init__(self):
|
16
|
-
super().__init__()
|
17
|
-
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
18
|
-
self.grad_layout = QGridLayout()
|
19
|
-
self.param_key_name_list = [
|
20
|
-
"widget_type", "file_path", "url", "text", "opacity", "speed", "volume", "font_size", "play_rate",
|
21
|
-
"web_setting_open_local_file", "web_setting_open_enable_input", "position_x", "position_y"
|
22
|
-
]
|
23
|
-
# Use to build component
|
24
|
-
self.scene = SceneManager()
|
25
|
-
self.scene_component: Dict[str, Callable] = {
|
26
|
-
"IMAGE": self.scene.add_image,
|
27
|
-
"GIF": self.scene.add_gif,
|
28
|
-
"SOUND": self.scene.add_sound,
|
29
|
-
"TEXT": self.scene.add_text,
|
30
|
-
"VIDEO": self.scene.add_video,
|
31
|
-
"WEB": self.scene.add_web,
|
32
|
-
"EXTEND_UI_FILE": self.scene.add_extend_ui_file
|
33
|
-
}
|
34
|
-
# Tableview
|
35
|
-
self.scene_table_view = QTableView()
|
36
|
-
self.scene_table_view_scroll_area = QScrollArea()
|
37
|
-
self.scene_table_view_scroll_area.setWidgetResizable(True)
|
38
|
-
self.scene_table_view_scroll_area.setViewportMargins(0, 0, 0, 0)
|
39
|
-
self.scene_table_view_scroll_area.setWidget(self.scene_table_view)
|
40
|
-
# Set resize as content
|
41
|
-
self.scene_table_view.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents)
|
42
|
-
self.scene_table_view.verticalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents)
|
43
|
-
self.scene_table_view.setModel(tableview_model)
|
44
|
-
# Scene output & input
|
45
|
-
self.scene_output_button = QPushButton(language_wrapper.language_word_dict.get("scene_output"))
|
46
|
-
self.scene_output_button.clicked.connect(output_scene_as_json)
|
47
|
-
self.scene_input_button = QPushButton(language_wrapper.language_word_dict.get("scene_input"))
|
48
|
-
self.scene_input_button.clicked.connect(load_scene_json)
|
49
|
-
# Start button
|
50
|
-
self.start_button = QPushButton(
|
51
|
-
language_wrapper.language_word_dict.get("scene_setting_start_scene_button")
|
52
|
-
)
|
53
|
-
self.start_button.clicked.connect(self.start_scene)
|
54
|
-
# Add to layout
|
55
|
-
self.grad_layout.addWidget(self.scene_input_button, 0, 0)
|
56
|
-
self.grad_layout.addWidget(self.scene_output_button, 0, 1)
|
57
|
-
self.grad_layout.addWidget(self.start_button, 0, 2)
|
58
|
-
self.grad_layout.addWidget(self.scene_table_view_scroll_area, 1, 0, -1, -1)
|
59
|
-
self.setLayout(self.grad_layout)
|
60
|
-
|
61
|
-
def close_scene(self) -> None:
|
62
|
-
self.scene.widget_list.clear()
|
63
|
-
if self.scene.graphic_view.isEnabled() and self.scene.graphic_view.isVisible():
|
64
|
-
self.scene.graphic_view.close()
|
65
|
-
|
66
|
-
def start_scene(self) -> None:
|
67
|
-
front_engine_logger.info("start_scene")
|
68
|
-
for row in range(tableview_model.rowCount()):
|
69
|
-
widget_type_text = tableview_model.item(row, 0).text()
|
70
|
-
add_widget_function = self.scene_component.get(widget_type_text)
|
71
|
-
param_dict: Dict[str, str] = dict()
|
72
|
-
for column in range(1, tableview_model.columnCount()):
|
73
|
-
param = tableview_model.item(row, column).text()
|
74
|
-
if param != "":
|
75
|
-
param_dict.update({self.param_key_name_list[column]: param})
|
76
|
-
add_widget_function(param_dict)
|
77
|
-
front_engine_logger.info(f"start_scene type: {widget_type_text}, param: {param_dict}")
|
78
|
-
self.scene.show()
|
@@ -1,44 +0,0 @@
|
|
1
|
-
from PySide6.QtCore import Qt
|
2
|
-
from PySide6.QtWidgets import QWidget, QBoxLayout, QSlider, QLabel, QHBoxLayout, QPushButton
|
3
|
-
|
4
|
-
from frontengine.ui.dialog.choose_file_dialog import choose_player_sound
|
5
|
-
from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
|
6
|
-
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
7
|
-
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
8
|
-
|
9
|
-
|
10
|
-
class SoundSceneSettingUI(QWidget):
|
11
|
-
|
12
|
-
def __init__(self):
|
13
|
-
super().__init__()
|
14
|
-
self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
|
15
|
-
self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
|
16
|
-
# Volume
|
17
|
-
self.volume_slider = QSlider()
|
18
|
-
self.volume_slider.setMinimum(1)
|
19
|
-
self.volume_slider.setMaximum(100)
|
20
|
-
self.volume_slider.setTickInterval(1)
|
21
|
-
self.volume_slider.setValue(100)
|
22
|
-
self.volume_slider.setOrientation(Qt.Orientation.Horizontal)
|
23
|
-
self.volume_label = QLabel()
|
24
|
-
self.volume_label.setText(language_wrapper.language_word_dict.get("Volume"))
|
25
|
-
self.volume_box_h_layout = QHBoxLayout()
|
26
|
-
self.volume_box_h_layout.addWidget(self.volume_label)
|
27
|
-
self.volume_box_h_layout.addWidget(self.volume_slider)
|
28
|
-
# SOUND button
|
29
|
-
self.sound_button = QPushButton(
|
30
|
-
language_wrapper.language_word_dict.get("scene_add_sound")
|
31
|
-
)
|
32
|
-
self.sound_button.clicked.connect(self.add_sound)
|
33
|
-
# Set UI
|
34
|
-
self.box_layout.addLayout(self.volume_box_h_layout)
|
35
|
-
self.box_layout.addWidget(self.sound_button)
|
36
|
-
self.setLayout(self.box_layout)
|
37
|
-
|
38
|
-
def add_sound(self) -> None:
|
39
|
-
sound_path = choose_player_sound(self)
|
40
|
-
if sound_path is not None:
|
41
|
-
row_data = ["SOUND", sound_path, "", "", "", "", str(self.volume_slider.value()),
|
42
|
-
"", "", "", "", "", ""]
|
43
|
-
front_engine_logger.info(f"add sound, param: {row_data}")
|
44
|
-
add_row_data(row_data)
|