Skip to content

Preferences dialog redesign / improvements / fixes#10665

Merged
Noisyfox merged 42 commits into
OrcaSlicer:mainfrom
yw4z:preferences-tabs-2
Oct 15, 2025
Merged

Preferences dialog redesign / improvements / fixes#10665
Noisyfox merged 42 commits into
OrcaSlicer:mainfrom
yw4z:preferences-tabs-2

Conversation

@yw4z

@yw4z yw4z commented Sep 9, 2025

Copy link
Copy Markdown
Collaborator

feel free to test and give feedback

PROBLEM

• Items not organized and readability is low
• Dialog is too tall and not fits the window
• There is not much space for new options
• Items uses small fonts that not matches with UI

SOLUTION & IMPROVEMENTS

• Used tabbed interface that matches with current UI. this will allow adding much more options without confusing user
• Using tabs allowed much more compact dialog size
• Matched font size on all controls
• Moved items to sub titles and reordered items to related sections. this will make finding options easier
• Matched UI layout and design with other tabbed sections. Description on left and setting control right. this will matches UI

FURTHER IMPROVEMENTS

• Merged flushing volumes options to a combo box
• Added "..." to "Browse button like other parts in UI. this indicates a dialog will open
• Simplified some of labels to prevent wrapping and corrected "Proper Case" to "Sentenced case"
• Added a secondary title to simplify checkbox labels. Ex. "Requires Restart" or for repeating items
• Used dimmed text on web links section on Associate group. this made a bit more readable
• Updated design of "Auto backup" section. used icon in input box instead "every" text and used "sec" in input box as side text to match UI style
• Added tooltips to all items instead combo box that currently not supports
• Added tooltip to downloads path to show full path
• "Clear" buttons uses alert color on hover
• Cleaned up old code. and replaced RadioBox with new RadioGroup class

FIXES

• Fixed items not focusable
• Corrected colors for labels. label colors was not updated after switching light / dark mode

NOTES

• Show tip of the day feature not working right now. i have tried to fix it but no easy solution. just hid option temporarily. will show it after fix

NOTES FOR CODE CHANGES

• Upper part of code very similar. mostly fixed spacings, properties and margins.
• Lower part re coded because focus events ordered with same order with creation. also made managing ordering easier with using same parent and same sizer name. Didnt used wxSimpleBook because it made things complicated
• Removed parent argument from create_item_.... functions because its unnecessary in this method
• Added some comments to make it more readable

PREVIEW

Screenshot-20250915001714 Screenshot-20250915001718 Screenshot-20250912001535 Screenshot-20250912001538 Screenshot-20250912001541 Screenshot-20250912001543

COMPARISON

Screenshot-20250909132158 Screenshot-20250915001942

CHANGES ON TRANSLATIONS

• Used extensions with uppercase like other sections
• Replaced "Proper Case" with "Sentence case" for some translations like; "Default Page", "Enable Dark Mode" ... etc. this matches case usage and most of translations already used "Sentence case"
• Tried to use shorter descriptions to prevent wrap
• Fixed broken translations for "files" / "projects" term

PR changed "projects" term to "items" https://github.com/SoftFever/OrcaSlicer/pull/9481/files that brake translations
"Recent projects" to "Recent files".
"Maximum recent projects" "Maximum recent files"
"Maximum count of recent projects" to "Maximum count of recent files"
this PR reverts back to original translations for a consistent usage and activate existing translations

Here is other changes
First line is current, second line new value

Default Page
Default page
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Default+Page%22%2F&type=code
• No other window uses

Enable Dark Mode
Enable dark mode
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Enable+Dark+Mode%22%2F&type=code
• No other window uses

Show "Tip of the day" notification after start
Show "Tip of the day" after start
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer++%22Tip+of+the+day%22&type=code
• No other window uses

Add model files (stl/step) to recent file list.
Add STL/STEP files to recent files list
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer++%28stl%2Fstep%29&type=code
• No other window uses

Load Behaviour
Load behaviour
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Load+Behaviour%22%2F&type=code
• No other window uses

Show the step mesh parameter setting dialog.
Show options when importing STEP file
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Show+the+step+mesh+parameter+setting+dialog.%22%2F&type=code
• No other window uses

No warnings when loading 3MF with modified G-code
Don't warn when loading 3mf with modified G-code
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22No+warnings+when+loading+3MF+with+modified+G-code%22%2F&type=code
• No other window uses

Auto-Backup
Auto backup
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Auto-Backup%22%2F&type=code
• No other window uses

Multi-device Management (Take effect after restarting Orca Slicer).
Multi device management
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer++Multi-device+Management&type=code
• No other window uses

Login Region
Login region
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Login+region%22%2F&type=code
• No other window uses

Stealth Mode
Stealth mode
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer+%2F%22Stealth+mode%22%2F&type=code
resources/web/data/text.js

Use legacy network plugin (Take effect after restarting Orca Slicer)
Use legacy network plugin
https://github.com/search?q=repo%3ASoftFever%2FOrcaSlicer++%5C%22Enable+legacy+network+plugin&type=code
• No other window uses

Requires new translations
Developer
Features
Behaviour
(Requires restart)
sec
Auto flush after changing ...
Auto calculate flushing volumes when selected values changed
Clear my choice on ...
Unsaved projects
Unsaved presets

@yw4z yw4z changed the title Reworked Preferences dialog Preferences dialog redesign / improvements / fixes Sep 9, 2025
@RF47

RF47 commented Sep 10, 2025

Copy link
Copy Markdown
Collaborator

Very nice job!

@yw4z yw4z marked this pull request as ready for review September 13, 2025 10:20
@yw4z yw4z marked this pull request as ready for review September 14, 2025 21:43
Comment thread src/slic3r/GUI/Preferences.hpp Outdated
Comment thread src/slic3r/GUI/Preferences.cpp
@Noisyfox

Copy link
Copy Markdown
Collaborator

Awesome improvements! Code looks good to me and looking forward to get this merged once the issues are solved.

@yw4z

yw4z commented Oct 15, 2025

Copy link
Copy Markdown
Collaborator Author

also here is un used functions if we want to make further cleanup

wxBoxSizer *PreferencesDialog::create_item_switch(wxString title, wxString tooltip ,std::string param)
void PreferencesDialog::create_sync_page()
void PreferencesDialog::create_shortcuts_page()

sync & shortcuts page > just kept them to see related keys
create_item_switch > i assume its not needed since we using checkboxes

@Noisyfox

Copy link
Copy Markdown
Collaborator

create_item_switch > i assume its not needed since we using checkboxes

Yeah I'll say we could remove this one.

@Noisyfox Noisyfox left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

@Noisyfox Noisyfox merged commit 0493ed0 into OrcaSlicer:main Oct 15, 2025
2 checks passed
NanashiTheNameless added a commit to NanashiTheNameless/OrcaSlicer that referenced this pull request Oct 15, 2025
NanashiTheNameless added a commit to NanashiTheNameless/OrcaSlicer that referenced this pull request Oct 15, 2025
Revert "Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)"
NanashiTheNameless added a commit to NanashiTheNameless/OrcaSlicer that referenced this pull request Oct 15, 2025
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request Oct 20, 2025
* main: (21 commits)
  Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924)
  Fix Z offset for 1st layer (OrcaSlicer#11011)
  Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641)
  Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084)
  Limit Shrinkage values (OrcaSlicer#10930)
  Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841)
  Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913)
  Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677)
  Validation Action comment Remove + Improvement (OrcaSlicer#10617)
  Material Type standarization + Technical Filament Types (OrcaSlicer#10553)
  Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747)
  Fix several imgui UTF8 related issues (OrcaSlicer#11078)
  Make top resizing grabber larger on Windows (OrcaSlicer#11023)
  Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)
  Add the u8 marker to UTF-8 strings (OrcaSlicer#10666)
  Add static assert for bed number related values (OrcaSlicer#11035)
  BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)
  [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)
  overflow inital setup screen (OrcaSlicer#11007)
  Clarify warning about malicious websites
  ...
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request Oct 21, 2025
* opt-filltpmsfk: (21 commits)
  Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924)
  Fix Z offset for 1st layer (OrcaSlicer#11011)
  Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641)
  Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084)
  Limit Shrinkage values (OrcaSlicer#10930)
  Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841)
  Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913)
  Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677)
  Validation Action comment Remove + Improvement (OrcaSlicer#10617)
  Material Type standarization + Technical Filament Types (OrcaSlicer#10553)
  Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747)
  Fix several imgui UTF8 related issues (OrcaSlicer#11078)
  Make top resizing grabber larger on Windows (OrcaSlicer#11023)
  Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)
  Add the u8 marker to UTF-8 strings (OrcaSlicer#10666)
  Add static assert for bed number related values (OrcaSlicer#11035)
  BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)
  [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)
  overflow inital setup screen (OrcaSlicer#11007)
  Clarify warning about malicious websites
  ...
@yw4z yw4z deleted the preferences-tabs-2 branch November 1, 2025 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants