Skip to content

fix(tabs): wrap QueryaTabStrip in horizontal scrollable and preserve GlobalKeys on tab count change - #957

Merged
ZhuchkaTriplesix merged 2 commits into
devfrom
issue/898-tab-strip-scrollable-keys
Sep 25, 2026
Merged

ZhuchkaTriplesix merged 2 commits into
devfrom
issue/898-tab-strip-scrollable-keys

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Description

  • Wraps QueryaTabStrip in built-in horizontal scrolling (SingleChildScrollView + IntrinsicWidth) with mouse wheel (PointerScrollEvent) and automatic smooth ensureVisible scrolling to selected tab.
  • Incrementally updates GlobalKey and FocusNode lists in _syncTabState when tab count changes instead of resetting all keys, preserving existing widget state and avoiding unmounting.
  • Eliminates 1-frame sliding indicator disappearance/flicker by keeping _indicatorReady = true on tab updates and smoothly animating the pill indicator to the new tab position.
  • Wraps QueryaTabStrip in Expanded(child: Align(alignment: Alignment.centerRight, ...)) across workspace headers (mysql_workspace_home.dart, postgres_workspace_home.dart, sqlite_workspace_home.dart, extension_workspace_home.dart) preventing RenderFlex right overflows on narrow screen widths.
  • Removes redundant outer SingleChildScrollView in sql_query_tab_bar.dart.
  • Adds widget tests covering incremental key preservation, constrained horizontal scrolling, mouse wheel pointer scrolling, and auto-scroll to selected tab.

Closes #898

@github-actions github-actions Bot added bug Something isn't working ui User interface components and widgets labels Sep 25, 2026
@github-actions github-actions Bot added this to the 0.4.18 milestone Sep 25, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit fa2e8d5 into dev Sep 25, 2026
4 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/898-tab-strip-scrollable-keys branch September 28, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ui User interface components and widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant