* 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
* Save device url in all cases and load printer url after hot-reload finishes
* Recreate web view from scratch as only URL fix seems not robust enough
* Add the same robust browser recreation for WebViewDialog
It should eliminate possible issue with blank Home and other pages
in the same way as Printer page
* Remove redundant fallback leftover
* Fix webview reset state and replay Project info on page reload
The first-show webview reset now runs only on Windows, reloads the last
printer URL and resets the Project page's ready state. The Project tab
replays its 3MF info whenever the page reloads, so it no longer goes
blank after a theme switch or a slow first load. The Device tab no longer
loads an extra time on first open, and the Home tab no longer navigates
twice. NeedsRecreateOnShow() logs is_recreating_gui so one language
switch shows whether the reset ever fires.
* Build plugin pages on first show
A language switch rebuilt every plugin page's browser while the main
window was being recreated, which left plugin tabs blank on Windows.
Plugin pages are now lazy pages, never prebuilt, and are removed left
to right so removing pages never builds one only to destroy it.
A plugin page's script now starts when its tab is first opened;
messages posted before that are dropped.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
* 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.
* 启动时进行 WebView2 运行时检查
* 启动时进行 WebView2 运行时检查
* skip code sign for PR build
* Russian translation for OrcaSlicer V1.6.4 (#1900)
* Russian translation for OrcaSlicer V1.6.4
Please replace the existing translation with my translation.
Advantages of this translation:
-A normal translation based on the Prusa slicer translation (the translation of which I have been supporting for a long time). The translation that is used now is crude, there are a lot of errors and typos.
-Added missing lines
I also made a pull request for this translation for Bambu Studio (with small edits and add lines)
* file name and location updates
* update
rename Russian.po in OrcaSlicer_ru.po
* update
* move OrcaSlicer_ru.po to correct location
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Fixed viewer resize malfunction when cjk language is use (#1909)
* Update Korean translation
* 1. Fix blank button text after translation
2. Fix some mistranslated korean
* -fix bottom surface in gcode viewer
-update korean translation
* - Fixed UI being broken 'cause "display" text size could not be calculated when cjk language is use
* Port overhang extra perimeters from PrusaSlicer (#1939)
* Port overhang extra perimeters from PrusaSlicer
* Reduce duplicated code
* Add credits
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: PavelMikus <pavel.mikus.mail@seznam.cz>
* Create OrcaSlicer_zh_TW.po for traditional Chinese translate (#1952)
Create OrcaSlicer_zh_TW.po
* update czech translate (#1949)
* QoL: make slider thinner
* QoL: show transparent shell in gcode preview and truncate long gcode line caused by native Klipper commands
* PlaceholderParser: new interpolate_table() "function"
interpolate_table(x, (x0, y0), (x1, y1), (x2, y2), ...)
interpolates a table at position x.
* GCodeGenerator / custom G-codes: Added new read/only options providing
the amount of total extruded material and per extruder extruded material
up to the point the value is evaluated:
"extruded_volume", "extruded_weight",
"extruded_volume_total", "extruded_weight_total"
* support profile notes
* Add support for PrusaLink webview
* update Prusa profiles
* Support Marlin 2
* tweak MK4IS
* Fix Linux build errors
* Add Tranditional Chinese
* Fix *nix build error and some other fixes
---------
Co-authored-by: ZdDroid <601865048@qq.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Andy <andylg@yandex.ru>
Co-authored-by: Hotsolidinfill <138652683+Hotsolidinfill@users.noreply.github.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: PavelMikus <pavel.mikus.mail@seznam.cz>
Co-authored-by: ablegods <85563455+ablegods@users.noreply.github.com>
Co-authored-by: renemosner <99507763+renemosner@users.noreply.github.com>
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>