* Ignore Clipper, libpng, mcut and Boost.Polygon Internals in clang-tidy
Each only works through a wrapper or umbrella header: libslic3r/clipper.hpp or clipper_z.hpp configure Clipper before including it, png.h pulls in libpng's config headers, and Boost.Polygon's headers only compile through polygon.hpp or voronoi.hpp.
* Ignore minilzo's Config Headers in clang-tidy
lzoconf.h and lzodefs.h are internal to minilzo.h, which is what the code includes.
* Add Missing Includes Across the Remaining Sources and Tests
Covers src/slic3r/Utils, src/slic3r/plugin, src/slic3r/Config, src/libvgcode, src/dev-utils, src/OrcaSlicer.cpp and tests/, the directories left after src/slic3r/GUI and src/libslic3r. Generated with clang-tidy misc-include-cleaner. libvgcode's own headers are included by relative path as in the rest of that library, and Catch2 and pybind11 with angle brackets as elsewhere in the repo.
* Make the GUI and Test Headers Compile on Their Own
Each now includes, or forward-declares, what it uses instead of relying on what its includers happened to include first. Headers that only compile on one platform, or that nothing built includes, are left alone.
* Keep Windows and nanosvg Setup Ahead of the Added Includes
OrcaSlicer.cpp and several tests set _WIN32_WINNT, WIN32_LEAN_AND_MEAN or NOMINMAX before including Windows.h, and the profile validator defines NANOSVG_IMPLEMENTATION before any libslic3r header. The added includes had landed above those blocks, which broke the Windows build.
* Add the GUI Includes the First Pass Missed
Covers headers that only became editable once they compiled on their own, and wx symbols whose suggested header changed as the clang-tidy ignore list grew after the src/slic3r/GUI pass.
* Keep the Added Test Includes Below the NOMINMAX Guard
test_marchingsquares.cpp and test_texture_displacement.cpp had includes inside #ifndef NOMINMAX, which the tests inherit as defined on Windows from libslic3r, so those were skipped there. .clang-tidy also ignores the MSVC STL and UCRT internals, Boost.Multiprecision's fwd.hpp and CPython's Windows include directory, as in #16068.
* Allow using BBL's device tab when 3rd party print host is used
* Add option to open SimplyPrint panel in device tab after uploading
* Fix default print host for prusa connect
* Do not set api key in device view when SimplyPrint is used
* Sending 3mf file to SimplyPrint when using BBL printers
* Fix file extension when uploading 3mf
* Prepare for large file uploading
* Implement chunk upload
* Fix file uploading exceeding content size
* Fix wrong field type
* Add `temp=true` to all chunk upload calls
* Add macro to enable test api
* Merge branch 'main' into dev/simplyprint-improve
* Fix another missing `temp=true`
* Add delete token
* Try fixing build error on *nix systems
* Merge branch 'main' into dev/simplyprint-improve
* Merge branch 'main' into dev/simplyprint-improve
* Merge remote-tracking branch 'remote/main' into dev/simplyprint-improve
# Conflicts:
# src/slic3r/GUI/BackgroundSlicingProcess.cpp
* Move the `bbl_use_print_host_webui` option to print host dialog. Also make it a derived option of `print_host_webui` instead.
* Merge branch 'main' into dev/simplyprint-improve
# Conflicts:
# src/slic3r/GUI/MainFrame.cpp
# src/slic3r/GUI/Plater.cpp
* Merge branch 'main' into dev/simplyprint-improve
# Conflicts:
# src/slic3r/GUI/Plater.cpp
* Use a more generic option instead of SimplyPrint specific
* Merge branch 'main' into dev/simplyprint-improve
* Merge branch 'main' into dev/simplyprint-improve
* Initial commit for the builder
* fix wx, use hack to install into /app
* add some workarounds for /usr/local
* fix up rest of paths
* attempt to fix wxwebview undef
* figure out why wxwidgets isnt getting its patches applied
* do "proper" patching of wxwidgets
* Flip the flag
* actually append the /usr/local
* restrict package finding to flatpak only
* Update the destdir stuff for mpfr, gmp
* Transfer over all the _destdir, again
* update patch command for all other plats
* initial ci check
* what even happened
* clear ci image
* I doubt this will do anything
* do cleanup after running each step
* remove build objects for flatpak ci
* compress debug info
* Fix MacOS build
* Try saving space after building deps
* No debug info for now
* Do debug info, use thin static archives
* use BSD flag, not --thin
* try building with lto
* Use release, no debug info
* remove lto
* Revert the last 5 commits
* It might require write perms
* Revert "It might require write perms"
This reverts commit 44cec58a57.
* Import fixes for merge
* remove some patch stuff
* the worst hack!
* remove uneeded patches
* Initial commit for the builder
* note to self, go back to regular wx
* attempt to fix wxwebview undef
* do "proper" patching of wxwidgets
* update patch command for all other plats
* what even happened
* -ldep_name-NOTFOUND is still here
* concat patches
* Build wx with flatpak
* more wx shenatigans
* fix a missing import
* build wx with proper flags
* fix imports and libs
* trigger ci
* try fixing mac and windows ci
* remove duplicate definition of freetype
* curl may not have openssl for a dep
* has openssl been found?
* force building
* build images on apple
* cleanup for review
* cleanup cmake files
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Make httpserver more generic and reusable
* Add OAuthJob
* Fix issue caused by the fact that the backing widget of the `TextCtrl` is no longer `wxTextCtrl`
* Implement login and token refresh
* Implement file upload
* Try fix build error
* Support BBL printers
* Show error message if user hasn't done OAuth
* Fix typo
* Update error message
* Disable unsupported options when SimplyPrint is selected