mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-17 04:41:21 +00:00
* Define validated color picker selection contract * Integrate web color picker with gradient and alpha controls Co-authored-by: yw4z <ywsyildiz@gmail.com> * Apply shared Orca theme to web color picker * Host color picker in a validated WebView dialog * Persist color picker favorites in user preferences * Integrate localized web color picker with filament actions * Add color picker browser regressions and verify direct includes * Fit color picker content in a borderless floating panel * Anchor color picker panels to their triggering controls * Use accent foreground for selected color picker switches * Integrate web color picker into generic color fields * Use web color picker for AMS custom colors * Use shared web color picker from Linux sidebar menu * Use web color picker when adding texture import material * Preserve alpha in filament color picker actions * Clean up color picker asset whitespace * Use application translations for color picker validation * Preserve existing formatting in color picker integration * Match SpeedDial rounded window handling on macOS * Align color picker host behavior with SpeedDial * Consolidate color picker implementation into its dialog * Remove native color picker fallback * Limit color picker interfaces to production consumers * Use shared WebView translation field name * Reapply anchored color picker placement after GTK show * update * fix increment buttons not working on spin inputs * Use thumb color from its own channel * init gradients with shifted color for second color * fix hsl sliders cannot move freely and lock downs other one * unify save button and color preview & increase stored color count to 32 * switch to hsl based calculation and fix plot and slider drag events * update * add support for multi colored gradients * Update test_filament_color_picker.cpp * add filtering color palette and store sidebar and combo state * open dialog with calculated size * apply shadow to dialog on windows * add tooltip for gradient add color button * Restore draggable fixed-size color picker frame * Fix color picker sidebar sizing in WebKit * Fix invisible default filament color button on macOS * Remove duplicated color defs for color picker * Remove duplicate HTML color picker frame * Match color picker tests to current theme roles * update icons * use focus color on background of filter box * align gradient switch with hex input * fix initial window sizing * Preserve caller color order when drawing filament icons --------- Co-authored-by: yw4z <ywsyildiz@gmail.com>
123 lines
4.8 KiB
CMake
123 lines
4.8 KiB
CMake
get_filename_component(_TEST_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
|
|
add_executable(${_TEST_NAME}_tests
|
|
${_TEST_NAME}_tests_main.cpp
|
|
test_bambu_filament_ids.cpp
|
|
test_config_value_formatter.cpp
|
|
test_creality_cfs_match.cpp
|
|
test_dev_mapping.cpp
|
|
test_device_access.cpp
|
|
test_moonraker_discovery.cpp
|
|
test_network_discovery.cpp
|
|
test_filament_bitmap_utils.cpp
|
|
test_colour_picker_field.cpp
|
|
test_filament_color_picker.cpp
|
|
test_device_progress.cpp
|
|
test_device_manager_integration.cpp
|
|
test_web_media_controller.cpp
|
|
test_scene_raycaster.cpp
|
|
test_scene_benchmark.cpp
|
|
test_lazy.cpp
|
|
test_prebuild_queue.cpp
|
|
test_staged_build.cpp
|
|
test_network_versions.cpp
|
|
test_orca_cloud_agent.cpp
|
|
test_action_source.cpp
|
|
test_plugin_host_api.cpp
|
|
# Exercise seam enums and predicates through the embedded Python host API.
|
|
test_precise_seam_plugin.cpp
|
|
test_plugin_capability_config.cpp
|
|
test_plugin_config.cpp
|
|
test_plugin_capabilities_in_use.cpp
|
|
test_plugin_status.cpp
|
|
test_printer_agent.cpp
|
|
test_plugin_install.cpp
|
|
test_plugin_lifecycle.cpp
|
|
test_plugin_printer_agent.cpp
|
|
test_printhost.cpp
|
|
test_slicing_pipeline_bindings.cpp
|
|
test_slicing_pipeline_config.cpp
|
|
test_plugin_sort.cpp
|
|
test_plugin_cloud_metadata.cpp
|
|
test_plugin_audit.cpp
|
|
test_plugin_json_depth.cpp
|
|
test_shortcuts.cpp
|
|
test_texture_color_palette.cpp
|
|
test_texture_island_view.cpp
|
|
test_file_url.cpp
|
|
test_user_manager.cpp
|
|
../fff_print/test_helpers.cpp
|
|
)
|
|
|
|
if (SLIC3R_CAD)
|
|
target_sources(${_TEST_NAME}_tests PRIVATE test_design_sketch_tool.cpp)
|
|
endif ()
|
|
|
|
if (MSVC)
|
|
target_link_libraries(${_TEST_NAME}_tests Setupapi.lib)
|
|
endif ()
|
|
|
|
target_link_libraries(${_TEST_NAME}_tests test_common libslic3r_gui libslic3r pybind11::embed Catch2::Catch2WithMain)
|
|
set_property(TARGET ${_TEST_NAME}_tests PROPERTY FOLDER "tests")
|
|
|
|
orcaslicer_copy_test_dlls(${_TEST_NAME}_tests)
|
|
|
|
if (WIN32)
|
|
add_custom_command(TARGET ${_TEST_NAME}_tests POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_PREFIX_PATH}/libpython" "$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
"${CMAKE_PREFIX_PATH}/libpython/python${_bundled_python_abi}.dll"
|
|
"${CMAKE_PREFIX_PATH}/libpython/vcruntime140.dll"
|
|
"${CMAKE_PREFIX_PATH}/libpython/vcruntime140_1.dll"
|
|
"$<TARGET_FILE_DIR:${_TEST_NAME}_tests>"
|
|
COMMENT "Copying Python runtime for slic3rutils plugin host API tests"
|
|
VERBATIM
|
|
)
|
|
elseif (NOT FLATPAK)
|
|
# The CI unit-test runner only receives the build/tests tree, so both the
|
|
# interpreter and the libpython the test binary links have to travel next to
|
|
# the executable; find_bundled_python_home() picks the copy up from there.
|
|
if (APPLE)
|
|
target_link_options(${_TEST_NAME}_tests PRIVATE
|
|
"LINKER:-rpath,@executable_path/python/lib")
|
|
else ()
|
|
set_property(TARGET ${_TEST_NAME}_tests APPEND PROPERTY BUILD_RPATH "$ORIGIN/python/lib")
|
|
endif ()
|
|
|
|
add_custom_command(TARGET ${_TEST_NAME}_tests POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E rm -rf
|
|
"$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
"${CMAKE_PREFIX_PATH}/libpython"
|
|
"$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python"
|
|
COMMENT "Copying Python runtime for the plugin host API tests"
|
|
VERBATIM
|
|
)
|
|
elseif (FLATPAK)
|
|
# Same <testdir>/python home as WIN32/APPLE; symlink since /app/libpython
|
|
# already ships in the flatpak (the test exe links libpython3.12.so from it).
|
|
add_custom_command(TARGET ${_TEST_NAME}_tests POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E rm -rf
|
|
"$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python"
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
|
"${CMAKE_PREFIX_PATH}/libpython"
|
|
"$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python"
|
|
COMMENT "Linking Python runtime for flatpak plugin host API tests"
|
|
VERBATIM
|
|
)
|
|
endif()
|
|
|
|
# scripts/run_unit_tests.sh installs the tests' numpy into that runtime with this uv,
|
|
# staged where the app build tree keeps it (<exe dir>/tools/uv, see src/CMakeLists.txt).
|
|
if (ORCA_BUNDLED_UV_EXECUTABLE)
|
|
add_custom_command(TARGET ${_TEST_NAME}_tests POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/tools/uv"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ORCA_BUNDLED_UV_EXECUTABLE}"
|
|
"$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/tools/uv/${ORCA_BUNDLED_UV_FILENAME}"
|
|
COMMENT "Copying uv for the plugin host API tests"
|
|
VERBATIM
|
|
)
|
|
endif()
|
|
|
|
orcaslicer_discover_tests(${_TEST_NAME}_tests)
|