Commit Graph
18 Commits
Author SHA1 Message Date
HanifKoh 4895bc03b4 Remove Unused Project Includes and Forward-Declare Where a Type Is Only Referenced (#16099)
* Remove Unused Project Includes and Forward-Declare Where a Type Is Only Referenced

Generated with include-what-you-use and applied conservatively. Only OrcaSlicer's own headers, the ones under src/ and tests/, are removed or forward-declared; standard-library and third-party includes are left alone. An include is removed only when both the Release and the Debug configuration leave it unused, never from inside a conditional block, and never from a file with platform-specific blocks, which only gain includes. Files whose only use of a header sits behind a feature or debug macro (libvgcode's OpenGL ES and marker code, the ARACHNE/TESTS_EXPORT_SVGS debug output) keep their includes.

clonable_ptr.hpp gains #pragma once; it had no include guard and was only safe while Config.hpp was its sole includer.

* Remove Unused Project Includes From Files With Platform-Specific Code

A Linux include-what-you-use run cannot see the code inside _WIN32, __APPLE__ or __linux__ blocks, so its verdict is only taken where nothing the removed header declares, directly or through what it includes, is named inside those blocks. Removals also have to hold in both the Release and Debug configuration and never touch a line inside a conditional block.

* Restore the libslic3r Precompiled Header and Direct Includes Lost in the Platform Pass

The platform-file pass treated pchheader.hpp as an ordinary header and
emptied it, and left GUI_Preview.hpp and 14 other files relying on
headers they no longer reached directly.

* Restore MainFrame.hpp in ParamsDialog.cpp for the Windows-Only Reparent Call

* Include Headers That Files Reached Through Ones the Cleanup Removed

* Drop Includes Duplicated by the Cleanup or by Main's Own Additions

* Leave PreciseSeam.cpp as Main Has It After the Precise Seam Rework
2026-10-05 16:47:17 +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 e7ca4fb87e build: trim GUI_App.hpp includes so edits stop rebuilding the whole GUI (#15644) 2026-09-12 12:09:39 -03: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
Alexandre Folle de Menezes fd0d716f53 Standard units don't need translation, part 2 (#9974)
* Revert unit change made by mistake, and fix some unit translations

* Fix the declaration of untranslated Unicode strings
2025-07-17 09:48:29 +08:00
Michele StefanelliandNoisyfox 686a9bd44a Ramming config improvements to enable support for Prusa MMU3 (#9935)
* Ported ramming configuration improvements from prusa slicer: Hold cmd to move all values, more granular time settings and higher maximum values.

* improve variable name, change space

* Move the label under the ramming chart

* Experimenting with values label for ramming chart

* Fix the label position and make the background 20% transparent

* update the way the multiline label is done

* reorder commands

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-13 20:10:42 +08:00
Alexandre Folle de Menezes fa70582ed1 Standard units don't need translation (#9965) 2025-06-22 15:10:40 +08:00
yw4zandNoisyfox 9569841091 Ramming dialog improvements & add step control for SpinInput class (#9651)
* init

* update dialog buttons

* Fix color on Linux & macOS

* Fix dark mode dialog title color on Windows

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-14 15:19:25 +08:00
SoftFever e95ec070c1 fix ramming ui 2023-09-09 23:05:45 +08:00
SoftFever 6ff9ff03db wip 2023-09-09 13:19:43 +08:00
SoftFever e6fcbfae07 fix 2023-08-26 20:55:44 +08:00
Oleksandra Yushchenko fd071421cb DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +02:00
YuSanka cd82b03a0e Localization improvements : Empty spaces at the end of phrase are removed from dictionary.
+ new POT
2019-05-11 23:29:25 +02:00
Lukas Matena 7185125f9c Fixed out-of-bouds access in RammingChart.cpp in case the ramming was turned off 2019-04-24 10:12:23 +02:00
YuSanka 8a31f9d658 Fixed scaling of the Ramming/Wiping dialogs 2019-02-14 14:21:50 +01:00
bubnikv a378bb7bed Removed some obsolete Perl bindings.
Removed libslic3r from the default include paths for all modules but
libslic3r. Now headers from libslic3r need to be included with an
explicit path (libslic3r/libslic3r.h etc)
Split the localization macros into I18N.{cpp,h}
2018-11-26 14:41:58 +01:00
bubnikv bbfbe88a5f Integrated SLAPrint into background processing.
Fixed couple of compiler warnings.
2018-11-08 20:18:40 +01:00
bubnikv 0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00