Commit Graph

378 Commits

Author SHA1 Message Date
goofoo
72a36a193f fix+feat: Snapmaker U1 — 5 bug fixes and 0.6mm / mixed-nozzle profiles (#12244 #12390 #12652 #12073 #12797 #11424) (#12824) 2026-04-08 12:08:35 +08:00
Rodrigo Faselli
7fbee544b3 💥Fix crash when return from assembly mode linux (#13091)
* Fix return from assembly linux

* Tie deferred callback to canvas lifetime and add shutdown guards

Use m_canvas->CallAfter instead of wxGetApp().CallAfter to ensure the callback is only executed if the canvas is still alive.
Add early returns if wxGetApp().is_closing() is true before accessing plater or the 3D canvas, reducing the risk of use-after-free during application shutdown.
Addresses feedback regarding potential UI teardown race conditions.

* copilot suggestion

* Use local reference to wxGetApp() in Return button callback

Replace multiple calls to wxGetApp() with a single local reference
to improve readability and avoid redundant function calls.
2026-04-06 14:06:48 +08:00
Rodrigo Faselli
ac68e6a1e2 Don't steal focus from text inputs on mouse (#12834)
In GLCanvas3D::on_mouse, avoid calling SetFocus when the currently focused window is a text input control (wxTextCtrl, wxComboBox or wxSpinCtrl). This prevents deselection bugs when the mouse leaves the window while a text control is focused. Also commented out explicit wx text-control includes near the top of the file.

Only TextCtrl needed

cleaning

Removed unused wxWidgets header includes.

Update GLCanvas3D.cpp

Co-authored-by: yw4z <yw4z@outlook.com>
Co-authored-by: yw4z <ywsyildiz@gmail.com>
2026-04-05 13:53:41 +03:00
SoftFever
558be174c7 Fix 3D canvas blank area during window resize after wxWidgets 3.3.2 upgrade 2026-03-28 15:46:34 +08:00
SoftFever
109b878534 fix a regresion that the "search in preset" popup dialog will dismiss itself when move the cursor out of the dialog.
The regression is casued by 382cf57166 ("Fix hotkeys blocked in Prepare view when notification is shown")
2026-03-28 13:04:20 +08:00
SoftFever
cf3ff09328 Guard wxToolTip::GetToolTipCtrl() for wx 3.3 and add explicit wx/utils.h includes
- Wrap GetToolTipCtrl() call in GUI_App.cpp with #if wxVERSION_NUMBER < 3300
  guard, as this API may not be accessible in wxWidgets 3.3. The dark tooltip
  theming is cosmetic and non-critical.

- Add explicit #include <wx/utils.h> to 7 source files that use functions from
  that header (wxGetMousePosition, wxLaunchDefaultBrowser, wxGetDisplaySize,
  wxBell) but relied on transitive includes. This preempts breakage from
  wxWidgets 3.3 reducing transitive includes.

Files with wx/utils.h added: BBLTopbar.cpp, CreatePresetsDialog.cpp,
CameraPopup.cpp, GLCanvas3D.cpp, GCodeViewer.cpp, GUI_ObjectList.cpp,
FilamentMapPanel.cpp.

Skipped BindDialog.cpp and FilamentPickerDialog.cpp as they already include
wx/wx.h which provides wx/utils.h transitively.

Part of wxWidgets 3.1.5 -> 3.3.2 upgrade.
2026-03-24 21:02:37 +08:00
SoftFever
601855912c Skip flushing volume validation for multi-tool printers
Flushing volumes only apply to SEMM and BBL printers. Multi-tool printers don't perform filament purging between tool changes, so the zero-volume warning was being incorrectly triggered.
2026-03-18 15:39:07 +08:00
SoftFever
8b6e1ff7ee Revert "Fix wipe tower loaded outside of plate boundaries (#12191)"
This reverts commit e14e186bb7.
2026-03-17 19:16:09 +08:00
SoftFever
4853621c4c Revert "Fix wipe tower placed outside bed boundary on first slice (#12777)"
This reverts commit 494601eea5, reversing
changes made to d28e964e04.
2026-03-17 19:14:50 +08:00
SoftFever
c6639b2188 Fix wipe tower placed outside bed boundary on first slice
The wipe tower config position (wipe_tower_x/y) could be outside the
plate boundary (e.g. default y=250 on a 200mm printer). No constraint
was applied at slice time, so the tower was generated out-of-bounds.
2026-03-15 17:38:44 +08:00
SoftFever
94953f0864 QoL: Fix hotkeys blocked in Prepare view when notification is shown (#12715)
Fix hotkeys blocked in Prepare view when notification is shown

Restore SetFocus() in the GLCanvas3D mouse-entering handler so the
canvas reclaims wxWidget keyboard focus whenever the mouse enters it
(provided the main window is active). Without this, clicking a sidebar
control or a UI update triggered by slicing could leave the canvas
without focus, causing hotkeys like Tab to stop working until the user
clicked the canvas or dismissed the notification.
2026-03-10 15:57:15 +08:00
Derrick
2424ede0b3 Fix zoom button tooltip width miscalculation (#12692)
wx strings to be converted to utf-8 before doing width calculation for consistency.
 
 JIRA-127
2026-03-09 18:22:37 +08:00
Alexandre Folle de Menezes
4d0c662a62 Grammar and spelling fixes on GUI strings (#12410) 2026-03-03 17:36:42 -03:00
SoftFever
f0e3f4785b fix missing translations for Canvas Toolbar Menu 2026-03-01 01:15:14 +08:00
yw4z
4dcbbbc0c1 Add option for hiding / showing gridlines (#10545)
Might be useful who want to use custom grid line system with textures. or a clean look

### PROBLEM / SCENARIOS
• Custom made textures overlapping with grid system. so it might be confusing for user if want to use specific markings
• User may found its a distracting item and wants a clean look

### SOLUTION
added to view menu
<img width="477" height="434" alt="Screenshot-20251230192707" src="https://github.com/user-attachments/assets/e298d9b2-5f8f-4e33-af22-ea7c84c9b5b8" />

added to canvas menu
<img width="278" height="297" alt="Screenshot-20251230192717" src="https://github.com/user-attachments/assets/a9952408-a361-4e64-ad9a-72e2480c74cf" />

Clean look without gridlines
<img width="1669" height="1157" alt="Screenshot-20250827144140" src="https://github.com/user-attachments/assets/9229f330-9543-4d39-a8fc-01deb9b61336" />

<img width="1669" height="1157" alt="Screenshot-20250827144212" src="https://github.com/user-attachments/assets/ab3848fb-74d7-4618-8bc7-0cdff10a3804" />


Few Examples with custom made textures / markings without gridlines
<img width="1669" height="1157" alt="Screenshot-20250827140008" src="https://github.com/user-attachments/assets/5d7b17ab-e97a-489c-9e4d-99157a37b6b7" />

<img width="1669" height="1157" alt="Screenshot-20250827141904" src="https://github.com/user-attachments/assets/a7e0f360-a85a-489d-9bc2-39286984643a" />
2026-03-01 00:19:04 +08:00
Alexandre Folle de Menezes
e71252977b Fix GUI strings that should start with uppercase (#12499) 2026-02-27 11:19:22 -03:00
Yves
0576aa5c05 Restore select all plates as its own action (#12256)
restore select all plates as its own function

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-02-13 16:24:59 +08:00
Yves
d9bea49255 Change Ctrl+A behavior from all plates to current plate only (#12236)
Change CTRL-A behavior from ALL Plates to current plate only
2026-02-11 16:08:21 +08:00
discip
e497f4b0fe fixing typo in #12218 (#12239)
Change slope global use configuration to show overhang

Unfortunately there was a typo in #12218

This should fix it.
2026-02-11 16:07:23 +08:00
Sabriel-Koh
1f00111733 Fix: box selection selecting wrong object in orthogonal view (#12230)
# Description
When using box selection with the orthogonal view, unexpected objects end up getting selected.
Fixed by setting the selection camera to use the same view as the display camera.

Fixes #5895

# Screenshots/Recordings/Graphs
Bugged:

https://github.com/user-attachments/assets/e98fcbb1-0f01-43dd-a3d5-cb0af97e226e

Fixed:

https://github.com/user-attachments/assets/f84e801c-d595-4394-b42f-ed8758413980

## Tests
Tested the selection in both perspective and orthogonal.
2026-02-10 22:31:51 +08:00
Sabriel-Koh
2317ba7e28 fix: Show Labels and Show Overhang toggles not being saved (#12218)
* fix: Show Labels and Show Overhang toggles not being saved

* refactor: use get_bool and add comments
2026-02-09 22:27:03 +08:00
Derrick
9e748d28bd Fix wipe tower loaded outside of plate boundaries (#12191)
* Add checks to snap wipe tower back to origin when it was loaded outside the plate boundary

* Fix Wipe Tower preview outside plate boundary and warning notification

- snaps wipe tower preview to nearest edge if it was loaded outside of plate boundary.
- Added warning notification to notify position change
2026-02-09 22:25:41 +08:00
Derrick
87eba4bc61 Fix extruder name >2 extruder printers (#12190)
Fix for memory access violation when using printers other than bbl printers with >2 extruders.

JIRA-24
2026-02-06 16:55:35 +08:00
Valerii Bokhan
04a16dd804 Fix: Free camera panning/rotating fixed (#12174)
Fixes #10266
2026-02-05 19:57:23 +00:00
yw4z
a7ce29c2d6 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
SoftFever
be0a5dd7d2 Merge branch 'main' into libvgcode 2026-01-06 11:09:09 +08:00
yw4z
f322756543 Introduce canvas menu (#11618)
* init

* update

* Update GLCanvas3D.cpp

* Update GLCanvas3D.cpp

* cleanup

* fix icon size

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-31 00:02:48 +08:00
Ioannis Giannakas
c4374ae5ad Merge branch 'main' into libvgcode 2025-12-18 12:55:11 +00:00
yw4z
2aab39e04b UI fixes / improvements (#11617)
* fix margins on titlebar fold

* update

* Update Plater.cpp

* update

* Update toolbar_double_directional_arrow.svg

* Update toolbar_double_directional_arrow.svg

* object list variable height icon

* Update tab_multi_active.svg

* update ams icons

* match popup border color

* Update param_advanced.svg

* Update custom-gcode_advanced.svg

* match label & parameter box width on object table

* revert changes for orange colors

* match sizes of radio buttons on widgets

* Update GLGizmoSVG.cpp
2025-12-18 12:17:29 +00:00
Andrew Sun
f9a144a34e Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/libslic3r/GCode/GCodeProcessor.cpp
2025-11-18 20:22:57 -05:00
Kiss Lorand
0733336471 Bugfixes (#2)
* Bugfixes

* Reduce size of diff

to avoid merge conflicts when we cherry-pick from upstream :)

* remove extraneous space

---------

Co-authored-by: Andrew Sun <as-com@users.noreply.github.com>
2025-11-18 19:50:48 -05:00
Noisyfox
27a471cea1 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
Andrew Sun
ca639f001f Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/slic3r/GUI/GLCanvas3D.cpp
2025-11-16 22:53:04 -05:00
Ian Bassi
4ce3fb9ca8 Url update: SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer (#11371)
* SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer

* Revert for deps
2025-11-17 11:17:54 +08:00
Andrew Sun
2ddf9d92a2 Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/libslic3r/GCode/GCodeProcessor.cpp
#	src/libslic3r/GCode/GCodeProcessor.hpp
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/GCodeViewer.cpp
#	src/slic3r/GUI/GCodeViewer.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GLCanvas3D.hpp
#	src/slic3r/GUI/GUI_Preview.cpp
2025-11-15 11:11:20 -05:00
Noisyfox
92be298b9b Merge branch 'main' into dev/p2s-pr 2025-11-13 10:11:10 +08:00
Noisyfox
ddb98995b0 Revert "Fix: Correcting the behavior of the camera panning." (#11337)
Revert "Fix: Correcting the behavior of the camera panning. (#11111)"

This reverts commit 08bd21310c.
2025-11-12 13:09:39 +08:00
Noisyfox
0bffff7dd7 Merge branch 'main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/DeviceErrorDialog.cpp
2025-11-09 12:35:32 +08:00
Valerii Bokhan
152b820a97 Fix: Correcting the behavior of the camera panning. (#11111)
* Fix: Correcting the behavior of the camera panning.

Fixes #11107
2025-11-09 12:29:27 +08:00
Alexandre Folle de Menezes
380d471a0e Spellcheck translatable strings (#11242)
* Spellcheck translatable strings
2025-11-09 11:52:27 +08:00
Alexandre Folle de Menezes
433ba098cd Fix casing of axis' names (#11258) 2025-11-08 22:36:03 +08:00
Noisyfox
484f9e222f Merge branch 'main' into dev/p2s-pr 2025-11-04 10:26:47 +08:00
githubber4ever
b25541c592 toggle axis visibility on canvas (#9666)
* toggle axis visibility on canvas

* set show_axes config on toggle
2025-11-02 00:23:26 +08:00
Noisyfox
909b3ed3c6 Merge branch 'main' into dev/p2s-pr 2025-10-31 16:54:45 +08:00
Noisyfox
fc77bac5d1 Fix black bed texture if svg file (#11166)
* Fix blank bed texture if svg file

* Refresh scene once the texture compression is completed
2025-10-31 16:53:08 +08:00
weizhen.xie
25135e0130 Fix: When the flushing multiplier is 0, a warning popup should also be displayed.
Jira: STUDIO-14962

Change-Id: Iee6887fb6ed6941bbd58d9d2b834b6654ee9c806
(cherry picked from commit 43dbb7f228afb4304b6ea398991efd2659feafbe)
2025-10-28 15:30:01 +08:00
weizhen.xie
a108216701 FIX:Flushing volume button interaction optimization
Jira:STUDIO-14583

Change-Id: Ic1a600e92fb408b690febbd3f7a78924aed42e7a
(cherry picked from commit 672b3b54119b46c8e19f635520d4f78710128815)
2025-10-28 15:29:53 +08:00
weizhen.xie
40f3e4b91f ENH:Give a warning when the flushing value changes or is zero.
Jira: STUDIO-13175
Change-Id: Ibc5a912464322d2bc40514c310dfc4859bbd79b3
(cherry picked from commit 3fa4b149a0a529d8a2b1c6b6b80415161c13b2c3)
(cherry picked from commit f6c03caaa744b774ffc9d6150b3691d232ced472)
2025-10-28 15:29:47 +08:00
Vovodroid
3fd0ffd589 Add instances (#6237)
* Add instances

* - Added a new menu item for converting instances to objects,

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-26 16:13:14 +08:00
Noisyfox
a36f8eddab Revert "ENH:instead of prime_volume by filament_prime_volume"
This reverts commit e7e6405ad3.
2025-10-05 19:16:05 +08:00