fix logbook scrolling focus
This commit is contained in:
parent
968fbe2421
commit
da7f072365
2 changed files with 3 additions and 27 deletions
|
|
@ -103,6 +103,9 @@ func _validate_page() -> void:
|
||||||
assert((page.get("_catalog_grid") as GridContainer).columns == 4)
|
assert((page.get("_catalog_grid") as GridContainer).columns == 4)
|
||||||
var catalog_scroll := page.get("_catalog_scroll") as ScrollContainer
|
var catalog_scroll := page.get("_catalog_scroll") as ScrollContainer
|
||||||
assert(catalog_scroll != null and catalog_scroll.follow_focus)
|
assert(catalog_scroll != null and catalog_scroll.follow_focus)
|
||||||
|
catalog_scroll.scroll_vertical = 37
|
||||||
|
await create_timer(0.2).timeout
|
||||||
|
assert(catalog_scroll.scroll_vertical == 37)
|
||||||
page.call(
|
page.call(
|
||||||
"_set_controller_zone",
|
"_set_controller_zone",
|
||||||
LogbookPage.ControllerZone.ENTRIES,
|
LogbookPage.ControllerZone.ENTRIES,
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,6 @@ const COMPACT_BOOK_TOP: float = 65.0
|
||||||
const CATALOG_PORTRAIT_SIZE := Vector2(78.0, 36.0)
|
const CATALOG_PORTRAIT_SIZE := Vector2(78.0, 36.0)
|
||||||
const CATALOG_ENTRY_SIZE := Vector2(92.0, 92.0)
|
const CATALOG_ENTRY_SIZE := Vector2(92.0, 92.0)
|
||||||
const CATALOG_ROW_STEP: float = 98.0
|
const CATALOG_ROW_STEP: float = 98.0
|
||||||
const CATALOG_SNAP_DELAY: float = 0.12
|
|
||||||
const DETAIL_PORTRAIT_SIZE := Vector2(160.0, 88.0)
|
const DETAIL_PORTRAIT_SIZE := Vector2(160.0, 88.0)
|
||||||
const DETAIL_SECTION_SEPARATION: int = 10
|
const DETAIL_SECTION_SEPARATION: int = 10
|
||||||
const DETAIL_QUALITY_SECTION_SIZE := Vector2(300.0, 104.0)
|
const DETAIL_QUALITY_SECTION_SIZE := Vector2(300.0, 104.0)
|
||||||
|
|
@ -86,8 +85,6 @@ var _detail_tween: Tween
|
||||||
var _category_generation: int = 0
|
var _category_generation: int = 0
|
||||||
var _category_tween: Tween
|
var _category_tween: Tween
|
||||||
var _silhouette_material: ShaderMaterial
|
var _silhouette_material: ShaderMaterial
|
||||||
var _snapping_catalog_scroll: bool = false
|
|
||||||
var _catalog_scroll_snap_timer: Timer
|
|
||||||
var _outer_margin: MarginContainer
|
var _outer_margin: MarginContainer
|
||||||
var _book: Control
|
var _book: Control
|
||||||
var _compact_presentation: bool = false
|
var _compact_presentation: bool = false
|
||||||
|
|
@ -475,11 +472,6 @@ func _center_scaled_content(control: Control) -> void:
|
||||||
|
|
||||||
|
|
||||||
func _configure_catalog_scroll_bar() -> void:
|
func _configure_catalog_scroll_bar() -> void:
|
||||||
_catalog_scroll_snap_timer = Timer.new()
|
|
||||||
_catalog_scroll_snap_timer.one_shot = true
|
|
||||||
_catalog_scroll_snap_timer.wait_time = CATALOG_SNAP_DELAY
|
|
||||||
_catalog_scroll_snap_timer.timeout.connect(_snap_catalog_scroll_to_row)
|
|
||||||
_catalog_scroll.add_child(_catalog_scroll_snap_timer)
|
|
||||||
var scroll_bar: VScrollBar = _catalog_scroll.get_v_scroll_bar()
|
var scroll_bar: VScrollBar = _catalog_scroll.get_v_scroll_bar()
|
||||||
scroll_bar.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
scroll_bar.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||||
scroll_bar.focus_mode = Control.FOCUS_NONE
|
scroll_bar.focus_mode = Control.FOCUS_NONE
|
||||||
|
|
@ -525,25 +517,6 @@ func _make_scroll_indicator(
|
||||||
|
|
||||||
|
|
||||||
func _on_catalog_scroll_value_changed(_value: float) -> void:
|
func _on_catalog_scroll_value_changed(_value: float) -> void:
|
||||||
if _snapping_catalog_scroll:
|
|
||||||
return
|
|
||||||
_catalog_scroll_snap_timer.start()
|
|
||||||
_refresh_catalog_scroll_indicators()
|
|
||||||
|
|
||||||
|
|
||||||
func _snap_catalog_scroll_to_row() -> void:
|
|
||||||
var scroll_bar: VScrollBar = _catalog_scroll.get_v_scroll_bar()
|
|
||||||
var value: float = scroll_bar.value
|
|
||||||
var maximum_scroll: float = scroll_bar.max_value - scroll_bar.page
|
|
||||||
var snapped_value: float = clampf(
|
|
||||||
roundf(value / CATALOG_ROW_STEP) * CATALOG_ROW_STEP,
|
|
||||||
scroll_bar.min_value,
|
|
||||||
maximum_scroll,
|
|
||||||
)
|
|
||||||
if not is_equal_approx(value, snapped_value):
|
|
||||||
_snapping_catalog_scroll = true
|
|
||||||
_catalog_scroll.scroll_vertical = roundi(snapped_value)
|
|
||||||
_snapping_catalog_scroll = false
|
|
||||||
_refresh_catalog_scroll_indicators()
|
_refresh_catalog_scroll_indicators()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue