* 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.
/run/build/BambuStudio/src/slic3r/GUI/EncodedFilament.hpp: At global scope:
/run/build/BambuStudio/src/slic3r/GUI/EncodedFilament.hpp:81:10: error: ‘set’ in namespace ‘std’ does not name a template type
81 | std::set<wxColour, wxColorSorter> m_colors;
| ^~~
/run/build/BambuStudio/src/slic3r/GUI/EncodedFilament.hpp:13:1: note: ‘std::set’ is defined in header ‘<set>’; this is probably fixable by adding ‘#include <set>’
12 | #include <chrono>
+++ |+#include <set>
13 |
(cherry picked from commit 9d86c8c15e69158d386596bd860b99b61b2c2e61)
/run/build/BambuStudio/src/slic3r/GUI/EncodedFilament.hpp: In function ‘Slic3r::ColourHSV Slic3r::wxColourToHSV(const wxColour&)’:
/run/build/BambuStudio/src/slic3r/GUI/EncodedFilament.hpp:41:25: error: ‘fmod’ was not declared in this scope
41 | h = 60.0 * (fmod(((g - b) / delta), 6.0));
| ^~~~
(cherry picked from commit 625b661f292fdac9b337365b6792c959f6df59ff)
- Add a filament picker dialog for official color selection
- Enable displaying multiple filament colors in the picker dialog and preview sidebar
- Introduce two new config options:
- `filament_multi_colors`
- `filament_color_types`
to both the application config and the 3MF config
jira: STUDIO-12346
Change-Id: I66f8c1ec9147df4f5948c8a329c1737551280e63
(cherry picked from commit 522dc0bbca49033a1ba9725ca7f6c3ea729691a6)