Make text in the GUI app selectable #15

Closed
opened 2026-03-17 11:53:25 +01:00 by shahondin1624 · 0 comments

Description

Currently, all Text composables in the GUI (gui/src/main/kotlin/de/pfadfinder/songbook/gui/App.kt) are non-selectable. Users cannot select or copy any text from the application — including song titles, filenames, status messages, and error logs.

Compose Desktop provides SelectionContainer which wraps content to make Text composables selectable. This should be applied to the relevant areas of the UI.

Acceptance Criteria

  • Song titles and filenames in the songs list are selectable/copyable
  • Status messages (including error messages) in the status area are selectable/copyable
  • The app title and section labels are selectable
  • Button labels do NOT need to be selectable (buttons remain clickable as normal)
  • The existing OutlinedTextField for path input continues to work as before
  • No visual regressions — the UI should look the same as before

Implementation Hint

Wrap the main content Column (or appropriate sub-sections) in androidx.compose.foundation.text.selection.SelectionContainer to enable text selection on all Text composables within it. Buttons and interactive elements inside a SelectionContainer continue to work normally.

## Description Currently, all `Text` composables in the GUI (`gui/src/main/kotlin/de/pfadfinder/songbook/gui/App.kt`) are non-selectable. Users cannot select or copy any text from the application — including song titles, filenames, status messages, and error logs. Compose Desktop provides `SelectionContainer` which wraps content to make `Text` composables selectable. This should be applied to the relevant areas of the UI. ## Acceptance Criteria - [ ] Song titles and filenames in the songs list are selectable/copyable - [ ] Status messages (including error messages) in the status area are selectable/copyable - [ ] The app title and section labels are selectable - [ ] Button labels do NOT need to be selectable (buttons remain clickable as normal) - [ ] The existing `OutlinedTextField` for path input continues to work as before - [ ] No visual regressions — the UI should look the same as before ## Implementation Hint Wrap the main content `Column` (or appropriate sub-sections) in `androidx.compose.foundation.text.selection.SelectionContainer` to enable text selection on all `Text` composables within it. Buttons and interactive elements inside a `SelectionContainer` continue to work normally.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shahondin1624/songbook#15