Skip to content

Support for multi-select in widget.List#6341

Draft
sdassow wants to merge 13 commits into
fyne-io:developfrom
sdassow:feature/list-multi-select
Draft

Support for multi-select in widget.List#6341
sdassow wants to merge 13 commits into
fyne-io:developfrom
sdassow:feature/list-multi-select

Conversation

@sdassow

@sdassow sdassow commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Description:

Add support for MultiSelect to widget.List, partially based on #4477 but sticking with the API outlined in #2575 as a starting point.

API changes for widget.List:

  • New attribute: MultiSelect bool
  • New method:SetSelection(ids []ListItemID)
  • New method: SelectAll()

Some design decisions:

  • Toggle selected/select multiple items:
    • darwin: Cmd+Space/Tap
    • linux/windows: Super/Ctrl+Space/Tap?
    • mobile: SecondaryTap
  • Range selection with Shift+Space/Tap from nearest selected item
  • Range increase/decrease with Shift+Up/Down

Partially fixes #2575

Checklist:

  • Tests included.
  • Lint and formatter run with no errors.
  • Tests all pass.

Where applicable:

  • Public APIs match existing style and have Since: line.
  • Any breaking changes have a deprecation path or have been discussed.
  • Check for binary size increases when importing new modules.

@coveralls

coveralls commented Jun 3, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 60.204% (-0.1%) from 60.32% — sdassow:feature/list-multi-select into fyne-io:develop

@sdassow sdassow changed the title Initial support for widget.List.MultiSelect as outlined in #2575 Support for multi-select in widget.List Jun 4, 2026
@sdassow sdassow added enhancement New feature or request after-release For when an ongoing release is finished. labels Jun 4, 2026
@andydotxyz andydotxyz removed the after-release For when an ongoing release is finished. label Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add multiple selection

3 participants