[Enhancement]: Dialog for 'Sort into Folders' #50

Closed
opened 2026-06-12 05:50:22 +00:00 by ValleyGeek · 1 comment
Owner

Affected area

Apply a 'Sort Into Folders' operation

Current behavior

sorting happens in the background then a dialog appears when complete

Desired improvement

When the 'confirm' button is pressed from the Sort into Folders by Tag dialog:

  1. Open a new dialog, like the 'Create from sub-directories' status dialog, showing a count and status. Locking the application and providing a cancel button.
  2. Once the operation completes present the existing 'Sort into folders' info dialog

References

No response

### Affected area Apply a 'Sort Into Folders' operation ### Current behavior sorting happens in the background then a dialog appears when complete ### Desired improvement When the 'confirm' button is pressed from the `Sort into Folders by Tag` dialog: 1. Open a new dialog, like the 'Create from sub-directories' status dialog, showing a count and status. Locking the application and providing a cancel button. 2. Once the operation completes present the existing 'Sort into folders' info dialog ### References _No response_
Member

Implemented on branch 0.1.43/issue-40-50-80-sort-into-folders (queued for PR to main, not yet opened; version bumped to 0.1.44), alongside #40 and #80.

New modal SortProgressDialog (ui/sort_progress_dialog.py, same pattern as the existing SubdirTagBuildDialog used for Create from Sub-directories) shown right after confirming the sort, with a count/status label and a working Cancel button, locking the rest of the application. It's updated via the existing SortWorker progress signal and closed right before the pre-existing completion summary dialog is shown — matching the two-step flow requested in the issue.

As part of this, execute_sort_moves() now accepts an is_cancelled callback checked once per move (previously cancellation only took effect between planning and execution — a Cancel button during the actual file-move loop would have done nothing), so the new Cancel button is actually responsive mid-operation. Covered by test_sort_worker_cancel_mid_execution_stops_remaining_moves and tests/test_sort_progress_dialog.py.

Closing as implemented.

Implemented on branch `0.1.43/issue-40-50-80-sort-into-folders` (queued for PR to `main`, not yet opened; version bumped to 0.1.44), alongside #40 and #80. New modal `SortProgressDialog` (`ui/sort_progress_dialog.py`, same pattern as the existing `SubdirTagBuildDialog` used for Create from Sub-directories) shown right after confirming the sort, with a count/status label and a working Cancel button, locking the rest of the application. It's updated via the existing `SortWorker` progress signal and closed right before the pre-existing completion summary dialog is shown — matching the two-step flow requested in the issue. As part of this, `execute_sort_moves()` now accepts an `is_cancelled` callback checked once per move (previously cancellation only took effect between planning and execution — a Cancel button during the actual file-move loop would have done nothing), so the new Cancel button is actually responsive mid-operation. Covered by `test_sort_worker_cancel_mid_execution_stops_remaining_moves` and `tests/test_sort_progress_dialog.py`. Closing as implemented.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-collab/bulk-image-organizer#50
No description provided.