Skip to content

Add pagination to extension selection screen - #3

Open
eder-dalpizzol wants to merge 1 commit into
julescools:mainfrom
eder-dalpizzol:feature/paginated-extension-selection
Open

Add pagination to extension selection screen#3
eder-dalpizzol wants to merge 1 commit into
julescools:mainfrom
eder-dalpizzol:feature/paginated-extension-selection

Conversation

@eder-dalpizzol

Copy link
Copy Markdown

Enhancement: Paginated Extension Selection with Persistent State

Summary

Adds pagination to extension selection screen to handle playlists with many file types, implements persistent checkbox state across page navigation, and adds quick-action buttons for improved usability.

Motivation

When playlists contain many different file extensions (20+), the previous single-screen dropdown approach became unwieldy. This enhancement provides a scalable solution that maintains usability regardless of extension count.

Changes

  • Pagination System: 16 extensions per page (8 rows × 2 columns)
  • State Management: ext_selected_state table preserves selections across pages
  • Navigation: Previous/Next buttons with page indicator ("Page X of Y")
  • Quick Actions: Select All / Clear All for current page
  • Multi-selection: Users can now select and remove multiple extensions at once
  • Updated Function: run_remove_by_extension_paged() collects selections from all pages

Technical Details

  • save_checkbox_state(): Captures checkbox states before page transitions
  • add_check_box() and add_list(): New widget helper functions
  • trigger_menu(): Handles double-click events on checkboxes
  • Two-column layout maximizes screen space efficiency
  • Reset state after removal to prevent stale data

Testing

Tested with playlists containing 5-50+ different file extensions across multiple pages.

- Implement 16-item pagination (8 rows × 2 columns)
- Add persistent state management across pages
- Add Select All / Clear All quick actions
- Improve layout with two-column checkbox display

This enhancement addresses usability issues when playlists contain
many different file extensions (20+). The previous single-screen
approach became unwieldy with large extension lists.

Key improvements:
- Pagination system with navigation buttons
- ext_selected_state table preserves selections across pages
- Quick action buttons for bulk selection/deselection
- Updated run_remove_by_extension_paged() collects selections from all pages
- save_checkbox_state() captures checkbox states before page transitions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant