Add configurable print status window#10505
Open
sepp89117 wants to merge 2 commits intobambulab:masterfrom
Open
Add configurable print status window#10505sepp89117 wants to merge 2 commits intobambulab:masterfrom
sepp89117 wants to merge 2 commits intobambulab:masterfrom
Conversation
Add a new floating PrintStatusFrame widget and wire it into the main window lifecycle. The widget can be opened manually, auto-shown when the main window is minimized, and kept as a single reusable instance. On Windows and Linux, closing the main window can optionally minimize Bambu Studio to the system tray while explicit quit paths still perform a real shutdown. Implement a compact print status dashboard with local printer selection, status badges, progress, remaining time, ETA, layer information, warnings, and live nozzle, bed, and chamber temperatures. The frame stores only the selected printer dev_id and resolves MachineObject instances on demand, avoiding long-lived raw printer pointers while handling missing, offline, idle, printing, paused, and finished states robustly. Add Print Status Window preferences and defaults for enablement, auto-show on minimize, close-to-tray, always-on-top, remembered position, theme, and opacity. Keep the widget lightweight and self-contained with its own timer-based refresh, fixed-size compact layout, local theme handling, deferred safe show on minimize, build integration, and i18n extraction for the new UI strings.
Extend the print status window integration from a single MainFrame-owned instance to a primary window plus additional per-printer windows. The primary window still owns auto-show on minimize, settings refresh, and remembered position, while additional windows can be opened in parallel, keep their own selected dev_id, and are opened with a small cascaded offset. Add two new entry points for multi-printer monitoring: a `+` action in the PrintStatusFrame header to open another window, and a new icon button in the Device tab print progress area to open a status window for the currently shown printer. Existing windows are reused when they already track the requested device, and the additional-window picker prefers printers that are not already visible in another status window. Simplify the feature controls by removing the `print_status_window_enabled` preference and the remaining enable gates around manual open and auto-show. The print status window is now always available, while auto-show on minimize and close-to-tray remain controlled by their dedicated settings. The Device tab launch button now always uses the active `print_status_window` SVG icon and no longer has a disabled state.
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
PrintStatusFrametool window with local printer selection and compact print monitoring UI.MainFrame, while keeping explicit quit and shutdown paths intact.+action inside the print status window to open another status window.Enable print status windowpreference and its runtime gating so the feature is always available for manual open.Testing
Testing note
wxTaskBarIconsupport and would benefit from maintainer/community testing.Known limitations
wxTaskBarIcon.print_status_window_show_*and width/height config keys remain inAppConfigfor compatibility, even though the current widget no longer uses them.