frontengine 1.0.52__tar.gz → 1.0.53__tar.gz
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-1.0.52 → frontengine-1.0.53}/PKG-INFO +1 -1
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/app_profile_dialog.py +6 -10
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/clipboard_dialog.py +11 -18
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/reminder_dialog.py +6 -10
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/remote_control_dialog.py +12 -19
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/screen_privacy_dialog.py +4 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/screen_text_dialog.py +4 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/signage_dialog.py +9 -15
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/smart_pause_dialog.py +9 -14
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/usage_report_dialog.py +7 -12
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/window_pin_dialog.py +5 -9
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/control_center/control_center_ui.py +2 -4
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/focus/focus_setting_ui.py +9 -22
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/gif/gif_setting_ui.py +11 -23
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/image/image_setting_ui.py +17 -39
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/particle/particle_setting_ui.py +12 -25
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/pet/pet_setting_ui.py +24 -60
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/presentation/presentation_setting_ui.py +19 -54
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_manager.py +6 -12
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/gif.py +3 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/image.py +3 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/sound.py +5 -8
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/text.py +3 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/video.py +3 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/web.py +3 -6
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/screen_care/screen_care_setting_ui.py +14 -39
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +8 -14
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/text/text_setting_ui.py +15 -33
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/tools/tools_setting_ui.py +25 -48
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/video/video_setting_ui.py +12 -25
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/wallpaper/wallpaper_setting_ui.py +15 -44
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/web/web_setting_ui.py +13 -31
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/widgets/widgets_setting_ui.py +17 -28
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/retranslate.py +31 -3
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine.egg-info/PKG-INFO +1 -1
- {frontengine-1.0.52 → frontengine-1.0.53}/pyproject.toml +1 -1
- {frontengine-1.0.52 → frontengine-1.0.53}/LICENSE +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/README.md +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/__main__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/base_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/camera/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/camera/camera_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/canvas/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/canvas/whiteboard_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/capture/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/capture/region_capture.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/focus_shield/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/focus_shield/focus_shield_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/gif/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/gif/paint_gif.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/image/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/image/paint_image.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/load/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/load/load_someone_make_ui.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/measure/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/measure/measure_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/monitor/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/monitor/monitor_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/notes/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/notes/sticky_note_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/overlay_factory.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/particle/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/particle/particle_ui.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/pet/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/pet/desktop_pet.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/presentation/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/presentation/annotation_overlay.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/presentation/cursor_effects.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/presentation/keystroke_display.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/presentation/magnifier.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/scene/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/scene/extend_graphic_scene.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/scene/extend_graphic_view.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/scene/scene.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/screen_care/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/screen_care/color_vision_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/screen_care/screen_filter.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/sound_player/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/sound_player/sound_effect.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/sound_player/sound_player.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/spectrum/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/spectrum/spectrum_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/text/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/text/draw_text.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/toast/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/toast/toast_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/video/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/video/video_player.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/wallpaper/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/wallpaper/wallpaper_widget.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/web/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/web/webview.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/show/window_helpers.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/system_tray/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/system_tray/extend_system_tray.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/color/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/color/global_color.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/main_ui.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/menu/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/menu/help_menu.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/menu/how_to_menu.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/menu/language_menu.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/menu/preset_menu.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/menu/settings_menu.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/control_center/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/focus/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/gif/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/image/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/particle/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/pet/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/presentation/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/screen_care/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/sound_player/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/text/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/tools/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/utils.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/video/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/wallpaper/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/web/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/widgets/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/user_setting/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/user_setting/preset_repository.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/user_setting/scene_setting.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/user_setting/user_setting_file.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/app_profile/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/app_profile/app_profile_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/audio_envelope.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/loopback_capture.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/microphone_meter.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/screen_audio.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/spectrum_analyzer.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/audio_meter/system_audio_meter.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/autostart/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/autostart/autostart_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/break_reminder/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/break_reminder/break_reminder.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/browser/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/browser/browser.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/clipboard/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/clipboard/clipboard_history.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/clipboard/clipboard_watcher.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/color_vision/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/color_vision/color_vision.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/critical_exit/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/critical_exit/critical_exit.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/critical_exit/win32_vk.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/exception/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/exception/exception_tags.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/exception/exceptions.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/focus_shield/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/focus_shield/focus_shield.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/focus_timer/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/focus_timer/focus_timer.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/hotkey/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/hotkey/hotkey_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/input_watch/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/input_watch/input_watch_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/json/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/json/json_file.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/json/json_repository.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/logging/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/logging/loggin_instance.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/measure/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/measure/measure.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/midi/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/midi/midi_input.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/english.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/france.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/germany.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/italy.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/language_wrapper.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/russian.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/simplified_chinese.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/multi_language/traditional_chinese.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/now_playing/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/now_playing/now_playing.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/pet_chat/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/pet_chat/pet_chat_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/platform_info/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/platform_info/platform_info.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/playlist/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/playlist/playlist.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/plugins/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/plugins/plugin_loader.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/power_mode/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/power_mode/power_mode.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/preset_schedule/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/recording/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/recording/frame_recorder.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/recording/gif_writer.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/redirect_manager/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/reminder/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/reminder/reminder_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/remote/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/remote/remote_server.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/screen_privacy/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/screen_privacy/capture_affinity.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/screen_privacy/share_watch.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/screen_text/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/screen_text/screen_text_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/signage/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/signage/signage_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/smart_pause/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/smart_pause/pause_rules.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/system_stats/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/system_stats/system_stats.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/text_source/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/text_source/text_source.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/theme_schedule/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/usage_tracking/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/usage_tracking/usage_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/usage_tracking/usage_tracker.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/virtual_camera/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/virtual_camera/camera_feed.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/virtual_camera/virtual_camera.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/weather/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/weather/weather_service.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/web_url.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/window_pin/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/window_pin/window_layout.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/window_pin/window_pin.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/workshop/__init__.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine/utils/workshop/workshop_content.py +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine.egg-info/SOURCES.txt +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine.egg-info/dependency_links.txt +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine.egg-info/entry_points.txt +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine.egg-info/requires.txt +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/frontengine.egg-info/top_level.txt +0 -0
- {frontengine-1.0.52 → frontengine-1.0.53}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frontengine
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.53
|
|
4
4
|
Summary: FrontEngine is use-define frontview or only use like screen saver
|
|
5
5
|
Author-email: JE-Chen <jechenmailman@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
|
|
@@ -20,7 +20,7 @@ from frontengine.user_setting.user_setting_file import user_setting_dict, write_
|
|
|
20
20
|
from frontengine.utils.app_profile.app_profile_service import normalize_profiles
|
|
21
21
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
22
22
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
23
|
-
from frontengine.utils.multi_language.retranslate import
|
|
23
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
24
24
|
from frontengine.utils.smart_pause.pause_rules import normalize_app_name
|
|
25
25
|
|
|
26
26
|
|
|
@@ -50,17 +50,13 @@ class AppProfileDialog(QDialog):
|
|
|
50
50
|
self.table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
|
|
51
51
|
self.table.horizontalHeader().setStretchLastSection(True)
|
|
52
52
|
|
|
53
|
-
self.add_button = QPushButton(
|
|
54
|
-
retranslator.bind(self.add_button, "app_profile_add", "Add")
|
|
53
|
+
self.add_button = tr(QPushButton(), "app_profile_add", "Add")
|
|
55
54
|
self.add_button.clicked.connect(lambda: self.add_row("", ""))
|
|
56
|
-
self.remove_button = QPushButton(
|
|
57
|
-
retranslator.bind(self.remove_button, "app_profile_remove", "Remove")
|
|
55
|
+
self.remove_button = tr(QPushButton(), "app_profile_remove", "Remove")
|
|
58
56
|
self.remove_button.clicked.connect(self.remove_selected_row)
|
|
59
|
-
self.hint_label = QLabel(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"there is nothing to apply."))
|
|
63
|
-
retranslator.bind(self.hint_label, "app_profile_hint", "Presets are saved from the Presets menu. Without any saved preset " "there is nothing to apply.")
|
|
57
|
+
self.hint_label = tr(QLabel(), "app_profile_hint",
|
|
58
|
+
"Presets are saved from the Presets menu. Without any saved preset "
|
|
59
|
+
"there is nothing to apply.")
|
|
64
60
|
self.hint_label.setWordWrap(True)
|
|
65
61
|
|
|
66
62
|
self.button_box = QDialogButtonBox(
|
|
@@ -25,7 +25,7 @@ from frontengine.user_setting.user_setting_file import user_setting_dict, write_
|
|
|
25
25
|
from frontengine.utils.clipboard.clipboard_history import ClipboardHistory, preview
|
|
26
26
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
27
27
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
28
|
-
from frontengine.utils.multi_language.retranslate import
|
|
28
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
29
29
|
|
|
30
30
|
_PIN_MARK = "📌 "
|
|
31
31
|
|
|
@@ -51,30 +51,23 @@ class ClipboardDialog(QDialog):
|
|
|
51
51
|
self.entry_list.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
|
|
52
52
|
self.entry_list.itemDoubleClicked.connect(lambda _item: self.copy_selected())
|
|
53
53
|
|
|
54
|
-
self.copy_button = QPushButton(
|
|
55
|
-
retranslator.bind(self.copy_button, "clipboard_copy", "Copy")
|
|
54
|
+
self.copy_button = tr(QPushButton(), "clipboard_copy", "Copy")
|
|
56
55
|
self.copy_button.clicked.connect(self.copy_selected)
|
|
57
|
-
self.pin_button = QPushButton(
|
|
58
|
-
retranslator.bind(self.pin_button, "clipboard_pin", "Pin / unpin")
|
|
56
|
+
self.pin_button = tr(QPushButton(), "clipboard_pin", "Pin / unpin")
|
|
59
57
|
self.pin_button.clicked.connect(self.toggle_pin_selected)
|
|
60
|
-
self.remove_button = QPushButton(
|
|
61
|
-
retranslator.bind(self.remove_button, "clipboard_remove", "Remove")
|
|
58
|
+
self.remove_button = tr(QPushButton(), "clipboard_remove", "Remove")
|
|
62
59
|
self.remove_button.clicked.connect(self.remove_selected)
|
|
63
|
-
self.clear_button = QPushButton(
|
|
64
|
-
retranslator.bind(self.clear_button, "clipboard_clear", "Clear (keep pinned)")
|
|
60
|
+
self.clear_button = tr(QPushButton(), "clipboard_clear", "Clear (keep pinned)")
|
|
65
61
|
self.clear_button.clicked.connect(self.clear_history)
|
|
66
62
|
|
|
67
|
-
self.persist_checkbox = QCheckBox(
|
|
68
|
-
|
|
69
|
-
retranslator.bind(self.persist_checkbox, "clipboard_persist", "Keep this history between sessions")
|
|
63
|
+
self.persist_checkbox = tr(QCheckBox(), "clipboard_persist",
|
|
64
|
+
"Keep this history between sessions")
|
|
70
65
|
self.persist_checkbox.setChecked(bool(user_setting_dict.get("clipboard_persist")))
|
|
71
66
|
self.persist_checkbox.toggled.connect(self._store_persist)
|
|
72
|
-
self.hint_label = QLabel(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"passwords."))
|
|
77
|
-
retranslator.bind(self.hint_label, "clipboard_hint", "History stays on this machine and is never sent anywhere. Unless you tick " "the box above it is kept in memory only, because clipboards often hold " "passwords.")
|
|
67
|
+
self.hint_label = tr(QLabel(), "clipboard_hint",
|
|
68
|
+
"History stays on this machine and is never sent anywhere. Unless you tick "
|
|
69
|
+
"the box above it is kept in memory only, because clipboards often hold "
|
|
70
|
+
"passwords.")
|
|
78
71
|
self.hint_label.setWordWrap(True)
|
|
79
72
|
|
|
80
73
|
self.button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Close)
|
|
@@ -19,7 +19,7 @@ from PySide6.QtWidgets import (
|
|
|
19
19
|
from frontengine.user_setting.user_setting_file import user_setting_dict, write_user_setting
|
|
20
20
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
21
21
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
22
|
-
from frontengine.utils.multi_language.retranslate import
|
|
22
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
23
23
|
from frontengine.utils.reminder.reminder_service import (
|
|
24
24
|
KIND_AT, KIND_EVERY, normalize_reminder, normalize_reminders,
|
|
25
25
|
)
|
|
@@ -55,17 +55,13 @@ class ReminderDialog(QDialog):
|
|
|
55
55
|
self.table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
|
|
56
56
|
self.table.horizontalHeader().setStretchLastSection(True)
|
|
57
57
|
|
|
58
|
-
self.add_button = QPushButton(
|
|
59
|
-
retranslator.bind(self.add_button, "reminder_add", "Add")
|
|
58
|
+
self.add_button = tr(QPushButton(), "reminder_add", "Add")
|
|
60
59
|
self.add_button.clicked.connect(lambda: self.add_row())
|
|
61
|
-
self.remove_button = QPushButton(
|
|
62
|
-
retranslator.bind(self.remove_button, "reminder_remove", "Remove")
|
|
60
|
+
self.remove_button = tr(QPushButton(), "reminder_remove", "Remove")
|
|
63
61
|
self.remove_button.clicked.connect(self.remove_selected_row)
|
|
64
|
-
self.hint_label = QLabel(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"24-hour time such as 14:30."))
|
|
68
|
-
retranslator.bind(self.hint_label, "reminder_hint", "Tick a row to keep it active. \"Every\" takes minutes, \"At\" takes a " "24-hour time such as 14:30.")
|
|
62
|
+
self.hint_label = tr(QLabel(), "reminder_hint",
|
|
63
|
+
"Tick a row to keep it active. \"Every\" takes minutes, \"At\" takes a "
|
|
64
|
+
"24-hour time such as 14:30.")
|
|
69
65
|
self.hint_label.setWordWrap(True)
|
|
70
66
|
|
|
71
67
|
self.button_box = QDialogButtonBox(
|
|
@@ -24,7 +24,7 @@ from frontengine.user_setting.user_setting_file import user_setting_dict, write_
|
|
|
24
24
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
25
25
|
from frontengine.utils.midi.midi_input import available as midi_available, list_devices
|
|
26
26
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
27
|
-
from frontengine.utils.multi_language.retranslate import
|
|
27
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
28
28
|
from frontengine.utils.remote.remote_server import ALLOWED_ACTIONS
|
|
29
29
|
|
|
30
30
|
MIDI_KEY = "midi_bindings"
|
|
@@ -60,40 +60,33 @@ class RemoteControlDialog(QDialog):
|
|
|
60
60
|
self._midi = midi
|
|
61
61
|
self._learning = False
|
|
62
62
|
|
|
63
|
-
self.remote_checkbox = QCheckBox(
|
|
64
|
-
retranslator.bind(self.remote_checkbox, "remote_enable", "Let my phone control FrontEngine")
|
|
63
|
+
self.remote_checkbox = tr(QCheckBox(), "remote_enable", "Let my phone control FrontEngine")
|
|
65
64
|
self.remote_checkbox.setChecked(remote_enabled())
|
|
66
65
|
self.remote_checkbox.toggled.connect(self._toggle_remote)
|
|
67
66
|
self.remote_url_label = QLabel(self.remote_status())
|
|
68
67
|
self.remote_url_label.setWordWrap(True)
|
|
69
68
|
self.remote_url_label.setTextInteractionFlags(
|
|
70
69
|
self.remote_url_label.textInteractionFlags().TextSelectableByMouse)
|
|
71
|
-
self.remote_copy_button = QPushButton(
|
|
72
|
-
retranslator.bind(self.remote_copy_button, "remote_copy", "Copy link")
|
|
70
|
+
self.remote_copy_button = tr(QPushButton(), "remote_copy", "Copy link")
|
|
73
71
|
self.remote_copy_button.clicked.connect(self.copy_link)
|
|
74
|
-
self.remote_hint = QLabel(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"token and press the same buttons. Leave it off on networks you do not trust."))
|
|
81
|
-
retranslator.bind(self.remote_hint, "remote_hint", "This opens a port on this machine for your local network. The link carries a " "one-time token that changes every time it starts, and only the buttons on the " "page can be triggered - nothing else. It is plain HTTP, so treat it like any " "other device on your network: someone else on the same network could read the " "token and press the same buttons. Leave it off on networks you do not trust.")
|
|
72
|
+
self.remote_hint = tr(QLabel(), "remote_hint",
|
|
73
|
+
"This opens a port on this machine for your local network. The link carries a "
|
|
74
|
+
"one-time token that changes every time it starts, and only the buttons on the "
|
|
75
|
+
"page can be triggered - nothing else. It is plain HTTP, so treat it like any "
|
|
76
|
+
"other device on your network: someone else on the same network could read the "
|
|
77
|
+
"token and press the same buttons. Leave it off on networks you do not trust.")
|
|
82
78
|
self.remote_hint.setWordWrap(True)
|
|
83
79
|
|
|
84
|
-
self.midi_label = QLabel(
|
|
85
|
-
retranslator.bind(self.midi_label, "remote_midi_label", "MIDI controller")
|
|
80
|
+
self.midi_label = tr(QLabel(), "remote_midi_label", "MIDI controller")
|
|
86
81
|
self.midi_combobox = QComboBox()
|
|
87
82
|
for index, name in list_devices():
|
|
88
83
|
self.midi_combobox.addItem(name, index)
|
|
89
84
|
if self.midi_combobox.count() == 0:
|
|
90
85
|
self.midi_combobox.addItem(_t("remote_midi_none", "No MIDI device found"), -1)
|
|
91
|
-
self.learn_button = QPushButton(
|
|
92
|
-
retranslator.bind(self.learn_button, "remote_midi_learn", "Learn")
|
|
86
|
+
self.learn_button = tr(QPushButton(), "remote_midi_learn", "Learn")
|
|
93
87
|
self.learn_button.clicked.connect(self.start_learning)
|
|
94
88
|
self.learn_button.setEnabled(midi_available())
|
|
95
|
-
self.remove_button = QPushButton(
|
|
96
|
-
retranslator.bind(self.remove_button, "remote_midi_remove", "Remove")
|
|
89
|
+
self.remove_button = tr(QPushButton(), "remote_midi_remove", "Remove")
|
|
97
90
|
self.remove_button.clicked.connect(self.remove_selected)
|
|
98
91
|
|
|
99
92
|
self.table = QTableWidget(0, 2)
|
|
@@ -22,7 +22,7 @@ from PySide6.QtWidgets import (
|
|
|
22
22
|
from frontengine.user_setting.user_setting_file import user_setting_dict, write_user_setting
|
|
23
23
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
24
24
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
25
|
-
from frontengine.utils.multi_language.retranslate import retranslator
|
|
25
|
+
from frontengine.utils.multi_language.retranslate import retranslator, tr
|
|
26
26
|
from frontengine.utils.screen_privacy import capture_affinity
|
|
27
27
|
from frontengine.utils.screen_privacy.share_watch import DEFAULT_SHARING_APPS
|
|
28
28
|
from frontengine.utils.smart_pause.pause_rules import parse_app_list
|
|
@@ -54,12 +54,10 @@ class ScreenPrivacyDialog(QDialog):
|
|
|
54
54
|
self.setWindowTitle(_t("screen_privacy_title", "Screen-sharing privacy"))
|
|
55
55
|
settings = current_settings()
|
|
56
56
|
|
|
57
|
-
self.enable_checkbox = QCheckBox(
|
|
58
|
-
|
|
59
|
-
retranslator.bind(self.enable_checkbox, "screen_privacy_enable", "Hide overlays while one of these apps is open")
|
|
57
|
+
self.enable_checkbox = tr(QCheckBox(), "screen_privacy_enable",
|
|
58
|
+
"Hide overlays while one of these apps is open")
|
|
60
59
|
self.enable_checkbox.setChecked(bool(settings.get("enabled")))
|
|
61
|
-
self.apps_label = QLabel(
|
|
62
|
-
retranslator.bind(self.apps_label, "screen_privacy_apps_label", "Meeting and capture apps:")
|
|
60
|
+
self.apps_label = tr(QLabel(), "screen_privacy_apps_label", "Meeting and capture apps:")
|
|
63
61
|
self.apps_edit = QLineEdit(", ".join(settings.get("apps", [])))
|
|
64
62
|
self.apps_edit.setPlaceholderText("zoom, teams, discord")
|
|
65
63
|
# 提示句取決於平台支不支援,登記的必須是實際選到的那個鍵
|
|
@@ -24,7 +24,7 @@ from PySide6.QtWidgets import (
|
|
|
24
24
|
from frontengine.user_setting.user_setting_file import user_setting_dict, write_user_setting
|
|
25
25
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
26
26
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
27
|
-
from frontengine.utils.multi_language.retranslate import
|
|
27
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
28
28
|
from frontengine.utils.screen_text.screen_text_service import API_KEY_ENV, api_key
|
|
29
29
|
|
|
30
30
|
CONSENT_KEY = "screen_text_consent"
|
|
@@ -78,12 +78,10 @@ class ScreenTextDialog(QDialog):
|
|
|
78
78
|
|
|
79
79
|
self.text_edit = QPlainTextEdit(str(text))
|
|
80
80
|
self.text_edit.setReadOnly(False)
|
|
81
|
-
self.copy_button = QPushButton(
|
|
82
|
-
retranslator.bind(self.copy_button, "screen_text_copy", "Copy")
|
|
81
|
+
self.copy_button = tr(QPushButton(), "screen_text_copy", "Copy")
|
|
83
82
|
self.copy_button.clicked.connect(self.copy_text)
|
|
84
|
-
self.consent_checkbox = QCheckBox(
|
|
85
|
-
|
|
86
|
-
retranslator.bind(self.consent_checkbox, "screen_text_consent_toggle", "Allow sending captures to Anthropic")
|
|
83
|
+
self.consent_checkbox = tr(QCheckBox(), "screen_text_consent_toggle",
|
|
84
|
+
"Allow sending captures to Anthropic")
|
|
87
85
|
self.consent_checkbox.setChecked(has_consent())
|
|
88
86
|
self.consent_checkbox.toggled.connect(set_consent)
|
|
89
87
|
self.hint_label = QLabel(self.status_text())
|
|
@@ -15,7 +15,7 @@ from PySide6.QtWidgets import (
|
|
|
15
15
|
from frontengine.user_setting.user_setting_file import user_setting_dict, write_user_setting
|
|
16
16
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
17
17
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
18
|
-
from frontengine.utils.multi_language.retranslate import
|
|
18
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
19
19
|
from frontengine.utils.signage.signage_service import (
|
|
20
20
|
DEFAULT_INTERVAL_MINUTES, MAX_INTERVAL_MINUTES, MIN_INTERVAL_MINUTES, clamp_interval,
|
|
21
21
|
normalize_playlist,
|
|
@@ -52,26 +52,20 @@ class SignageDialog(QDialog):
|
|
|
52
52
|
self.setWindowTitle(_t("signage_title", "Signage mode"))
|
|
53
53
|
settings = current_settings()
|
|
54
54
|
|
|
55
|
-
self.enable_checkbox = QCheckBox(
|
|
56
|
-
retranslator.bind(self.enable_checkbox, "signage_enable", "Rotate presets")
|
|
55
|
+
self.enable_checkbox = tr(QCheckBox(), "signage_enable", "Rotate presets")
|
|
57
56
|
self.enable_checkbox.setChecked(bool(settings.get("enabled")))
|
|
58
|
-
self.presets_label = QLabel(
|
|
59
|
-
retranslator.bind(self.presets_label, "signage_presets_label", "Presets, one per line:")
|
|
57
|
+
self.presets_label = tr(QLabel(), "signage_presets_label", "Presets, one per line:")
|
|
60
58
|
self.presets_edit = QPlainTextEdit("\n".join(settings.get("presets", [])))
|
|
61
|
-
self.interval_label = QLabel(
|
|
62
|
-
retranslator.bind(self.interval_label, "signage_interval_label", "Change every (minutes)")
|
|
59
|
+
self.interval_label = tr(QLabel(), "signage_interval_label", "Change every (minutes)")
|
|
63
60
|
self.interval_spinbox = QSpinBox()
|
|
64
61
|
self.interval_spinbox.setRange(MIN_INTERVAL_MINUTES, MAX_INTERVAL_MINUTES)
|
|
65
62
|
self.interval_spinbox.setValue(settings.get("interval_minutes"))
|
|
66
|
-
self.hide_checkbox = QCheckBox(
|
|
67
|
-
|
|
68
|
-
retranslator.bind(self.hide_checkbox, "signage_hide_window", "Hide the main window while rotating")
|
|
63
|
+
self.hide_checkbox = tr(QCheckBox(), "signage_hide_window",
|
|
64
|
+
"Hide the main window while rotating")
|
|
69
65
|
self.hide_checkbox.setChecked(bool(settings.get("hide_window", True)))
|
|
70
|
-
self.hint_label = QLabel(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"machine left running keeps cycling."))
|
|
74
|
-
retranslator.bind(self.hint_label, "signage_hint", "Presets are saved from the Presets menu. The rotation wraps at the end, so a " "machine left running keeps cycling.")
|
|
66
|
+
self.hint_label = tr(QLabel(), "signage_hint",
|
|
67
|
+
"Presets are saved from the Presets menu. The rotation wraps at the end, so a "
|
|
68
|
+
"machine left running keeps cycling.")
|
|
75
69
|
self.hint_label.setWordWrap(True)
|
|
76
70
|
|
|
77
71
|
self.button_box = QDialogButtonBox(
|
|
@@ -16,7 +16,7 @@ from PySide6.QtWidgets import (
|
|
|
16
16
|
from frontengine.user_setting.user_setting_file import user_setting_dict, write_user_setting
|
|
17
17
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
18
18
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
19
|
-
from frontengine.utils.multi_language.retranslate import
|
|
19
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
20
20
|
from frontengine.utils.smart_pause.pause_rules import DEFAULT_RULES, parse_app_list
|
|
21
21
|
|
|
22
22
|
|
|
@@ -43,23 +43,18 @@ class SmartPauseDialog(QDialog):
|
|
|
43
43
|
self.setWindowTitle(_t("smart_pause_title", "Smart pause"))
|
|
44
44
|
rules = current_rules()
|
|
45
45
|
|
|
46
|
-
self.fullscreen_checkbox = QCheckBox(
|
|
47
|
-
|
|
48
|
-
retranslator.bind(self.fullscreen_checkbox, "smart_pause_fullscreen", "Pause while a fullscreen app is running")
|
|
46
|
+
self.fullscreen_checkbox = tr(QCheckBox(), "smart_pause_fullscreen",
|
|
47
|
+
"Pause while a fullscreen app is running")
|
|
49
48
|
self.fullscreen_checkbox.setChecked(bool(rules.get("fullscreen", True)))
|
|
50
|
-
self.battery_checkbox = QCheckBox(
|
|
51
|
-
|
|
52
|
-
retranslator.bind(self.battery_checkbox, "smart_pause_battery", "Pause while running on battery")
|
|
49
|
+
self.battery_checkbox = tr(QCheckBox(), "smart_pause_battery",
|
|
50
|
+
"Pause while running on battery")
|
|
53
51
|
self.battery_checkbox.setChecked(bool(rules.get("battery", False)))
|
|
54
|
-
self.apps_label = QLabel(
|
|
55
|
-
|
|
56
|
-
retranslator.bind(self.apps_label, "smart_pause_apps_label", "Pause while these apps have focus:")
|
|
52
|
+
self.apps_label = tr(QLabel(), "smart_pause_apps_label",
|
|
53
|
+
"Pause while these apps have focus:")
|
|
57
54
|
self.apps_edit = QLineEdit(", ".join(rules.get("apps", [])))
|
|
58
55
|
self.apps_edit.setPlaceholderText("photoshop, premiere, blender")
|
|
59
|
-
self.hint_label = QLabel(
|
|
60
|
-
|
|
61
|
-
"Names are matched without the folder or .exe, so \"photoshop\" is enough."))
|
|
62
|
-
retranslator.bind(self.hint_label, "smart_pause_hint", "Names are matched without the folder or .exe, so \"photoshop\" is enough.")
|
|
56
|
+
self.hint_label = tr(QLabel(), "smart_pause_hint",
|
|
57
|
+
"Names are matched without the folder or .exe, so \"photoshop\" is enough.")
|
|
63
58
|
self.hint_label.setWordWrap(True)
|
|
64
59
|
|
|
65
60
|
self.button_box = QDialogButtonBox(
|
|
@@ -20,7 +20,7 @@ from PySide6.QtWidgets import (
|
|
|
20
20
|
|
|
21
21
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
22
22
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
23
|
-
from frontengine.utils.multi_language.retranslate import
|
|
23
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
24
24
|
from frontengine.utils.usage_tracking.usage_tracker import UsageTracker, format_duration
|
|
25
25
|
|
|
26
26
|
|
|
@@ -47,8 +47,7 @@ class UsageReportDialog(QDialog):
|
|
|
47
47
|
self._on_toggle = on_toggle
|
|
48
48
|
self._on_clear = on_clear
|
|
49
49
|
|
|
50
|
-
self.enable_checkbox = QCheckBox(
|
|
51
|
-
retranslator.bind(self.enable_checkbox, "usage_enable", "Track which apps I use")
|
|
50
|
+
self.enable_checkbox = tr(QCheckBox(), "usage_enable", "Track which apps I use")
|
|
52
51
|
self.enable_checkbox.setChecked(bool(enabled))
|
|
53
52
|
self.enable_checkbox.toggled.connect(self._toggle)
|
|
54
53
|
|
|
@@ -65,17 +64,13 @@ class UsageReportDialog(QDialog):
|
|
|
65
64
|
|
|
66
65
|
self.week_label = QLabel()
|
|
67
66
|
self.week_label.setWordWrap(True)
|
|
68
|
-
self.refresh_button = QPushButton(
|
|
69
|
-
retranslator.bind(self.refresh_button, "usage_refresh", "Refresh")
|
|
67
|
+
self.refresh_button = tr(QPushButton(), "usage_refresh", "Refresh")
|
|
70
68
|
self.refresh_button.clicked.connect(self.reload_report)
|
|
71
|
-
self.clear_button = QPushButton(
|
|
72
|
-
retranslator.bind(self.clear_button, "usage_clear", "Clear history")
|
|
69
|
+
self.clear_button = tr(QPushButton(), "usage_clear", "Clear history")
|
|
73
70
|
self.clear_button.clicked.connect(self.clear_history)
|
|
74
|
-
self.hint_label = QLabel(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"Clearing deletes the file itself."))
|
|
78
|
-
retranslator.bind(self.hint_label, "usage_hint", "This is stored on this machine only and is never sent anywhere. " "Clearing deletes the file itself.")
|
|
71
|
+
self.hint_label = tr(QLabel(), "usage_hint",
|
|
72
|
+
"This is stored on this machine only and is never sent anywhere. "
|
|
73
|
+
"Clearing deletes the file itself.")
|
|
79
74
|
self.hint_label.setWordWrap(True)
|
|
80
75
|
|
|
81
76
|
self.button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Close)
|
|
@@ -17,7 +17,7 @@ from PySide6.QtWidgets import (
|
|
|
17
17
|
|
|
18
18
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
19
19
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
20
|
-
from frontengine.utils.multi_language.retranslate import retranslator
|
|
20
|
+
from frontengine.utils.multi_language.retranslate import retranslator, tr
|
|
21
21
|
from frontengine.utils.window_pin import window_pin
|
|
22
22
|
|
|
23
23
|
|
|
@@ -37,18 +37,14 @@ class WindowPinDialog(QDialog):
|
|
|
37
37
|
|
|
38
38
|
self.window_list = QListWidget()
|
|
39
39
|
self.window_list.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
|
|
40
|
-
self.refresh_button = QPushButton(
|
|
41
|
-
retranslator.bind(self.refresh_button, "window_pin_refresh", "Refresh")
|
|
40
|
+
self.refresh_button = tr(QPushButton(), "window_pin_refresh", "Refresh")
|
|
42
41
|
self.refresh_button.clicked.connect(self.reload_windows)
|
|
43
|
-
self.pin_button = QPushButton(
|
|
44
|
-
retranslator.bind(self.pin_button, "window_pin_pin", "Keep on top")
|
|
42
|
+
self.pin_button = tr(QPushButton(), "window_pin_pin", "Keep on top")
|
|
45
43
|
self.pin_button.clicked.connect(lambda: self.apply_pin(True))
|
|
46
|
-
self.unpin_button = QPushButton(
|
|
47
|
-
retranslator.bind(self.unpin_button, "window_pin_unpin", "Release")
|
|
44
|
+
self.unpin_button = tr(QPushButton(), "window_pin_unpin", "Release")
|
|
48
45
|
self.unpin_button.clicked.connect(lambda: self.apply_pin(False))
|
|
49
46
|
|
|
50
|
-
self.opacity_label = QLabel(
|
|
51
|
-
retranslator.bind(self.opacity_label, "window_pin_opacity", "Opacity")
|
|
47
|
+
self.opacity_label = tr(QLabel(), "window_pin_opacity", "Opacity")
|
|
52
48
|
self.opacity_slider = QSlider(Qt.Orientation.Horizontal)
|
|
53
49
|
self.opacity_slider.setRange(window_pin.MIN_OPACITY_PERCENT,
|
|
54
50
|
window_pin.MAX_OPACITY_PERCENT)
|
{frontengine-1.0.52 → frontengine-1.0.53}/frontengine/ui/page/control_center/control_center_ui.py
RENAMED
|
@@ -18,7 +18,7 @@ from frontengine.ui.page.web.web_setting_ui import WEBSettingUI
|
|
|
18
18
|
from frontengine.user_setting.user_setting_file import clear_overlay_geometry
|
|
19
19
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
20
20
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
21
|
-
from frontengine.utils.multi_language.retranslate import retranslator, translate
|
|
21
|
+
from frontengine.utils.multi_language.retranslate import retranslator, tr, translate
|
|
22
22
|
from frontengine.utils.screen_privacy import capture_affinity
|
|
23
23
|
from frontengine.utils.power_mode.power_mode import (
|
|
24
24
|
TIER_BALANCED, TIER_HIGH, TIER_SAVER, normalize_tier,
|
|
@@ -107,9 +107,7 @@ class ControlCenterUI(QWidget):
|
|
|
107
107
|
|
|
108
108
|
# 畫質檔位:比省電模式更細,一次套用到所有覆蓋層
|
|
109
109
|
# Quality tier: finer than the low-power switch, applied to every overlay.
|
|
110
|
-
self.quality_label = QLabel(
|
|
111
|
-
language_wrapper.language_word_dict.get("control_center_quality", "Quality"))
|
|
112
|
-
retranslator.bind(self.quality_label, "control_center_quality", "Quality")
|
|
110
|
+
self.quality_label = tr(QLabel(), "control_center_quality", "Quality")
|
|
113
111
|
self.quality_combobox = QComboBox()
|
|
114
112
|
for tier, key, fallback in (
|
|
115
113
|
(TIER_HIGH, "control_center_quality_high", "High"),
|
|
@@ -21,7 +21,7 @@ from frontengine.utils.focus_shield.focus_shield import (
|
|
|
21
21
|
)
|
|
22
22
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
23
23
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
24
|
-
from frontengine.utils.multi_language.retranslate import
|
|
24
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
class FocusSettingUI(QWidget):
|
|
@@ -37,22 +37,16 @@ class FocusSettingUI(QWidget):
|
|
|
37
37
|
self.mask_widget_list: List[DistractionMaskWidget] = []
|
|
38
38
|
|
|
39
39
|
# Dim background windows
|
|
40
|
-
self.dim_label = QLabel(
|
|
41
|
-
language_wrapper.language_word_dict.get("focus_dim_label", "Dim background windows"))
|
|
42
|
-
retranslator.bind(self.dim_label, "focus_dim_label", "Dim background windows")
|
|
40
|
+
self.dim_label = tr(QLabel(), "focus_dim_label", "Dim background windows")
|
|
43
41
|
self.dim_slider = QSlider(Qt.Orientation.Horizontal)
|
|
44
42
|
self.dim_slider.setRange(10, 90)
|
|
45
43
|
self.dim_slider.setValue(45)
|
|
46
44
|
self.dim_slider.valueChanged.connect(self._apply_dim_settings)
|
|
47
|
-
self.dim_button = QPushButton(
|
|
48
|
-
language_wrapper.language_word_dict.get("focus_dim_start", "Dim the background"))
|
|
49
|
-
retranslator.bind(self.dim_button, "focus_dim_start", "Dim the background")
|
|
45
|
+
self.dim_button = tr(QPushButton(), "focus_dim_start", "Dim the background")
|
|
50
46
|
self.dim_button.clicked.connect(self.toggle_dim)
|
|
51
47
|
|
|
52
48
|
# Mask a distraction
|
|
53
|
-
self.mask_label = QLabel(
|
|
54
|
-
language_wrapper.language_word_dict.get("focus_mask_label", "Cover a distraction"))
|
|
55
|
-
retranslator.bind(self.mask_label, "focus_mask_label", "Cover a distraction")
|
|
49
|
+
self.mask_label = tr(QLabel(), "focus_mask_label", "Cover a distraction")
|
|
56
50
|
self.mask_region_combobox = QComboBox()
|
|
57
51
|
for region, fallback in (
|
|
58
52
|
(REGION_BOTTOM, "Bottom strip (taskbar)"), (REGION_BOTTOM_RIGHT, "Bottom-right corner"),
|
|
@@ -67,22 +61,15 @@ class FocusSettingUI(QWidget):
|
|
|
67
61
|
self.mask_percent_slider.setRange(1, 50)
|
|
68
62
|
self.mask_percent_slider.setValue(6)
|
|
69
63
|
self.mask_percent_slider.valueChanged.connect(self._apply_mask_settings)
|
|
70
|
-
self.mask_button = QPushButton(
|
|
71
|
-
language_wrapper.language_word_dict.get("focus_mask_start", "Cover it up"))
|
|
72
|
-
retranslator.bind(self.mask_button, "focus_mask_start", "Cover it up")
|
|
64
|
+
self.mask_button = tr(QPushButton(), "focus_mask_start", "Cover it up")
|
|
73
65
|
self.mask_button.clicked.connect(self.toggle_mask)
|
|
74
66
|
|
|
75
67
|
# Shared
|
|
76
|
-
self.target_monitor_label = QLabel(
|
|
77
|
-
language_wrapper.language_word_dict.get("target_monitor_label", "Target monitor"))
|
|
78
|
-
retranslator.bind(self.target_monitor_label, "target_monitor_label", "Target monitor")
|
|
68
|
+
self.target_monitor_label = tr(QLabel(), "target_monitor_label", "Target monitor")
|
|
79
69
|
self.target_monitor_combobox = build_target_monitor_combobox()
|
|
80
|
-
self.hint_label = QLabel(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"Both overlays pass clicks through — what they cover still works, "
|
|
84
|
-
"it just stops competing for your attention."))
|
|
85
|
-
retranslator.bind(self.hint_label, "focus_hint", "Both overlays pass clicks through — what they cover still works, " "it just stops competing for your attention.")
|
|
70
|
+
self.hint_label = tr(QLabel(), "focus_hint",
|
|
71
|
+
"Both overlays pass clicks through — what they cover still works, "
|
|
72
|
+
"it just stops competing for your attention.")
|
|
86
73
|
self.hint_label.setWordWrap(True)
|
|
87
74
|
|
|
88
75
|
# Layout
|
|
@@ -19,7 +19,7 @@ from frontengine.ui.page.utils import (
|
|
|
19
19
|
from frontengine.user_setting.user_setting_file import add_recent_file
|
|
20
20
|
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
21
21
|
from frontengine.utils.multi_language.language_wrapper import language_wrapper
|
|
22
|
-
from frontengine.utils.multi_language.retranslate import
|
|
22
|
+
from frontengine.utils.multi_language.retranslate import tr
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class GIFSettingUI(QWidget):
|
|
@@ -37,8 +37,7 @@ class GIFSettingUI(QWidget):
|
|
|
37
37
|
self.gif_image_path: Optional[str] = None
|
|
38
38
|
|
|
39
39
|
# Opacity setting
|
|
40
|
-
self.opacity_label = QLabel(
|
|
41
|
-
retranslator.bind(self.opacity_label, "Opacity", "")
|
|
40
|
+
self.opacity_label = tr(QLabel(), "Opacity")
|
|
42
41
|
self.opacity_slider = QSlider(Qt.Orientation.Horizontal)
|
|
43
42
|
self.opacity_slider.setRange(1, 100)
|
|
44
43
|
self.opacity_slider.setValue(20)
|
|
@@ -46,8 +45,7 @@ class GIFSettingUI(QWidget):
|
|
|
46
45
|
self.opacity_slider.valueChanged.connect(self.opacity_trick)
|
|
47
46
|
|
|
48
47
|
# Speed setting
|
|
49
|
-
self.speed_label = QLabel(
|
|
50
|
-
retranslator.bind(self.speed_label, "Speed", "")
|
|
48
|
+
self.speed_label = tr(QLabel(), "Speed")
|
|
51
49
|
self.speed_slider = QSlider(Qt.Orientation.Horizontal)
|
|
52
50
|
self.speed_slider.setRange(1, 200)
|
|
53
51
|
self.speed_slider.setValue(100)
|
|
@@ -55,41 +53,31 @@ class GIFSettingUI(QWidget):
|
|
|
55
53
|
self.speed_slider.valueChanged.connect(self.speed_trick)
|
|
56
54
|
|
|
57
55
|
# Choose file button
|
|
58
|
-
self.choose_file_button = QPushButton(
|
|
59
|
-
retranslator.bind(self.choose_file_button, "gif_setting_ui_choose_file", "")
|
|
56
|
+
self.choose_file_button = tr(QPushButton(), "gif_setting_ui_choose_file")
|
|
60
57
|
self.choose_file_button.clicked.connect(self.choose_and_copy_file_to_cwd_gif_dir_then_play)
|
|
61
58
|
|
|
62
59
|
# Ready label
|
|
63
|
-
self.ready_label = QLabel(
|
|
64
|
-
retranslator.bind(self.ready_label, "Not Ready", "")
|
|
60
|
+
self.ready_label = tr(QLabel(), "Not Ready")
|
|
65
61
|
|
|
66
62
|
# Start button
|
|
67
|
-
self.start_button = QPushButton(
|
|
68
|
-
retranslator.bind(self.start_button, "gif_setting_ui_play", "")
|
|
63
|
+
self.start_button = tr(QPushButton(), "gif_setting_ui_play")
|
|
69
64
|
self.start_button.clicked.connect(self.start_play_gif)
|
|
70
65
|
|
|
71
66
|
# Checkboxes
|
|
72
|
-
self.fullscreen_checkbox = QCheckBox(
|
|
73
|
-
retranslator.bind(self.fullscreen_checkbox, "fullscreen_checkbox_label", "")
|
|
67
|
+
self.fullscreen_checkbox = tr(QCheckBox(), "fullscreen_checkbox_label")
|
|
74
68
|
self.fullscreen_checkbox.setChecked(True)
|
|
75
69
|
|
|
76
|
-
self.show_on_all_screen_checkbox = QCheckBox(
|
|
77
|
-
retranslator.bind(self.show_on_all_screen_checkbox, "Show on all screen", "")
|
|
70
|
+
self.show_on_all_screen_checkbox = tr(QCheckBox(), "Show on all screen")
|
|
78
71
|
self.show_on_all_screen_checkbox.clicked.connect(self.set_show_all_screen)
|
|
79
72
|
|
|
80
|
-
self.show_on_bottom_checkbox = QCheckBox(
|
|
81
|
-
retranslator.bind(self.show_on_bottom_checkbox, "Show on bottom", "")
|
|
73
|
+
self.show_on_bottom_checkbox = tr(QCheckBox(), "Show on bottom")
|
|
82
74
|
|
|
83
75
|
# Target monitor selector
|
|
84
|
-
self.target_monitor_label = QLabel(
|
|
85
|
-
language_wrapper.language_word_dict.get("target_monitor_label", "Target monitor")
|
|
86
|
-
)
|
|
87
|
-
retranslator.bind(self.target_monitor_label, "target_monitor_label", "Target monitor")
|
|
76
|
+
self.target_monitor_label = tr(QLabel(), "target_monitor_label", "Target monitor")
|
|
88
77
|
self.target_monitor_combobox = build_target_monitor_combobox()
|
|
89
78
|
|
|
90
79
|
# Recent files
|
|
91
|
-
self.recent_files_label = QLabel(
|
|
92
|
-
retranslator.bind(self.recent_files_label, "recent_files_label", "Recent")
|
|
80
|
+
self.recent_files_label = tr(QLabel(), "recent_files_label", "Recent")
|
|
93
81
|
self.recent_files_combobox = build_recent_combobox("gif")
|
|
94
82
|
self.recent_files_combobox.activated.connect(self._apply_recent_file)
|
|
95
83
|
|