Repository navigation
refactor(linux-grid): rebuild the data grid as one native grid for every surface - #3836
Merged
Merged
Conversation
…s in a short grid
…mp the yanked crypto-bigint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
DataGridwidget (ui/data_grid) replacesui/gridon every surface: table tabs, SQL results and key tabs. It owns selection, keys, menus, editing, copy, find and the column layout, through onegridaction group, so a key, its menu item and a host's button share one enabled state.services::grid(column, display text, editability, edit parsing, policy, copy scope, layout, find, filter rules), tested without GTK.GridStore,GridRowwith a generation), so a reload rewrites data in place instead of rebuilding every cell widget. Anything that acts later (menu, editor, copy, paste, delete question) holds aPinnedRow.AdwOverlaySplitView, Alt+Return) with every field of the focused row and an editor for long text, JSON, XML and dates; the popover editors are gone. It stays as the user left it when the grid crosses its breakpoint (pin-sidebar), and scrolls in a grid shorter than it instead of making the grid 362 px tall. Its calendar opens toward the rows: dropped below a button halfway down the pane it found no room on a short screen, and GTK closes a popover it cannot fit..or a leading$could be sorted and edited and then failed at the server (D4); the selection count offered Delete where it did nothing (D12); booleans drew three ways and made rows taller (D9, D10); tint gaps (D11) and the flash on a dragged column (D13) went with the tints; the AI assistant opened by itself when the window widened past its breakpoint (samepin-sidebarcause).%checkruns Xvfb at 1280x1024, as Debian'sxvfb-rundoes; Fedora's 640x480 halves to 320x240 underapp-scale-2, below the window floor.crypto-bigint0.7.6, yanked, moves to 0.7.9, with the license files regenerated.platform-linux.md(fix-issue): dark and light shots takeADW_DEBUG_COLOR_SCHEME=prefer-darkorprefer-light; libadwaita ignoresforce-dark.ARCHITECTURE.md,docs/storage.md,docs/testing.mdanddocs/regression-tests.mdfollow.rejected_edit_restores_cell_display(a refused value now stays in the editor), the popover editor tests (editors moved to the pane), the check button tests (booleans are text),menu_item_shows_local_and_component_keys(Copy now shows Ctrl+C), the tint and flash tests,page_rows_have_single_owner(the slot keeps a reference), the page-turn store change (slots are reused),kill_during_save(opens the editor withgrid.edit; the per-cell double-click gesture is gone).Test plan
verify.sh --platform linux test tableproin the CI image: 2411 passed, 0 failed, every integration binary included; mouse clicks and double clicks driven through XTEST.Needs the maintainer
linux/data/screenshots/01-table.pngand02-editor.pngon a GNOME desktop (README, Screenshots): the window shadow and rounded corners take a compositing window manager with_GTK_FRAME_EXTENTS, which the CI image under Xvfb does not have.