Commit Graph

437 Commits

Author SHA1 Message Date
Andrew
cdb662d4b2 Move Moonraker commands off the UI thread
Pause/resume/stop, g-code sends, temps, and
light ran synchronous HTTP on the UI thread,
freezing the app up to 10s per click on slow
or unreachable printers.

Run them on a single agent-owned FIFO worker
so g-code ordering is preserved, while command
translation stays synchronous so unsupported-
command dialogs still work.

Add a pending-disabled state to the pause,
resume, and abort buttons for Moonraker-family
printers: the icon only flips once the
WebSocket reports the real state, which also
rules out double-click races.
2026-08-04 18:12:41 +08:00
Andrew
be92f7e78c Surface Moonraker webcams and gate unrunnable controls 2026-08-04 18:12:39 +08:00
Andrew
deaca0189f Bring Moonraker device panel to feature parity
The monitor panel showed wrong or missing
data for Moonraker printers, and its
controls did nothing.

Push payload now carries layer number and
total layers. Remaining time replaces the
wrong total_duration - print_duration
formula. The chamber light toggle maps to
Klipper SET_PIN / SET_LED, and pause,
resume and stop post to
/printer/print/{action}. Task thumbnails
resolve via /server/files/thumbnails onto
a new MachineObject thumbnail url.

Filament sync switches to pull mode so the
agent is queried on demand.

Not compiled or run.
2026-08-04 18:12:38 +08:00
Ian Bassi
d6cb667b89 Localization refactor pt 2 (#14907) 2026-07-24 09:41:24 -03:00
SoftFever
f7f0c82abb Fix dark-theme backgrounds across device, HMS, and AMS UI on macOS
Give previously-bare panels a keyed background so the existing dark-UI walk
can theme them. Runtime-created widgets (HMS items, device firmware/nozzle
panels) route their whole subtree through one UpdateDarkUIWin(this) call
instead of per-widget darkModeColorFor, which also themes their child text
and follows live light/dark switches. Extruder-card chips re-apply their
colours from Sidebar::sys_color_changed so a live switch updates them too.
2026-07-19 20:16:17 +08:00
SoftFever
0b4cb89f7c Remove porting jargon and provenance notes from comments 2026-07-18 01:46:23 +08:00
SoftFever
2ee0bbde54 Port the filament-change stop button, hub version row and HMS fallback 2026-07-17 09:41:01 +08:00
SoftFever
80d3c3908d Resync the device status pages 2026-07-17 08:30:22 +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
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
74813b401f Merge remote-tracking branch 'origin/main' into feature/h2c_support_clean
# Conflicts:
#	localization/i18n/fr/OrcaSlicer_fr.po
#	localization/i18n/list.txt
2026-07-14 02:54:20 +08:00
foXaCe
c41e685a69 i18n: wrap hardcoded GUI strings (undo/redo labels, dialogs, notifications) + FR (#14729) 2026-07-13 12:19:33 -03: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
SoftFever
28b7127150 feat(gui): multi-nozzle UI for H2C/A2L
Multi-nozzle sync widget, AMS rack-nozzle mapping popup, calibration rework, send-dialog nozzle mapping and extruder-count UI. Includes the fix to persist the AMS sync badge on filament cards (H2C/A2L and direct-sync printers).
2026-07-09 01:16:26 +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
Ian Bassi
514ab02525 Localizations refactor (#14254) 2026-06-18 09:13:51 -03:00
foXaCe
d641ca598a i18n(fr): fix untranslated UI strings, extract hardcoded ones, complete French catalog (#14164) 2026-06-11 17:10:31 -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
72a4597107 Fix GUI strings that should start with uppercase (#12499) 2026-02-27 11:19:22 -03:00
Alexandre Folle de Menezes
ec7a5f5140 Add translation markers to measure units (#12403)
# Description
Some units were missing the translation markers, others were not in the standard format.
2026-02-23 22:53:19 +08:00
yw4z
d608d7dffe UI Fixes / Improvements (#12069)
* clone dialog - spin input stuck on selected

* fix advanced toggle label

* fix scrollbar appearing on project page welcome screen

* create slicing section on preferences

* reduce margins on tabs

* bbl part skip dialog

* Update filament_not_mactch.svg

* Update icon_qusetion.svg

* match hyperlink color on notifications

* fix position of notifications on slicing errors

* match background color of BBL > Calibration tab > Sidebar

* match look of BBL sidebars

* match bbl monitor icons

* match multi-device page margins

* bbl > monitor > print control buttons

* fix flush dialog showing text selection on buttons

* Printer network dialog > match combo box width
2026-02-04 11:40:02 +00:00
Maciej Wilczyński
1b782d82bc Fix fresh install issues 2026-01-04 15:25:44 +01: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
Noisyfox
760f66d3d7 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
Alexandre Folle de Menezes
77f7514d97 Fix spacing and punctuation issues (#11244) 2025-11-17 09:35:53 +00:00
Noisyfox
614612ed38 Merge branch 'main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/DeviceErrorDialog.cpp
2025-11-09 12:35:32 +08:00
Alexandre Folle de Menezes
14dd1078bf Spellcheck translatable strings (#11242)
* Spellcheck translatable strings
2025-11-09 11:52:27 +08:00
Noisyfox
bc008ff2f0 Merge branch 'main' into dev/p2s-pr 2025-11-08 17:17:31 +08:00
Alexandre Folle de Menezes
c3e03a0955 Remove markers from strings that don't need translation (#11234)
* Remove markers from strings that don't need translation
2025-11-08 00:53:56 +08:00
Noisyfox
55d97420f2 Fix issue that dev printers no longer sync calib & filament info from AMS 2025-11-05 22:54:49 +08:00
milk
2e19dfea93 FIX:reslove mac compatibility question
jira:[STUDIO-14604][STUDIO-14660][STUDIO-14662]

Change-Id: I71833726fb3533960e38f87324b7d3da566730d7
(cherry picked from commit 7e6a18c81d92517e5f421569d103502e44c703a5)
2025-10-28 15:30:06 +08:00
milk
778874aa01 FIX:remove underline of thermal preconditioning
jira:[STUDIO-14597]

Change-Id: Ibf43718060b47cc4890b491500b6795d57bf6f8e
(cherry picked from commit 16df0fa6f9eb8049b0eb46bef81445112df10767)
2025-10-28 15:30:05 +08:00
milk
ffab04262d ENH:Add thermal precondition
jira:[STUDIO-13970][STUDIO-13904]

Change-Id: I4b4fa27da1a65e0019c5f4c1dcc099c92189bf50
(cherry picked from commit 92dbde8385fec9719e0e9cfde764421793decd4d)
2025-10-28 15:30:05 +08:00
hemai
a2d113111b FIX: ams PA display for A series printer
Jira: [STUDIO-14883]
Change-Id: Icdaf5350772fc6420421b13868d973d99c7831b8
(cherry picked from commit 6b15a2bb0c5ca9df8835c55f48bbbb613d4770f5)
2025-10-28 15:30:01 +08:00
hemai
0b805a7145 FIX: add protection for rescale_camera_icons
Jira: [STUDIO-14633]
Change-Id: Ic88bc5ec6f49e644304f8db374a930d663825819
(cherry picked from commit 8bd642de670fa709dcd3ec0e852599e596da4cb4)
2025-10-28 15:30:00 +08:00
milk
f4848a5782 FIX:Add print option for a1
jira:[STUDIO-14870]

Change-Id: I0d550e15dba4ccc6a30faad56041f476bfe0fd07
(cherry picked from commit 309a01f1853c52630ba2206d2927f4113cf0fa6b)
2025-10-28 15:29:59 +08:00
xin.zhang
8b640a148e FIX: When printing is paused, filament loading and unloading are only supported for external slots.
JIRA: [STUDIO-14776]
Change-Id: I7d8115f4424ce5d2453ce47d29da0c616c7e22bc
(cherry picked from commit 9e9ef9ed0d13eca985fbb59609f198dccd43dd47)
2025-10-28 15:29:56 +08:00
haolin.tian
528960bef8 NEW: support printer storage manage
jira: [STUDIO-14427]
Change-Id: Ibfbbb849d9aa30dbc62ddf8aecffad6681d2c894
(cherry picked from commit dbad9dfd4adc0ea7553c9cda6d06959387762e7d)
2025-10-28 15:29:55 +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
xin.zhang
420bdc8907 ENH: page faults when device page idle
jira: [none]
Change-Id: I4dc95ae6332b81e571fb5ef09c75dcf01e77170e
(cherry picked from commit cefe973772c7f7045713470d61cc85221574d9c5)
2025-10-28 15:29:55 +08:00
hemai
c6db0f0f85 ENH: limit chamber temperature setting in cooling filt mode
Jira: [STUDIO-14035]
Change-Id: I894ecc3f1628bbdaa86fcfd8a4420e59111af7bb
(cherry picked from commit 5e95c6bcc8aa0b89661f27a4f123442857f7fec7)
2025-10-28 15:29:55 +08:00
hemai
32af91cf61 FIX: speed switch popup window display bug
Jira: [STUDIO-14642]
Change-Id: If95ca1b448b2d3a03c2f6d6c0b5faad4a3c04e8c
(cherry picked from commit 08943207564c0256d5a5efea9440e55efb7ccea0)
2025-10-28 15:29:54 +08:00
xin.zhang
8863631c92 FIX: filament loading steps
jira: [STUDIO-14428]
Change-Id: I68612346ef9cb50e302323daa47421c22a87be97
(cherry picked from commit 9fb4b9b6a3a16b08d9dc52a4d6dbc15044275dcf)
2025-10-28 15:29:51 +08:00
milk
299c7c0bac NEW:Add safety button
jira: [STUDIO-14064]

Change-Id: I6a9be69033ea80c2242561c4e1b0ca5626bc7a51
(cherry picked from commit ac4af3aa1de453330fbf2d58988a6e1ea8d5d445)
2025-10-28 15:29:50 +08:00
zhimin.zeng
a0f52e2c74 FIX: the cali thumbnail of device page is incorrect
jira: STUDIO-12173
Change-Id: Idc320704813f6e627d043d22e0f68d8b9de901a8
(cherry picked from commit e5f7678e8bf1c640b306530752e75e53bdae0f85)
(cherry picked from commit 9eea94115a9b191e2617c9aed5e8b5b4cc2287be)
2025-10-28 15:29:48 +08:00
zhimin.zeng
8ca6484e58 FIX: Configuring auto calibration thumbnail using a configuration file
jira: STUDIO-12173
Change-Id: I16e984b679c0c6c169f4c4d208805237f97a3a25
(cherry picked from commit b61d4194311a09eca0294fe0aa3f11471ba924b3)
(cherry picked from commit f7c2223b71e0b7aaf7520501a96e0e120a373504)
(cherry picked from commit 96ddca220d8ff13941ebe13152a09cb7a1dd63a7)
2025-10-28 15:29:48 +08:00
hemai
e774104f87 ENH: disable calibration button in 2d mode
Jira: [STUDIO-12455]
Change-Id: Ibf8a0478f19ddd8997b1719e6c6e78fed49da016
(cherry picked from commit d48f90103553598e1519ddbac648454aeae1cbe1)
2025-10-28 15:29:48 +08:00
xin.zhang
27a23a8baf ENH: support new feature of AMS
jira: [STUDIO-14067][STUDIO-14069]
Change-Id: Ib51f9ec6b387418f1817619973e926d3c9494935
(cherry picked from commit e2f63a8d1e3a1ea1f53578c611300ead12052b39)
2025-10-28 15:29:47 +08:00
hemai
b5b64265b2 FIX: reset temp icon when printer disconnected
Jira: [STUDIO-14170]
Change-Id: I0931c862e55eea0606c165207ec33068f067335d
(cherry picked from commit 0f97d125d0c00f8f04f7a2aa8aad2224eb4f1e62)
2025-10-28 15:29:47 +08:00
hemai
a397a7378a ENH: refresh nozzle info from studio
Jira: [STUDIO-13650]
Change-Id: I12dc26d5730c761ccc91d3a4a5f120d422d8a0ff
(cherry picked from commit 2bd7cd9a6a4d9c3370491fb4323a1aabe9a45578)
2025-10-28 15:29:47 +08:00