Commit Graph
89 Commits
Author SHA1 Message Date
SoftFever e5aa9a8cfc Speed up profile loading with per-vendor preset caches
Each vendor's system presets are serialized into a <vendor>.opc cache
that the app loads instead of parsing the profile JSONs, falling back
to the parse whenever no cache covers what is installed. Shipped builds
carry the caches instead of the raw profiles, installing and updating
treat a vendor's cache as its installation, and the setup wizard loads
through the same path. Per-platform scripts and CI generate the caches
at build time; tests and a design doc cover the format and its
validation.
2026-07-29 21:56:17 +08:00
yw4zandSoftFever 02bc8969a2 Fix: Missing inherited filaments on vendor profiles cannot found on OrcaFilamentLibrary (#12060)
* init

* ix: resolve OFL filament inherits in printer creation via base_bundle

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-06-28 13:07:09 +08:00
Ian Bassi 514ab02525 Localizations refactor (#14254) 2026-06-18 09:13:51 -03:00
Mitchell Mashburn 6f79b63959 Update re:3D profiles. (#13750)
* Update/add re:3D profiles.

* Fix encoding issue with UTF-8 BOM

* Change spaces to tabs.

* Fix alignment-based space indentation issues.

* Test: rename_from property

* Test 2: rename_from property

* Test 3: use 'renamed' instead of 'rename'

* Add renamed property for each conflicting profile.

* Revert to optimized assets improved on [#13149](https://github.com/OrcaSlicer/OrcaSlicer/pull/13149)
2026-05-28 12:08:19 +08:00
yw4z cf0dfd12ce Clarify Create nozzle for existing printer (#11773)
* Update CreatePresetsDialog.cpp

* add information for existing nozzles
2026-05-15 10:03:17 +08:00
Alexandre Folle de MenezesandIan Bassi e90e22ae82 Improve the language on some strings (#13553)
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2026-05-12 12:55:57 -03:00
Robert Baker 972dae22af Add Anycubic Kobra 3 Max (#11586)
Fix Kobra 3 Max printable area and JSON spacing
2026-05-10 21:20:09 +08:00
SoftFever c04be9ab37 Introducing Orca Cloud: https://cloud.orcaslicer.com (#13414)
* Add OrcaCloud sync platform and preset bundle sharing system

  Introduce OrcaCloud, a cloud sync platform for user presets, alongside
  a preset bundle system that enables sharing printer/filament/process
  profiles as local exportable bundles or subscribed cloud bundles.

  OrcaCloud platform:
  - Auth to Orca Cloud
  - Encrypted token storage (file-based or system keychain)
  - User preset sync with
  - Profile migration from default/bambu folders on first login
  - Homepage integration with entrance to cloud.orcaslicer.com

  Preset bundles:
  - Local bundle import/export with bundle_structure.json metadata
  - Subscribed cloud bundles with version-based update checking
  - Thread-safe concurrent bundle access with read-write mutex
  - Canonical bundle preset naming (_local/<id>/... and _subscribed/<id>/...)
  - Bundle presets are read-only; grouped under subheaders in combo boxes
  - PresetBundleDialog with auto-sync toggle, refresh, update notifications
  - Hyperlinked bundle names to cloud bundle pages

  Co-authored-by: Sabriel Koh <sabrielkcr@gmail.com>
  Co-authored-by: Derrick <derrick992110@gmail.com>
  Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com>
  Co-authored-by: Ian Chua <iancrb00@gmail.com>
  Co-authored-by: Draginraptor <draginraptor@gmail.com>
  Co-authored-by: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com>
  Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
  Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>
  Co-authored-by: yw4z <ywsyildiz@gmail.com>
  Co-authored-by: peterm-m <101202951+peterm-m@users.noreply.github.com>

* Fixed an issue on Windows it failed to login Orca Cloud with Google account
2026-05-01 18:01:29 +08:00
Danielle WheelerandSoftFever 1b2ff12868 Add Flashforge Artemis Printer Profile (#11902)
* add Artemis configuration files

* updated config files

* undo testing on a different nozzle

* matched settings to FlashPrint5

* lowered nozzle temperature

* renamed filed to match Flashforge.json file

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-04-08 11:32:21 +08:00
SoftFever 094dfc14bd Fix missing commas in vendor string arrays causing silent concatenation 2026-03-30 12:29:14 +08:00
Mitchell Mashburn c036ce059a Add re:3D printer profiles (#12935)
# Description

* Add re:3D printer profiles.

# Screenshots/Recordings/Graphs

<img width="404" height="275" alt="image" src="https://github.com/user-attachments/assets/b7a747a8-4d1a-440f-a214-4a98619e6723" />


## Tests

* Tested build on Linux Ubuntu.
* Ran profile validation script:

<img width="439" height="74" alt="image" src="https://github.com/user-attachments/assets/ad10e0a0-de9b-45c6-a40e-6cacb6e7b779" />
2026-03-30 10:36:28 +08:00
SoftFever 85390a9da0 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 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
TheLegendTubaGuy e6dfd2d8cb Update CC2 Profiles from elegoo slicer (#12215) 2026-03-11 23:57:40 +08:00
Ian Bassi ce56ad5590 Minor export text change (#12461) 2026-02-24 15:05:57 -03:00
Dmitrii f3f752d0be Prusa CORE One L (C1L) Profiles (#11447)
# Description

This adds support for Prusa CORE One L.

Prusaslicer commit: https://github.com/prusa3d/PrusaSlicer/commit/5bda77520e420ba62bb2dbbc39c5c8d9f9418481

# Screenshots/Recordings/Graphs

<img width="762" height="289" alt="image" src="https://github.com/user-attachments/assets/ff117547-daaa-46c1-a964-996d533613cc" />

(no i'm not sure if it's meant to be this wide)

## Tests

None yet, plz help
2026-01-22 15:34:43 +08:00
yw4z 0bee82cee5 Hyperlink class (#9947)
### FIXES
• 3mf file version check dialog opens bambu releases page instead Orca

### CODE COMPARISON

<img width="112" height="36" alt="Screenshot-20251128125737" src="https://github.com/user-attachments/assets/73718a18-8159-43d5-bb80-0eb90d59a8f6" />

**wxHyperlinkCtrl**
• System decides what colors to use. so blue color is visible even with colors set
• No need to use SetCursor()
```
auto wiki_url = "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables";
wxHyperlinkCtrl* wiki = new wxHyperlinkCtrl(this, wxID_ANY, _L("Wiki Guide"), wiki_url);
wiki->SetToolTip(wiki_url); // required to showing navigation point to user
wiki->SetFont(Label::Body_14); // not works properly
wiki->SetVisitedColour(wxColour("#009687")); // not works properly
wiki->SetHoverColour(  wxColour("#26A69A")); // not works properly
wiki->SetNormalColour( wxColour("#009687")); // not works properly
```

<img width="132" height="39" alt="Screenshot-20251128125847" src="https://github.com/user-attachments/assets/f6818dc0-5078-498a-bf09-1fd36e81ebe5" />

**wxStaticText**
• Works reliably on colors and fonts
• All event has to defined manually
```
wxStaticText* wiki = new wxStaticText(this, wxID_ANY, _L("Wiki Guide"));
auto wiki_url = "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables";
wiki->SetToolTip(wiki_url); // required to showing navigation point to user
wiki->SetForegroundColour(wxColour("#009687"));
wiki->SetCursor(wxCURSOR_HAND);
wxFont font = Label::Body_14;
font.SetUnderlined(true);
wiki->SetFont(font);
wiki->Bind(wxEVT_LEFT_DOWN   ,[this, wiki_url](wxMouseEvent e) {wxLaunchDefaultBrowser(wiki_url);});
wiki->Bind(wxEVT_ENTER_WINDOW,[this, wiki    ](wxMouseEvent e) {SetForegroundColour(wxColour("#26A69A"));});
wiki->Bind(wxEVT_LEAVE_WINDOW,[this, wiki    ](wxMouseEvent e) {SetForegroundColour(wxColour("#009687"));});
```

<img width="132" height="39" alt="Screenshot-20251128125847" src="https://github.com/user-attachments/assets/f6818dc0-5078-498a-bf09-1fd36e81ebe5" />

**HyperLink**
• Fully automated and single line solution
• Colors can be controllable from one place
• Works reliably on colors and fonts
• Reduces duplicate code
```
HyperLink* wiki = new HyperLink(this, _L("Wiki Guide"), "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables");
wiki->SetFont(Label::Body_14) // OPTIONAL default is Label::Body_14;
```


### CHANGES
• Unifies all hyperlinks with same style and makes them controllable from one place
• Replaces all wxHyperlink with simple custom class. Problem with wxHyperlink it mostly rendered as blue even color set
• Reduces duplicate code
• Adds wiki links for calibration dialogs
• Probably will add "Wiki Guide" to more dialogs overtime

<img width="349" height="238" alt="Screenshot-20251127212007" src="https://github.com/user-attachments/assets/69da2732-ea35-44de-8ebc-97a01f86328f" />

<img width="355" height="459" alt="Screenshot-20251127212021" src="https://github.com/user-attachments/assets/c0df40f8-c15d-47fa-b31a-cf8d8b337472" />

<img width="442" height="382" alt="Screenshot-20251127212046" src="https://github.com/user-attachments/assets/5d94242b-6364-4b0a-8b2f-a1f482199bd1" />

<img width="225" height="241" alt="Screenshot-20250824171339" src="https://github.com/user-attachments/assets/39ca6af3-6f8a-42ee-bf1d-c13d0f54bb63" />

<img width="442" height="639" alt="Screenshot-20251127212403" src="https://github.com/user-attachments/assets/c1c580f8-3e1b-42f0-aa8e-bac41c2ff76b" />

<img width="476" height="286" alt="Screenshot-20251127212515" src="https://github.com/user-attachments/assets/28b130ce-c7c0-4ada-9842-ff7154c00c21" />

<img width="1460" height="245" alt="Screenshot-20251127212541" src="https://github.com/user-attachments/assets/3fca2649-9cd3-4aea-9153-b2f508fdfefe" />

<img width="401" height="291" alt="Screenshot-20251127213243" src="https://github.com/user-attachments/assets/82b4ec1f-6074-4018-9efa-a1b6b819ae28" />
2026-01-03 23:06:57 +08: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 5e2a7fbf35 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
Denis Šaško 3cd229098f Anycubic Predator machine and print profiles (#11252)
* feat: anycubic predator

* buildplate texture & cover image

* Newlines

* buildplate texture and model

* modified printable area

* added to custom printers list

* flip buildplate model

* Merge branch 'SoftFever:main' into feature/anycubic-predator-profile

* make profile safe (speed, acceleration, jerk), added better start gcode with prime line

* rotate texture to avoid confusion

* updated start gcode

* rotate the texture back

* Merge branch 'main' into feature/anycubic-predator-profile

* Merge branch 'main' into feature/anycubic-predator-profile

* Update cover image & fix gcode flavor
2025-11-17 12:20:26 +08:00
Alexandre Folle de Menezes 8ec2454835 Standard units need translation for CIS Languages (#11376)
* Standard units need translation for CIS Languages
2025-11-17 10:29:44 +08:00
xin.zhang ff1e48a9c4 FIX: the event should be skipped, so that the CheckBox could be toggled
JIRA: [STUDIO-14861]
Change-Id: I72e9e77c0e81e9cf64de7258ca09c225d5c3f807
(cherry picked from commit 9861c3d6bcd7e2720d1fccaacb820e13b5d7adb7)
2025-10-28 15:29:58 +08:00
maosheng.wei 68e08a5bee FIX: Fix decimal point issue during the process of creating a custom printer
github: #7714

Change-Id: I95034becee15befaa6843e27dbc4df2355d008f8
(cherry picked from commit 49ebaca7fcbcf308fef2cc7f71ce8927ea8250f0)
2025-10-28 15:29:52 +08:00
maosheng.wei 94cde0fb3a FIX: Refresh the dialog after changing the preset size of the Filament interface
Jira: STUDIO-13998

Change-Id: Ib57db4b9b64d815c3a6731f8a4a99ae2237f4473
(cherry picked from commit 41f3333aacd59788c25034ed4a94461a7b6a8e54)
2025-10-28 15:29:50 +08:00
Noisyfox 56d8bd8fbe Fix option nullable 2025-10-10 16:57:16 +08:00
gunlock a448cff1df Fixes #7211 where the CreateFilamentPresetDialog fails to show the printer list due to the dialog not resizing properly. This workaround sets the wxRESIZE_BORDER flag so the dialog can be resized to reveal the printer list.
(cherry picked from commit 3f066404903e5f13892c1f37c179a68479669e88)
2025-09-30 11:17:31 +08:00
zhimin.zeng 5ce2ec11a8 FIX: the data and UI are out of sync when creating printer
jira: STUDIO-11080
Change-Id: I4cc86174b4ed847b53c87f85f9e590742e6dd9ff
(cherry picked from commit c366876acfb95b16bedb57f9e22e1623fc749f7e)
2025-09-18 17:13:09 +08:00
zhimin.zeng 6b282809f8 FIX: add nozzle size filter for create preset dialog
jira: STUDIO-10969
Change-Id: Ideee88b35c41a34512e30aea55a6a518ca337f5e
(cherry picked from commit 4f87d0de271026d0067f7ce449db0c3bdde5744d)
2025-09-18 16:27:26 +08:00
zhimin.zeng 28fdf252d0 FIX: error sync behavior for customize printer preset
jira: STUDIO-10331
Change-Id: I4d42ed089e515c2d74dfade1589f20f1c80ca4ca
(cherry picked from commit ce963cede53a72a123f55666a1f718726eb18ab6)
2025-09-17 14:22:28 +08:00
Noisyfox 2375ab860a Merge remote-tracking branch 'upstream/main' into dev/h2d
# Conflicts:
#	resources/profiles/BBL.json
#	src/slic3r/GUI/AmsMappingPopup.cpp
#	src/slic3r/GUI/MediaFilePanel.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-09-16 14:46:40 +08:00
maosheng.wei 233edf9502 ENH: Optimize the creation of third-party printer presets
Allow custom input nozzle diameter and allow create custom nozzle diameter for system printer

Jira: XXXX

Change-Id: I78014fb03b20f80fa774a5af3ecf9395d2d02980
(cherry picked from commit 9d3bd858f43315ce95e8f8c03a5446ac7cdbbd97)
2025-09-07 00:07:52 +08:00
Alexandre Folle de Menezes 0ba336647c Fix misc issues with the translated strings (#10400)
* Spell check "part selectiont" and "printetrs"

* Remove translation of "°"

* Fix the abbreviation of Watts

* Fix capitalization issues

* Fix punctuation issues

* Fix spacing issues

* Adding more missing periods
2025-08-26 22:39:14 +08:00
Azi 4981b0b3e4 Fix: export printer config skipping currently selected preset (#10380)
* Fix: export printer config skipping currently selected preset
2025-08-21 22:10:22 +08:00
Jo KroeseandSoftFever e5d6de9080 Fix inability to create custom filament due to hidden printer selection checkbox (#10362)
Fix clipped printer selection in Create Filament Preset dialog

Ensure the scrolled panel in the Create Filament Preset dialog expands vertically by changing `m_main_sizer->Add(..., proportion=0)` to `proportion=1`. This exposes the printer selection checkbox, which is required to create a custom filament.

Fixes #6719

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-08-12 00:14:18 +08:00
yw4zandNoisyfox e9e069c167 Styling management for buttons and matching all button styles (#8184)
* Add button styling

* Fix dark mode compability

* printable area button

* Connection dialog icons

* Add aligment control

* Fix alignment

* add new styles

* Update BedShapeDialog.cpp

* Use darker text color on dark mode

* update code

* Update

* update

* Update

* Update WipeTowerDialog.cpp

* update

* Update Button.cpp

* update

* Update Button.cpp

* add enums for style and type

* update

* Update Button.cpp

* fix

* update

* Update DialogButtons.cpp

* Update UnsavedChangesDialog.cpp

* update

* update

* update

* Update Button.cpp

* cleanup

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-17 20:44:45 +08:00
Alexandre Folle de Menezes fa70582ed1 Standard units don't need translation (#9965) 2025-06-22 15:10:40 +08:00
yw4z 8aec3f69e5 Remove usage of titlebar icons (#9932)
* ibit

* update

* Update RecenterDialog.cpp

* Update AboutDialog.cpp
2025-06-20 16:52:15 +08:00
dremc d8683fc045 add filament_vendors:DREMC (#9519)
* Update CreatePresetsDialog.cpp

* Update generate_presets_vendors.py
2025-06-15 19:41:46 +08:00
Dipl.-Ing. Raoul Rubien, BSc 3ecca6116d fixes compiler warnings (#9619)
* compiler warnings: adds SYSTEM to [target_]include_directories to skip warnings originating from dependencies

* compiler warnings: uninitialized/unused variables, missing parenthesis, pragma

* compiler warnings: redundant template type, missing curly braces, pass 0 instead of NULL as int argument

* compiler warnings: removes fclose(fp) where fp==nullptr since fclose() has attribute __nonnull((1))

* compiler warnings: uninitialized variables, missing parentheses, missing curly braces

* compiler warnings: ? as lower precedence than <<

* compiler warnings: unused variable

* compiler warnings: unused result

* compiler warnings: undefined/unused variable

* compiler warnings: uninitialized variable
2025-06-14 21:05:25 +08:00
yw4z 0999cb057d DialogButtons fixes and apply to more windows (#9809)
* step import dialog

* update

* update

* drop file dialog

* Update UnsavedChangesDialog.cpp

* update

* fix focus

* Update CreatePresetsDialog.cpp

* improve usage of return button

* fix first button not getting hover effects

* update

* update

* improve button styles

* update button events

* update button events

* update button events

* remove Raise()
2025-06-14 10:27:10 +08:00
Michele Stefanelli 5a173bb1c4 Improve printers pictures and sorting (prusa printers) (#9824)
* Replace prusa printer images with standard sizes and aspect ratio

* Rename Prusa Mini IS to specify the IS in the name

* Add missing prusa CORE One in the preset dialog and reorder prusa printers

* updated pictures to 320px
2025-06-08 18:04:04 +08:00
yw4z dd549a6c52 class for DialogButtons (#9639)
* init

* match code

* update

* Update DialogButtons.hpp

* make Ok uppercase

* update

* fix and cleanup

* Update DialogButtons.cpp

* update

* Update DialogButtons.cpp

* update

* Update CreatePresetsDialog.cpp

* update

* update

* update
2025-06-04 09:30:36 +08:00
Alexandre Folle de Menezes b8c5ddd0ee Fix the spelling/grammar on the original english strings (#9487)
* Fix the spelling/grammar on english strings

* Fix the spelling/grammar on english strings, part 2
2025-06-01 19:32:36 +08:00
Alexandre Folle de Menezes a2f87dc980 Fix casing issues on the original english strings (#9513)
* Use lowercase after comma

* Use uppercase after period
2025-06-01 19:31:55 +08:00
Alexandre Folle de Menezes 57a6f61349 Fix the spacing on the original english strings (#9596)
* Remove extra spaces between words

* Remove extra spaces after punctuation

* Remove extra spaces before punctuation

* Always needs a space after punctuation

* Always needs a space before parens

* Remove trailing spaces before newline
2025-05-16 16:31:58 +08:00
Noisyfox 8c4b7456c1 Fix vendor/model selector on create printer dialog (#9344)
* Make sure printer vendor matches

* Handle cases where some vendor do not have printers (such as `OrcaFilamentLibrary`)

* Ignore vendor `custom printer` from create printer vendor list

* Fix missing end bracket

* Update printer vendor and model list on create printer dialog
2025-05-01 17:12:03 +08:00
Alexandre Folle de Menezes 7d72db562f Add translation markers on more unstranslated strings (#9134) 2025-04-26 23:11:36 +08:00
Alexandre Folle de Menezes d37f1b6a81 Fix english strings consistency (#8881)
* "non zero" -> "non-zero"

* "Z hop" -> "Z-hop"

* "works" -> "is working"

* "version at least x" -> "version x or higher"

* "printing job" -> "print job"
"to print on" -> "printing on"

* "is not find" -> "was not found"

* "boundary of plate" -> "plate boundaries"

* "toolchange" -> "tool change"

* "colour" -> "color"

* "cancelled" -> "canceled"

* "can not" -> "cannot"

* "gcode" -> "G-code"
2025-04-26 19:59:49 +08:00
FusRock 3a3f695967 add filament_vendors:FusRock
Add FusRock and keep the alphabetical order
2025-04-15 16:25:26 +08:00
AziandNoisyfox 6d467c8f16 fix: no printers show up for custom filament creation (#8959)
* fix: for custom filament creation, if no compatible printers are defined, it should be available for all printers

* same fix idea but for 'Copy Current Filament Preset' option

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-04-14 15:23:22 +08:00