Commit Graph
181 Commits
Author SHA1 Message Date
Hanif Koh 7fa7469355 Add the GUI Includes the First Pass Missed
Covers headers that only became editable once they compiled on their own, and wx symbols whose suggested header changed as the clang-tidy ignore list grew after the src/slic3r/GUI pass.
2026-10-02 18:08:04 +08:00
HanifKoh 1a5f91d727 Add Missing Includes Across src/slic3r/GUI (#16048)
* Add Missing Includes Across src/slic3r/GUI

Every GUI source and header now directly includes the headers declaring what it uses, rather than relying on the precompiled header or transitive includes. Generated with clang-tidy misc-include-cleaner, plus one hand edit making CalibrationPanel.hpp self-contained.

* Drop the OS-Specific Includes Added Outside Their Platform Guards

GLib, GTK, D-Bus and POSIX headers are only used inside platform #if blocks, which already include them. Added unconditionally at the top of the file they broke the Windows build.

* Add the clang-tidy Configuration That Generated These Includes

Only misc-include-cleaner's missing-include check, with the headers it must never suggest: per-platform, internal and OS-specific ones that would break other platforms or are not meant to be included directly.

* Match Windows Paths in the clang-tidy Ignore List

Header paths use backslashes on Windows, so every / in a pattern is now [/\\]. The Windows SDK headers are ignored alongside the other OS-specific ones, and the list is one pattern per line. Suggested by @raistlin7447 from a Windows clang-cl run.
2026-10-02 14:56:56 +08:00
Kris Austin 0b6bbd85bd build: clear 75 warnings - hidden base overloads (#15542) 2026-09-06 11:08:57 -03:00
Kris Austin 142c63ab0e build: clear 143 -Woverloaded-virtual warnings in GUI widgets (#15377) 2026-08-26 19:14:30 -03:00
SoftFever bd854c5ce5 Fix AMS settings icon clipping on macOS 2026-07-19 18:36:52 +08:00
SoftFever 50abe02f18 Make AMS trays read-only in laser mode and add the gradient fill helper 2026-07-17 05:06:09 +08:00
SoftFever 7265a2fbfe Resync the AMS control and item widgets 2026-07-17 04:30:45 +08:00
Noisyfox 246f2d32bf Merge branch 'main' into dev/ams-heat
# Conflicts:
#	src/libslic3r/Preset.cpp
#	src/libslic3r/PrintConfig.hpp
#	src/slic3r/GUI/DeviceCore/CMakeLists.txt
#	src/slic3r/GUI/DeviceCore/DevDefs.h
#	src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp
#	src/slic3r/GUI/DeviceCore/DevFilaSystem.h
#	src/slic3r/GUI/DeviceCore/DevUtilBackend.cpp
#	src/slic3r/GUI/DeviceCore/DevUtilBackend.h
#	src/slic3r/GUI/DeviceManager.cpp
#	src/slic3r/GUI/DeviceManager.hpp
#	src/slic3r/GUI/SelectMachine.cpp
#	src/slic3r/GUI/SelectMachine.hpp
2026-07-14 10:10:19 +08:00
SoftFever 0d31325df0 feat: Filament Track Switch (H2-series O2L-FTS) support
The Filament Track Switch (H2-series accessory, product code O2L-FTS) feeds
every AMS to both extruders through a two-track switch. Port full support
across the device layer, project config, and GUI.

Device / config:
- Model the switch-aware AMS binding (the set of extruders an AMS can feed
  and which input track A/B feeds it), switch readiness, the O2L-FTS firmware
  module, and the fun2 capability bit for checking a slice against installed
  hardware.
- Register has_filament_switcher and enable_filament_dynamic_map as project
  config that persists with the project and restores from a saved 3mf, and
  force both back to false on every project/printer/CLI load path. Live
  device sync is the only thing that sets them true.

GUI:
- Sidebar sync activates the switch from live device state, attributes each
  AMS to the extruder its input track feeds, shows a floating status icon
  (ready / not-calibrated), and surfaces a one-time tip / not-calibrated
  warning.
- Send dialog gains a non-blocking slice-vs-hardware mismatch warning and a
  blocking error when a slice needs dynamic nozzle mapping but the switch is
  missing or not set up.
- AMS load/unload guards, AMS-view routing glyph + un-calibrated banner +
  hidden external-spool road, and mapping-popup external-spool lockout.
- Filament pickers collapse the per-extruder split into a single deduplicated
  "AMS filaments" group with a smart-assign toggle when the switch is ready.
- Firmware-upgrade panel lists the O2L-FTS accessory and its version.
- Device-provided filament-change steps (ams.cfs) drive the change-step
  display when firmware sends them, including the three switch steps.
- "Load current filament" asks which extruder to feed via a
  FeedDirectionDialog when the switch is calibrated.

Inert without the accessory: every path is gated on the switch being
installed (MQTT aux bit 29, default off) or ready, both project flags default
false, and the per-extruder AMS attribution is byte-identical, so AMS state,
the send/load UI, and sliced g-code are unchanged for every printer that does
not report a Filament Track Switch.
2026-07-09 18:57:05 +08:00
Noisyfox f713c7ae49 Make sure codes uses same structure/naming/position as BambuStudio
for easier code comparasion & porting in the future
2026-07-07 17:07:40 +08:00
Noisyfox b2827cb9fa feat: wire AMS humidity click to open AMSDryControl dialog
For N3F and N3S AMS types, clicking the humidity indicator
now opens the full drying control dialog instead of the popup.
2026-07-07 14:36:52 +08:00
Ian Bassi 514ab02525 Localizations refactor (#14254) 2026-06-18 09:13:51 -03:00
SoftFever 1065d85dbc Fix wxEXPAND | wxALIGN_* sizer flag conflicts for wxWidgets 3.2+
wxWidgets 3.2+ asserts on invalid sizer flag combinations where
wxEXPAND (which fills the entire space in the secondary direction)
is combined with wxALIGN_* flags (which are meaningless when expanding).
Remove the conflicting wxALIGN_* flags from all 112 occurrences across
21 files, keeping wxEXPAND and any non-conflicting flags intact.
2026-03-24 20:50:44 +08:00
Alexandre Folle de Menezes d54adafdaa Grammar and spelling fixes on GUI strings (#12410) 2026-03-03 17:36:42 -03:00
yw4z 00ff06a5d3 Match button styles on whole UI and fixes for button class (#11233)
* init

* web buttons

* Bind Dialog & Fix states

* update

* update

* Update common.css

* objcolordialog

* privacy update dialog

* Update CaliHistoryDialog.cpp

* Update MultiMachineManagerPage.cpp

* Update AMSControl.cpp

* TipsDialog

* Update AMSMaterialsSetting.cpp

* extrusion calibration

* Update UpdateDialogs.cpp

* recenterdialog

* update

* Update Calibration.cpp

* update

* update

* update

* fix

* update

* ReleaseNote

* update

* update

* fix remember checkbox position

* add comments
2025-12-18 12:14:56 +00:00
xin.zhang 9d73426c0a ENH: remove Remove unnecessary restrictions when Load or Unload
JIRA: [STUDIO-14269]
Change-Id: I1663f664d7e3248fa3be29f6040247c0ab3b03c4
(cherry picked from commit 79689556eb247240cf57323706411d3d9f6116a5)
2025-10-28 15:29:58 +08:00
xin.zhang 491100a9d2 ENH: support AMS switching for A series; clean class AMSSetting
jira: [STUDIO-14068] [STUDIO-14330]
Change-Id: I6281fbf56f3bf406ef28103998790a2a98c3f5c0
(cherry picked from commit 8ee02ec73076691c482ea6d089a49ea1c99ad10c)
2025-10-28 15:29:55 +08:00
Noisyfox a9c0490c68 Update color 2025-10-05 16:02:17 +08:00
xin.zhang bdf413fb58 FIX: incorrect display of AMS humidity
JIRA: [STUDIO-13742]
Change-Id: I25c26282c48faa05ab07dbb0cdbf5147bf475ccd
(cherry picked from commit 971afb8365c955c2562bb5c2d7a8effdc2b625ce)
2025-10-02 17:07:21 +08:00
xin.zhang 4a787f6ff8 ENH: clean codes about device
JIRA: [STUDIO-13609]
Change-Id: I591de7033360b9570600006cfbce2148a8d031d5
(cherry picked from commit e9c774be8f4c89b8dafa14ef56913612fb68bd0c)
2025-10-02 09:30:48 +08:00
yongfang.bian 2f18d25a2d FIX:clear wxwidgets asset
jira: nojia
Change-Id: I8ba2849afa07bc162a55b326c3d9a45150243ac3
(cherry picked from commit 96ba14c86d3cf180eeb585185d31bcb5d5db7415)
2025-09-30 14:34:08 +08:00
xin.zhang 0721078177 ENH: update humidity display for AMS-1
JIRA: [STUDIO-13195]
Change-Id: I7abcdf821b7ead2cf4a8605ecd95011e74f5dc6b
(cherry picked from commit 1c1d34ff7e3fea4492ba07e238ca171e28eb0a3b)
2025-09-30 11:19:59 +08:00
xin.zhang 0bbd563a79 ENH: Add label if the button can not be used
jira: [STUDIO-12929]
Change-Id: Ia4026282a44fd1a83a4292d7a7d11d43ed035db6
(cherry picked from commit e65755a474bc36bee0f22b7a6fb9c7eb5f86be65)
2025-09-28 15:00:22 +08:00
xin.zhang 33891e4ddc FIX: use wxDialog instead
jira: [STUDIO-12440]
Change-Id: I812e401fa46ba803bfc27b5c498b9d576e663173
(cherry picked from commit f02ef821166abf133036835575f6c71a39faa350)
2025-09-24 13:12:55 +08:00
xin.zhang 2bbd4f89f8 FIX: check if the filament is unknown
jira: [STUDIO-12085]
Change-Id: Ibf40d7a5106a40385aff5c769e5b7e5cdb866de0
(cherry picked from commit 012b6f2395d66b7b1bdafa3e851ca4b2f874eb23)
2025-09-23 09:21:03 +08:00
tao wang bb74ca8b63 ENH:supports new fields for flag3
jira:[none]

Change-Id: I013c7b843f3f7d5156a8d209572da2bc078e9191
(cherry picked from commit 106d9865c3e569b95519ae9bd9193d10bd991d1a)
2025-09-21 13:47:56 +08:00
tao wang 426b5900ee ENH:compatible with AMS exist flag
jira:[none]

Change-Id: I6afeafe0676eded86f83838576d67233f50ee509
(cherry picked from commit a182fa1aa4a3bdd32c4ccfa26adcd92a9f1cca37)
2025-09-21 13:47:51 +08:00
xin.zhang f9a7f056e9 FIX: use different ext image for different machine
jira: [STUDIO-11133]
Change-Id: Ice69b4f33317e23a2c2d7b8fbdfc94402b4bba28
(cherry picked from commit a67acd8f0ced49052cfe0c4b01a5bf159b046e85)
2025-09-20 15:30:14 +08:00
tao wang 947e034b14 ENH:fix X&P printer displaying incorrect N3S
jira:[none]

Change-Id: I15b30e3f45b060b696e7dd2ab4617a7835e9e6c9
(cherry picked from commit 8cb358305c341074418fc8d75c260b0cb6bc661b)
2025-09-18 10:56:27 +08:00
xin.zhang 581af2c433 FIX: update is_info_ready function
jira: [STUDIO-10608]
Change-Id: I068969223e54b1fa2056a0acc80bef87d167942c
(cherry picked from commit 44e068e705742b37513d2ce65c18a41007d4b7d8)
2025-09-17 23:08:31 +08:00
xin.zhang 6632db0758 FIX: update the image size
jira: [STUDIO-10732]
Change-Id: Ib4d55b911740cef079f38cd497d40a29ae3b1031
(cherry picked from commit 0ffcd9cc13ce7bbc1f6f96a09647e2f6afa112b1)
2025-09-17 23:08:20 +08:00
xin.zhang 03ea48c6b4 FIX: update the extruder image in status panel
jira: [STUDIO-10732]
Change-Id: I5437c4ef1538f0022f97c7ef7fb40ec2242328ed
(cherry picked from commit f5c49c89a80e508a442440218b068446d1e9e797)
2025-09-17 23:06:54 +08:00
xin.zhang 385c8a36a1 FIX: update the time shown; keep the val update while popup
jira: [STUDIO-9268]
Change-Id: I0b743ddb0ae479f9baad6239f68861a199681cda
(cherry picked from commit e1bc737d1cbc1dcf79ceecf9ed301a4a02590d5a)
2025-09-17 17:38:35 +08:00
xin.zhang 8ccd7b0cc6 FIX: make the AMS Preview area able to scroll
jira: [STUDIO-10502]
Change-Id: Ia720caa529636070b0ea2772fbe0f552b02e7060
(cherry picked from commit 6ec477b595fa12298571788ddfac51e06b33ac81)
2025-09-17 15:49:42 +08:00
xin.zhang d557b8e35b FIX: The humidity popup with humidity_percent/temperature/dry_time
jira: [STUDIO-9268]
Change-Id: Ic6e923ae7cff56fa3e053d48e5dea6e393cd41eb
(cherry picked from commit 75da1db2f926125a0cb3595a8cae9f4d7588c6a8)
2025-09-17 15:49:02 +08:00
xin.zhang f5829ee837 FIX: THE align problem
jira: [STUDIO-10044]
Change-Id: I6bdb49aaf1ba92289110f72980d8532b0afdaaf0
(cherry picked from commit 750673b7f7a2091c66d76a403de9b2a7e305022b)
2025-09-17 15:06:04 +08:00
xin.zhang 23a52305dc FIX: the AMS shown fault because of dirty data
jira: [none]
Change-Id: I82c627e351c996b2c3c352220a2b0a837c205c39
(cherry picked from commit 888687de8283c167a19a9bfaee1654e455148264)
2025-09-17 10:04:05 +08:00
xin.zhang 960d676043 FIX: the AMS EXT image fault
jira: [STUDIO-10044]
Change-Id: I71d142cd763deff33f1c42047b5ae6ac81574b3f
(cherry picked from commit d50fc6a0ce421afaba93d7a67d89aebeeab1f7bf)
2025-09-16 22:57:56 +08:00
xin.zhang d999107d49 FIX: the dark mode n3s SVG center is not empty, which will cover the AMS color
jira: [STUDIO-10308]
Change-Id: I67c5bdb753abfe9fa233e427a7b518c2fad4fd01
(cherry picked from commit 0730c4ec51e859f5ba7474c64edfaac657dc69de)
2025-09-16 22:57:47 +08:00
xin.zhang b3ca79146b FIX: complete the AMS fresh while state changed
jira: [STUDIO-10305]
Change-Id: Ie6cbc359bdf9fe02f103f58e25f490105faaf381
(cherry picked from commit 9d7c9c54fc47d6e9000d2570fd391a9823e8b33e)
2025-09-16 22:33:31 +08:00
xin.zhang 319e93ba4d FIX: try to reduce page fault while idling
jira: [none]
Change-Id: I563cbf4a8ba8a4ae1e5b1b1f735753d3aef23e16
(cherry picked from commit ed1e9678c351dc037f2e3cc7ea0e19d46731699c)
2025-09-16 21:21:40 +08:00
tao wang 919606110c ENH:optimize some layouts at different resolutions
jira:[STUDIO-9807]

Change-Id: I3d432734a6b3f494ed79d816b754d6d1cbcd3a0f
(cherry picked from commit d134b66446e5a9561152b6545fe79d19a70dddfe)
2025-09-10 09:02:43 +08:00
tao wang 5eeea0beba ENH:fix mapping rules when printing from SD card
jira:[STUDIO-9699]

Change-Id: I6019875b312cd29d20d69c876d195e5da1a88d18
(cherry picked from commit 062d4745dd9d19c62b618235ef819f247e538e68)
2025-09-09 14:41:24 +08:00
tao wang ac3ead14d2 ENH:optimize device page lag
jira:[none]

Change-Id: I0f6f1b257922d0e25152df9d42814551fa4a89ae
(cherry picked from commit 570751668e120b92953593c38bf2469474e98d8f)
2025-09-07 22:50:48 +08:00
tao wang 0030861915 FIX:fixed a single has incorrect AMS filamet road
jira:[none]

Change-Id: I26cdf08ddb5586cb1511d6aa1c42e7fd308c58f3
(cherry picked from commit a43ad7db0e1986757b3440a15682aaa906e34a8e)
2025-09-07 00:19:49 +08:00
tao wang 9e3e2f05b8 FIX:fixed the error in the total number of steps when loading
jira:[STUDIO-9169]

Change-Id: I62e61f9ca01b4d04b0ef204df1694d8d0fbc06b2
(cherry picked from commit 2b1f8887ef3ec4e7d1b9dbbd10baeebd6cda7638)
2025-09-06 23:57:25 +08:00
xin.zhang 8e91932cd1 FIX:fixed the build failed
jira: STUDIO-9194

Change-Id: I15873b69101183c68e7a46be1bd041419c950a88
(cherry picked from commit bc90ebd932a23a4b2e90d25a03e8aaad927ab293)
2025-09-06 23:09:09 +08:00
tao wang b48d0861b7 FIX:fixed the layout of AMS on the left
STUDIO-9194

Change-Id: I55a8d51c95cba2ae65cafc9e50ea504ced948213
(cherry picked from commit 9d6cc9c37f2ddabc9cf28aab725fe3b7f2889cd8)
2025-09-06 23:06:33 +08:00
tao wang c1c862d2c3 FIX:fixed the issue of AMS not updating location
jira:[STUDIO-9182 STUDIO-9216]

Change-Id: I42e57b47abf357cdc99f71e1739ab9fc3a122d85
(cherry picked from commit 43083f1e4834163c11a961e743db1fb7ece52348)
2025-09-06 21:38:41 +08:00
tao wang 079dca6b07 FIX:fixed the display issue of multiple AMS
jira:[for ams]

Change-Id: Icb8ce708b0e65870d627dfbe8932e012fc36c6f9
(cherry picked from commit 2cdfc21b93e37b92deabb3ab8e7b39de2578f0b2)
(cherry picked from commit afbf3cf1976623c9a443f3471ec7ddcfb737d031)
2025-09-06 21:35:18 +08:00