607f5e0c57
feat: add explicit left/right orientation with swap button
...
Fixes mirrored slice exports by making orientation explicit:
- PhotoSlice.swapped flag persists a user left/right swap
- swap_left_right() mirrors [TL,TR,BR,BL] -> [TR,TL,BL,BR]
- normalize_top_left() honors the flag so squarize/reset_rotation
no longer overwrite manual orientation
- Swap L/R toolbar button wired through canvas state + controller
- Color-code left (orange) vs right (cyan) corners and edges
2026-09-11 21:33:59 +02:00
dev
ce88d4a0f5
refactor(ui_builders_shared): add module tail helpers and finalize layout
2026-02-26 12:25:34 +00:00
dev
59be2277b7
feat(ui_builders_shared): implement class ScanSlicerUiSharedMixin
2026-02-26 12:20:34 +00:00
dev
736a1626aa
feat(ui_builders_shared): implement class ScrollbarWheelOnlyScrollArea
2026-02-26 12:15:34 +00:00
dev
ca05b2e10d
feat(ui_builders_shared): implement def icon_from_svg_data_url
2026-02-26 12:03:40 +00:00
dev
1574e77a22
feat(ui_builders_shared): implement def _icon_color_from_palette
2026-02-26 11:39:42 +00:00
dev
3333a7f4d1
feat(ui_builders_shared): scaffold module imports and constants
2026-02-26 11:20:39 +00:00
dev
176339bd80
refactor(ui_builders_preview): add module tail helpers and finalize layout
2026-02-26 10:52:55 +00:00
dev
b295d425a4
feat(ui_builders_preview): implement class ScanSlicerUiPreviewMixin
2026-02-26 10:35:09 +00:00
dev
bb77b91789
feat(ui_builders_preview): scaffold module imports and constants
2026-02-25 12:51:08 +00:00
dev
26d25f8eaf
refactor(ui_builders_controls): add module tail helpers and finalize layout
2026-02-25 12:46:08 +00:00
dev
6327420da7
feat(ui_builders_controls): implement class ScanSlicerUiControlsMixin
2026-02-25 12:41:08 +00:00
dev
aabde3eb1b
feat(ui_builders_controls): scaffold module imports and constants
2026-02-25 12:36:08 +00:00
dev
295e56b344
refactor(ui_builders): add module tail helpers and finalize layout
2026-02-25 12:19:30 +00:00
dev
5662c4ceff
feat(ui_builders): implement class ScanSlicerUiBuilderMixin
2026-02-25 12:10:10 +00:00
dev
43b7602c07
feat(ui_builders): scaffold module imports and constants
2026-02-25 11:58:59 +00:00
dev
e3504f7122
feat(slices): implement def polys_iou
2026-02-25 11:45:33 +00:00
dev
542141e5c0
feat(slices): implement class PhotoSlice
2026-02-25 11:09:06 +00:00
dev
b1558cb1b8
feat(slices): scaffold module imports and constants
2026-02-24 13:29:15 +00:00
dev
c4ad5ec7c1
feat(params): implement class AutoslicerParams
2026-02-24 13:24:15 +00:00
dev
170676df06
feat(params): implement class Parameter
2026-02-24 13:19:15 +00:00
dev
7c344e5117
feat(params): scaffold module imports and constants
2026-02-24 12:57:31 +00:00
dev
e5a1ec288f
feat(main): implement def run_app
2026-02-24 12:46:56 +00:00
dev
7be34dd161
feat(main): implement class QtScanSlicer
2026-02-24 12:23:36 +00:00
dev
bf6f494642
feat(main): implement def resolve_app_icon
2026-02-23 14:49:20 +00:00
dev
2f7cc65bc5
feat(main): implement def apply_global_text_size_offset
2026-02-23 14:44:20 +00:00
dev
966b455c0e
feat(main): implement def apply_dark_theme_if_requested
2026-02-23 14:39:20 +00:00
dev
822e8d8989
feat(main): implement def _read_portal_dark_preference
2026-02-23 14:34:20 +00:00
dev
051413472b
feat(main): implement def _unwrap_qvariant
2026-02-23 14:29:20 +00:00
dev
ded74f065c
feat(main): scaffold module imports and constants
2026-02-23 14:12:45 +00:00
dev
5baf8ed262
refactor(entry): add module tail helpers and finalize layout
2026-02-23 13:52:52 +00:00
dev
dfbea5b0ac
feat(entry): implement def main
2026-02-23 13:44:29 +00:00
dev
d5fb035807
feat(entry): implement def validate_x11_environment
2026-02-23 13:14:06 +00:00
dev
83e3cdef33
feat(entry): implement def validate_wayland_environment
2026-02-23 12:57:59 +00:00
dev
84ec0e05ba
feat(entry): implement def configure_qt_backend
2026-02-23 12:27:59 +00:00
dev
fff9178f8a
feat(entry): implement def resolve_runtime_backend
2026-02-23 10:00:12 +00:00
dev
052d3efefa
feat(entry): implement def _detect_backend_from_qpa_env
2026-02-22 15:55:12 +00:00
dev
026f4b7335
feat(entry): implement def parse_args
2026-02-22 15:50:12 +00:00
dev
4d7d653726
feat(entry): scaffold module imports and constants
2026-02-22 15:45:12 +00:00
dev
501aded7cc
feat(controller_status): implement class ScanSlicerStatusMixin
2026-02-22 15:40:12 +00:00
dev
598c8a4a25
feat(controller_status): scaffold module imports and constants
2026-02-22 15:35:12 +00:00
dev
e746fa4df6
feat(controller_params): implement class ScanSlicerParamsMixin
2026-02-22 15:30:12 +00:00
dev
4130a7b606
feat(controller_params): scaffold module imports and constants
2026-02-22 13:48:03 +00:00
dev
4001caf179
feat(controller_image_io): implement class ScanSlicerImageIOMixin
2026-02-22 13:29:52 +00:00
dev
5df4478948
feat(controller_image_io): scaffold module imports and constants
2026-02-21 15:55:41 +00:00
dev
5400b936de
feat(controller_detection): implement class ScanSlicerDetectionMixin
2026-02-21 15:50:41 +00:00
dev
a25e4620d7
feat(controller_detection): implement def rgb_array_to_qimage
2026-02-21 15:45:41 +00:00
dev
4d3c1f3a89
feat(controller_detection): implement class AutotuneTask
2026-02-21 15:42:08 +00:00
dev
bea3b9bb5d
feat(controller_detection): implement class AutotuneTaskSignals
2026-02-21 15:22:24 +00:00
dev
cac04b31f2
feat(controller_detection): implement class DetectionTask
2026-02-21 15:14:12 +00:00