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.
Files changed (54) hide show
  1. frontengine/__init__.py +1 -2
  2. frontengine/show/scene/extend_graphic_scene.py +0 -1
  3. frontengine/show/scene/extend_graphic_view.py +2 -1
  4. frontengine/show/scene/scene.py +23 -41
  5. frontengine/show/text/draw_text.py +28 -3
  6. frontengine/ui/dialog/choose_file_dialog.py +0 -9
  7. frontengine/ui/main_ui.py +2 -0
  8. frontengine/ui/menu/how_to_menu.py +13 -2
  9. frontengine/ui/page/control_center/control_center_ui.py +2 -6
  10. frontengine/ui/page/gif/gif_setting_ui.py +16 -4
  11. frontengine/ui/page/image/image_setting_ui.py +15 -3
  12. frontengine/ui/page/scene_setting/scene_manager.py +96 -0
  13. frontengine/ui/page/scene_setting/scene_page/gif.py +102 -0
  14. frontengine/ui/page/scene_setting/scene_page/image.py +83 -0
  15. frontengine/ui/page/scene_setting/scene_page/sound.py +84 -0
  16. frontengine/ui/page/scene_setting/scene_page/text.py +93 -0
  17. frontengine/ui/page/scene_setting/scene_page/video.py +122 -0
  18. frontengine/ui/page/scene_setting/scene_page/web.py +66 -0
  19. frontengine/ui/page/scene_setting/scene_setting_ui.py +30 -23
  20. frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -1
  21. frontengine/ui/page/text/text_setting_ui.py +35 -7
  22. frontengine/ui/page/utils.py +23 -0
  23. frontengine/ui/page/video/video_setting_ui.py +15 -3
  24. frontengine/ui/page/web/web_setting_ui.py +15 -3
  25. frontengine/user_setting/scene_setting.py +34 -0
  26. frontengine/utils/multi_language/english.py +10 -3
  27. frontengine/utils/multi_language/traditional_chinese.py +11 -3
  28. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/METADATA +1 -1
  29. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/RECORD +33 -45
  30. frontengine/ui/page/scene_setting/scene_tabs/Image.py +0 -61
  31. frontengine/ui/page/scene_setting/scene_tabs/gif.py +0 -74
  32. frontengine/ui/page/scene_setting/scene_tabs/scene_control.py +0 -78
  33. frontengine/ui/page/scene_setting/scene_tabs/sound.py +0 -44
  34. frontengine/ui/page/scene_setting/scene_tabs/tableview_model.py +0 -65
  35. frontengine/ui/page/scene_setting/scene_tabs/text.py +0 -77
  36. frontengine/ui/page/scene_setting/scene_tabs/ui.py +0 -56
  37. frontengine/ui/page/scene_setting/scene_tabs/video.py +0 -88
  38. frontengine/ui/page/scene_setting/scene_tabs/web.py +0 -74
  39. frontengine/user_setting/gif/__init__.py +0 -0
  40. frontengine/user_setting/gif/gif_setting.py +0 -5
  41. frontengine/user_setting/image/__init__.py +0 -0
  42. frontengine/user_setting/image/image_setting.py +0 -4
  43. frontengine/user_setting/sound/__init__.py +0 -0
  44. frontengine/user_setting/sound/sound_setting.py +0 -4
  45. frontengine/user_setting/text/__init__.py +0 -0
  46. frontengine/user_setting/text/text_setting.py +0 -5
  47. frontengine/user_setting/video/__init__.py +0 -0
  48. frontengine/user_setting/video/video_setting.py +0 -6
  49. frontengine/user_setting/web/__init__.py +0 -0
  50. frontengine/user_setting/web/web_setting.py +0 -4
  51. /frontengine/ui/page/scene_setting/{scene_tabs → scene_page}/__init__.py +0 -0
  52. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/LICENSE +0 -0
  53. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/WHEEL +0 -0
  54. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.58.dist-info}/top_level.txt +0 -0
@@ -1,65 +0,0 @@
1
- from pathlib import Path
2
- from typing import List
3
-
4
- from PySide6.QtGui import QStandardItemModel, QStandardItem
5
- from PySide6.QtWidgets import QMessageBox
6
-
7
- from frontengine.ui.dialog.choose_file_dialog import choose_scene_json
8
- from frontengine.ui.dialog.save_file_dialog import choose_file_get_save_filename
9
- from frontengine.utils.json.json_file import write_json, read_json
10
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
11
-
12
- tableview_model = QStandardItemModel()
13
-
14
- # Set horizontal label
15
- label_list = [
16
- language_wrapper.language_word_dict.get("scene_table_view_type"),
17
- language_wrapper.language_word_dict.get("scene_file_path"),
18
- language_wrapper.language_word_dict.get("url"),
19
- language_wrapper.language_word_dict.get("text"),
20
- language_wrapper.language_word_dict.get("Opacity"),
21
- language_wrapper.language_word_dict.get("Speed"),
22
- language_wrapper.language_word_dict.get("Volume"),
23
- language_wrapper.language_word_dict.get("Font size"),
24
- language_wrapper.language_word_dict.get("Play rate"),
25
- language_wrapper.language_word_dict.get("web_setting_open_local_file"),
26
- language_wrapper.language_word_dict.get("web_setting_open_enable_input"),
27
- language_wrapper.language_word_dict.get("position_x"),
28
- language_wrapper.language_word_dict.get("position_y"),
29
- ]
30
- tableview_model.setHorizontalHeaderLabels(label_list)
31
-
32
-
33
- def add_row_data(data_list: List):
34
- row = tableview_model.rowCount()
35
- for index, data in enumerate(data_list):
36
- tableview_model.setItem(row, index, QStandardItem(str(data)))
37
-
38
-
39
- def output_scene_as_json(parent_qt_widget):
40
- output_dict = dict()
41
- output_setting = list()
42
- for row in range(tableview_model.rowCount()):
43
- settings = list()
44
- for column in range(tableview_model.columnCount()):
45
- settings.append(tableview_model.item(row, column).text())
46
- output_setting.append(settings)
47
- output_dict.update({"settings": output_setting})
48
- file_path = choose_file_get_save_filename(parent_qt_widget)
49
- if file_path is not None and file_path != "":
50
- file_path = Path(file_path)
51
- file_path = file_path.with_suffix(".json")
52
- write_json(str(file_path), output_dict)
53
- else:
54
- choose_path_to_output_message_box = QMessageBox(parent_qt_widget)
55
- choose_path_to_output_message_box.setText(
56
- language_wrapper.language_word_dict.get("scene_choose_output_path_message_box"))
57
-
58
-
59
- def load_scene_json(parent_qt_widget):
60
- scene_file = choose_scene_json(parent_qt_widget)
61
- if scene_file is not None:
62
- scene_setting: dict = read_json(scene_file)
63
- scene_setting = scene_setting.get("settings")
64
- for setting in scene_setting:
65
- add_row_data(setting)
@@ -1,77 +0,0 @@
1
- from PySide6.QtCore import Qt
2
- from PySide6.QtGui import QIntValidator
3
- from PySide6.QtWidgets import QWidget, QBoxLayout, QLineEdit, QPushButton, QSlider, QLabel, QHBoxLayout
4
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
5
-
6
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
7
- from frontengine.utils.logging.loggin_instance import front_engine_logger
8
-
9
-
10
- class TextSceneSettingUI(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
- # Text button
17
- self.text_input = QLineEdit()
18
- self.text_input.setText(
19
- language_wrapper.language_word_dict.get("text")
20
- )
21
- self.text_button = QPushButton(
22
- language_wrapper.language_word_dict.get("scene_add_text")
23
- )
24
- self.text_button.clicked.connect(self.add_text)
25
- # Opacity slider
26
- self.opacity_slider = QSlider()
27
- self.opacity_slider.setMinimum(1)
28
- self.opacity_slider.setMaximum(100)
29
- self.opacity_slider.setTickInterval(1)
30
- self.opacity_slider.setValue(20)
31
- self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
32
- self.opacity_label = QLabel()
33
- self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
34
- self.opacity_box_h_layout = QHBoxLayout()
35
- self.opacity_box_h_layout.addWidget(self.opacity_label)
36
- self.opacity_box_h_layout.addWidget(self.opacity_slider)
37
- # Font size slider
38
- self.font_size_slider = QSlider()
39
- self.font_size_slider = QSlider()
40
- self.font_size_slider.setMinimum(1)
41
- self.font_size_slider.setMaximum(100)
42
- self.font_size_slider.setTickInterval(1)
43
- self.font_size_slider.setValue(100)
44
- self.font_size_slider.setOrientation(Qt.Orientation.Horizontal)
45
- self.front_size_label = QLabel()
46
- self.front_size_label.setText(language_wrapper.language_word_dict.get("Font size"))
47
- self.font_size_box_h_layout = QHBoxLayout()
48
- self.font_size_box_h_layout.addWidget(self.front_size_label)
49
- self.font_size_box_h_layout.addWidget(self.font_size_slider)
50
- # Position x input
51
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
52
- self.position_x_input = QLineEdit()
53
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
54
- self.position_x_layout = QHBoxLayout()
55
- self.position_x_layout.addWidget(self.position_x_input_label)
56
- self.position_x_layout.addWidget(self.position_x_input)
57
- # Position y input
58
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
59
- self.position_y_input = QLineEdit()
60
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
61
- self.position_y_layout = QHBoxLayout()
62
- self.position_y_layout.addWidget(self.position_y_input_label)
63
- self.position_y_layout.addWidget(self.position_y_input)
64
- # Set UI
65
- self.box_layout.addLayout(self.opacity_box_h_layout)
66
- self.box_layout.addLayout(self.font_size_box_h_layout)
67
- self.box_layout.addLayout(self.position_x_layout)
68
- self.box_layout.addLayout(self.position_y_layout)
69
- self.box_layout.addWidget(self.text_button)
70
- self.setLayout(self.box_layout)
71
-
72
- def add_text(self) -> None:
73
- row_data = ["TEXT", "", "", self.text_input.text(), str(self.opacity_slider.value()), "", "",
74
- str(self.font_size_slider.value()), "", "", "",
75
- self.position_x_input.text(), self.position_y_input.text()]
76
- front_engine_logger.info(f"add text, param: {row_data}")
77
- add_row_data(row_data)
@@ -1,56 +0,0 @@
1
- from PySide6.QtGui import QIntValidator, Qt
2
- from PySide6.QtWidgets import QWidget, QBoxLayout, QMessageBox, QPushButton, QLineEdit, QLabel, QHBoxLayout
3
-
4
- from frontengine import load_ui_file
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 UISceneSettingUI(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
- # UI button
17
- self.ui_button = QPushButton(
18
- language_wrapper.language_word_dict.get("scene_add_UI")
19
- )
20
- self.ui_path_input = QLineEdit()
21
- self.ui_path_input.setText(
22
- language_wrapper.language_word_dict.get("ui_path")
23
- )
24
- self.ui_button.clicked.connect(self.add_extend_ui_file)
25
- # Position x input
26
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
27
- self.position_x_input = QLineEdit()
28
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
29
- self.position_x_layout = QHBoxLayout()
30
- self.position_x_layout.addWidget(self.position_x_input_label)
31
- self.position_x_layout.addWidget(self.position_x_input)
32
- # Position y input
33
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
34
- self.position_y_input = QLineEdit()
35
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
36
- self.position_y_layout = QHBoxLayout()
37
- self.position_y_layout.addWidget(self.position_y_input_label)
38
- self.position_y_layout.addWidget(self.position_y_input)
39
- # Set UI
40
- self.box_layout.addLayout(self.position_x_layout)
41
- self.box_layout.addLayout(self.position_y_layout)
42
- self.box_layout.addWidget(self.ui_path_input)
43
- self.box_layout.addWidget(self.ui_button)
44
- self.setLayout(self.box_layout)
45
-
46
- def add_extend_ui_file(self) -> None:
47
- if load_ui_file(self.ui_path_input.text()):
48
- add_row_data(
49
- ["EXTEND_UI_FILE", self.ui_path_input.text(), "", "", "", "", "",
50
- "", "", "", "", self.position_x_input.text(), self.position_y_input.text()])
51
- else:
52
- ui_not_found_message = QMessageBox(self)
53
- ui_not_found_message.setText(
54
- language_wrapper.language_word_dict.get("cant_find_extend_ui_message_box_text"))
55
- ui_not_found_message.show()
56
- front_engine_logger.error(language_wrapper.language_word_dict.get("cant_find_extend_ui_message_box_text"))
@@ -1,88 +0,0 @@
1
- from PySide6.QtCore import Qt
2
- from PySide6.QtGui import QIntValidator
3
- from PySide6.QtWidgets import QWidget, QBoxLayout, QPushButton, QSlider, QLabel, QHBoxLayout, QLineEdit
4
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
5
-
6
- from frontengine.ui.dialog.choose_file_dialog import choose_video
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 VideoSceneSettingUI(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
- # Video button
18
- self.video_button = QPushButton(
19
- language_wrapper.language_word_dict.get("scene_add_video")
20
- )
21
- self.video_button.clicked.connect(self.add_video)
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
- # Volume
35
- self.volume_slider = QSlider()
36
- self.volume_slider.setMinimum(1)
37
- self.volume_slider.setMaximum(100)
38
- self.volume_slider.setTickInterval(1)
39
- self.volume_slider.setValue(100)
40
- self.volume_slider.setOrientation(Qt.Orientation.Horizontal)
41
- self.volume_label = QLabel()
42
- self.volume_label.setText(language_wrapper.language_word_dict.get("Volume"))
43
- self.volume_box_h_layout = QHBoxLayout()
44
- self.volume_box_h_layout.addWidget(self.volume_label)
45
- self.volume_box_h_layout.addWidget(self.volume_slider)
46
- # Play rate slider
47
- self.play_rate_slider = QSlider()
48
- self.play_rate_slider.setMinimum(1)
49
- self.play_rate_slider.setMaximum(100)
50
- self.play_rate_slider.setTickInterval(1)
51
- self.play_rate_slider.setValue(100)
52
- self.play_rate_slider.setOrientation(Qt.Orientation.Horizontal)
53
- self.play_rate_label = QLabel()
54
- self.play_rate_label.setText(language_wrapper.language_word_dict.get("Play rate"))
55
- self.play_rate_h_layout = QHBoxLayout()
56
- self.play_rate_h_layout.addWidget(self.play_rate_label)
57
- self.play_rate_h_layout.addWidget(self.play_rate_slider)
58
- # Position x input
59
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
60
- self.position_x_input = QLineEdit()
61
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
62
- self.position_x_layout = QHBoxLayout()
63
- self.position_x_layout.addWidget(self.position_x_input_label)
64
- self.position_x_layout.addWidget(self.position_x_input)
65
- # Position y input
66
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
67
- self.position_y_input = QLineEdit()
68
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
69
- self.position_y_layout = QHBoxLayout()
70
- self.position_y_layout.addWidget(self.position_y_input_label)
71
- self.position_y_layout.addWidget(self.position_y_input)
72
- # Set UI
73
- self.box_layout.addLayout(self.opacity_box_h_layout)
74
- self.box_layout.addLayout(self.volume_box_h_layout)
75
- self.box_layout.addLayout(self.play_rate_h_layout)
76
- self.box_layout.addLayout(self.position_x_layout)
77
- self.box_layout.addLayout(self.position_y_layout)
78
- self.box_layout.addWidget(self.video_button)
79
- self.setLayout(self.box_layout)
80
-
81
- def add_video(self) -> None:
82
- video_path = choose_video(self)
83
- if video_path is not None:
84
- row_data = ["VIDEO", video_path, "", "", str(self.opacity_slider.value()), "",
85
- str(self.volume_slider.value()), "", str(self.play_rate_slider.value()), "", "",
86
- self.position_x_input.text(), self.position_y_input.text()]
87
- front_engine_logger.info(f"add video, param: {row_data}")
88
- 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, QLineEdit, QSlider, QLabel, QCheckBox, QHBoxLayout
4
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
5
-
6
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
7
- from frontengine.utils.logging.loggin_instance import front_engine_logger
8
-
9
-
10
- class WEBSceneSettingUI(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
- # Web button
17
- self.web_button = QPushButton(
18
- language_wrapper.language_word_dict.get("scene_add_web")
19
- )
20
- self.web_button.clicked.connect(self.add_web)
21
- # Opacity slider
22
- self.opacity_slider = QSlider()
23
- self.opacity_slider.setMinimum(1)
24
- self.opacity_slider.setMaximum(100)
25
- self.opacity_slider.setTickInterval(1)
26
- self.opacity_slider.setValue(20)
27
- self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
28
- self.opacity_label = QLabel()
29
- self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
30
- self.opacity_box_h_layout = QHBoxLayout()
31
- self.opacity_box_h_layout.addWidget(self.opacity_label)
32
- self.opacity_box_h_layout.addWidget(self.opacity_slider)
33
- # Checkbox & Web input
34
- self.enable_web_input_checkbox = QCheckBox(
35
- language_wrapper.language_word_dict.get("web_setting_open_enable_input"))
36
- self.enable_web_local_file_checkbox = QCheckBox(
37
- language_wrapper.language_word_dict.get("web_setting_open_local_file"))
38
- self.web_url_input = QLineEdit()
39
- self.web_url_input.setText(
40
- language_wrapper.language_word_dict.get("url")
41
- )
42
- self.web_setting_h_layout = QHBoxLayout()
43
- self.web_setting_h_layout.addWidget(self.enable_web_input_checkbox)
44
- self.web_setting_h_layout.addWidget(self.enable_web_local_file_checkbox)
45
- self.web_setting_h_layout.addWidget(self.web_url_input)
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.web_setting_h_layout)
62
- self.box_layout.addLayout(self.position_x_layout)
63
- self.box_layout.addLayout(self.position_y_layout)
64
- self.box_layout.addWidget(self.web_button)
65
- self.setLayout(self.box_layout)
66
-
67
- def add_web(self) -> None:
68
- row_data = ["WEB", "", self.web_url_input.text(), "", str(self.opacity_slider.value()), "", "",
69
- "", "",
70
- str(self.enable_web_local_file_checkbox.isEnabled()),
71
- str(self.enable_web_input_checkbox.isEnabled()),
72
- self.position_x_input.text(), self.position_y_input.text()]
73
- front_engine_logger.info(f"add web, param: {row_data}")
74
- add_row_data(row_data)
File without changes
@@ -1,5 +0,0 @@
1
- gif_setting_dict = {
2
- "last_gif": None,
3
- "gif_opacity": 0.2,
4
- "speed": 1
5
- }
File without changes
@@ -1,4 +0,0 @@
1
- image_setting_dict = {
2
- "last_image": None,
3
- "image_opacity": 0.2,
4
- }
File without changes
@@ -1,4 +0,0 @@
1
- sound_setting_dict = {
2
- "last_sound": None,
3
- "volume": 100,
4
- }
File without changes
@@ -1,5 +0,0 @@
1
- text_setting_dict = {
2
- "last_text": None,
3
- "font_size": 200,
4
- "text_opacity": 0.2
5
- }
File without changes
@@ -1,6 +0,0 @@
1
- video_setting_dict = {
2
- "last_file": None,
3
- "video_opacity": 0.2,
4
- "volume": 100,
5
- "play_rate": 1
6
- }
File without changes
@@ -1,4 +0,0 @@
1
- web_setting_dict = {
2
- "last_web": None,
3
- "web_opacity": 0.2
4
- }