feat: show version in title bar and add full MakerWorld site toggle#10817
Closed
BenJule wants to merge 9 commits into
Closed
feat: show version in title bar and add full MakerWorld site toggle#10817BenJule wants to merge 9 commits into
BenJule wants to merge 9 commits into
Conversation
… 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)
Author
|
This PR has been split into three focused pull requests:
Closing this PR in favour of the individual ones above. |
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
Bambu Studio <version>(closes Add a version number somewhere in homepage #10642)[* ]ProjectName - Bambu Studio <version>; the*prefix appears automatically when there are unsaved changes and disappears after saving (closes The filename in the window title Doesn't Show '*' when the file is modified #9987, closes Project title fails to update when filename changes #9989)suppress_cloud_warnings=1in app config so offline/LAN-only users are no longer interrupted (closes Bambu Studio İnformation - Internet connection Warning #10589)/studio/webviewview (closes Allow Users to Customize the Default MakerWorld URL in Online Models (or Add "Full Site" Toggle) #10801)Closes #10642
Closes #9987
Closes #9989
Closes #10589
Closes #10801
Details
Title bar (
MainFrame.cpp)update_title()was previously empty (return;). It now builds a title from the open project filename (wxFileName::GetName()) and theis_project_dirty()flag, then callsm_topbar->SetTitle(). The existingwxEVT_IDLEhandler (which already updates Undo/Save/Redo buttons on every idle cycle) now also callsupdate_title()to keep the title in sync.Cloud warning (
GUI_App.cpp)Replaced
MessageDialogwithRichMessageDialogat the MQTT connection-failure callback and addedShowCheckBox(_L("Don't show this warning again")). When checked,suppress_cloud_warnings=1is written to app config. The existingis_showingguard is kept and an early-return checks the config key at the top of the callback.Full MakerWorld site toggle (
Preferences.cpp,WebViewDialog.cpp)Checkbox added under the existing "Online Models" section. When enabled, the three URL construction sites in
WebViewDialog.cppomit/studio/webviewand map model-detail URLs to/models/<id>.Test plan
Bambu Studio X.Y.Zon Windows/Linux at startup with no project open*prefix; saving removes itsuppress_cloud_warnings=1in config)