feat: show time-to-next-pause in Device Tab print status#10819
Open
BenJule wants to merge 13 commits into
Open
feat: show time-to-next-pause in Device Tab print status#10819BenJule wants to merge 13 commits into
BenJule wants to merge 13 commits into
Conversation
1e6d3e5 to
e07fd2c
Compare
The upstream build_all.yml only listed 'main' as a push trigger. BenJule/BambuStudio uses 'master' as its default branch, so CI never fired on fork-local pushes. Adding 'master' alongside 'main' makes the full multi-platform build run when master is updated.
… locale files The fila_manager web page was hardcoded in Chinese (lang="zh") with no internationalization support. This commit adds a lightweight i18n system: - Add locales/en.json and locales/zh_CN.json with all UI strings - Add t(key) / tf(key, n) translation helpers loaded at startup - Apply translations via data-i18n / data-i18n-placeholder attributes in HTML - Replace all hardcoded Chinese strings in index.js with t() calls - Language is resolved from the ?lang= URL parameter passed by C++
… strings Two printer status strings shown during calibration used the misspelling "percision" instead of "precision". Also fix lang="zh-CN" in NozzleListTable.html (the table content is set by C++ at runtime). All .po and .pot msgid entries updated to match the corrected source strings.
- 'Problem occured' → 'Problem occurred' (MediaPlayCtrl.cpp) - 'When enable spiral vase mode' → 'When enabling ...' (SelectMachine.cpp, SyncAmsInfoDialog.cpp) - 'connectors is out of object' → 'connectors are out of object' (GLGizmoAdvancedCut.cpp) - 'Error:Detecting ...' → 'Error: Detecting ...' with spacing fixes (GLGizmoText.cpp) Update all corresponding msgid entries in BambuStudio.pot and all 18 .po locale files.
Fix missing spaces after 'Warning:', 'Error:', and 'Tip:' prefixes, missing spaces after sentence-ending periods and commas, and several grammar issues in strings that appear to originate from machine translation: - GLGizmoText.cpp: fix 9 Warning: strings (space + grammar) - 'Warning:create text fail.' → 'Warning: Text creation failed.' - 'Warning:text normal is error.' → 'Warning: Text normal has an error.' - 'Warning:Due to font upgrades,previous...' → proper spacing - 'reedit it will ok' → 'reedit it to fix the issue' - 'dragging text' → 'drag the text' (imperative form) - GLGizmoMeasure.cpp: fix 3 Warning: strings + 'two different mesh' → 'meshes' - GLGizmoSVG.cpp: fix 'Tip:If...' + missing comma + 'svg file' → 'SVG file' - PlaterWorker.hpp: 'error occured' → 'error occurred' - DeviceManager.cpp: missing spaces after period/comma + '(PLA...)' spacing - BindDialog.cpp: 'device.Before', 'termsand', 'Use(collectively)' spacing - ConfigManipulation.cpp: missing spaces after comma and period - AMSSetting.cpp: missing space after '1 minute.' - Preferences.cpp: 'tab.If change value' → 'tab. If you change this value' Update all msgid entries in BambuStudio.pot and all 18 .po locale files.
- AuxiliaryDialog.cpp: 'Auxiliaryies' → 'Auxiliaries' (dialog title) - FanControl.cpp: 'print qulity' → 'print quality' - GLGizmoFlatten.cpp: 'too small,The' → 'too small. The' (comma → period) - Monitor.cpp: 'Assistant(HMS)' → 'Assistant (HMS)' (space before parenthesis) - AMSSetting.cpp: 'during printing' → 'during printing' (double space) - AMSDryControl.cpp + uiAmsHumidityPopup.cpp: 'Left Time' → 'Remaining Time' - Plater.cpp: 'attrited' → 'worn' (non-standard word) Update all corresponding msgid entries in BambuStudio.pot and all 18 .po locale files.
On macOS, BambuStudio already auto-follows the system dark/light theme via EVT_SYS_COLOUR_CHANGED. On Windows this handler was guarded with #ifndef __WINDOWS__, so theme changes were silently ignored. Changes: - GUI_Utils.hpp: EVT_SYS_COLOUR_CHANGED now fires on Windows when 'dark_mode_follow_system' is enabled; calls update_dark_config() and on_sys_color_changed() to refresh the UI - GUI_App.cpp dark_mode(): if follow-system is enabled, query check_dark_mode() (system appearance) instead of the stored config; on startup, sync dark_color_mode config from system if follow-system is enabled - MainFrame.cpp on_sys_color_changed(): call force_colors_update() and update_ui_from_settings() on all platforms (previously skipped on Windows), so a system-triggered theme change gets a full UI refresh - Preferences.hpp/.cpp: add 'Follow system theme' checkbox below the manual 'Enable dark mode' toggle; when checked the manual toggle is disabled and the current system state is applied immediately Resolves feature request bambulab#10800.
- F1–F4 switch between the four main tabs (3D Editor, Preview, Monitor, Project); F5 triggers reslice when a model is loaded - ColorPickerPopup gains a hex input field (#RRGGBB) below the custom color swatch; typing a valid 6-digit hex and pressing Enter applies the color and fires EVT_SELECTED_COLOR; clicking any swatch updates the hex field to match the selected color
- update_title() now sets the topbar label to "Bambu Studio <version>" on Windows/Linux so the version is always visible without opening the About dialog (closes bambulab#10642) - Preferences > Online Models gains a "Open full MakerWorld site" checkbox (config key makerworld_use_full_site); when enabled the Online Models tab loads the unrestricted makerworld.com pages instead of the /studio/webview simplified view, restoring access to comments, account management, and other features (closes bambulab#10801)
- update_title() now shows the open project filename and a leading '*' when there are unsaved changes, keeping the topbar in sync via the existing wxEVT_IDLE handler; title reverts to the app name + version when no project is open (closes bambulab#9987, closes bambulab#9989) - Cloud connection failure dialog now uses RichMessageDialog with a "Don't show this warning again" checkbox; checking it sets config key suppress_cloud_warnings=1 so the dialog is permanently suppressed for offline/LAN-only workflows (closes bambulab#10589)
- Preferences > General Settings: "Auto-save project every 5 minutes" checkbox (config key autosave_enabled); a wxTimer in MainFrame fires every 5 min and calls save_project() silently when the project has a filename, is dirty, and the option is enabled (closes bambulab#10334) - Alt+Arrow moves selected objects by 0.1 mm; Alt+Shift+Arrow by 0.01 mm; existing Shift+Arrow (1 mm) and plain Arrow (10 mm) are unchanged; added to the keyboard shortcuts dialog (closes bambulab#10194) - LayerRangeEditor now explicitly sets background/foreground to the app's dark-mode palette colours after UpdateDarkUI(), fixing the unreadable contrast in the Height Range Modifier field on Linux dark mode (closes bambulab#10685)
Adds a "Pause in Xh Ym" label below the layer counter in the printing task panel whenever a scheduled PausePrint exists ahead of the current layer. The countdown is derived from the locally sliced gcode (layer Z-heights + custom gcode entries) and the printer's reported remaining time, updated on every status tick. Closes bambulab#10632 Closes bambulab#10562
e07fd2c to
0b181c8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PausePrintexists ahead of the current layer and hides when no pause is pendingImplementation
PrintingTaskPanelgains a newwxStaticText* m_staticText_next_pausewidget placed between the layer counter and the progress-left labelupdate_next_pause(int seconds_to_pause)shows/hides and formats the label using the existingget_bbl_monitor_time_dhm()helperStatusPanel::update_subtask(), after the left-time update, the code readsGCodeViewer::get_layers_zs()andget_custom_gcode_per_print_z()from the preview canvas, finds the firstPausePrintabove the current layer's Z, and estimates the time proportionally frommc_left_timeTest plan
Closes #10632
Closes #10562