Skip to content

Improve drag-and-drop feedback and modifier semantics for library moves and image inserts #17

Description

@clintecker

Problem

Quoin supports drag/drop for moving library files and inserting images:

  • Library folder/root drops: App/macOS/Sources/LibrarySidebar.swift:67 and App/macOS/Sources/LibrarySidebar.swift:186
  • Image drops into the editor: App/macOS/Sources/ReaderScreen.swift:67

The implementation currently has minimal visible validation or operation feedback, and file operation failures can silently no-op.

Expected behavior

Drag/drop should clearly communicate whether the operation will move, copy, or be rejected. Modifier-key behavior should match macOS expectations where practical.

Suggested fix

Add target highlighting, rejected-drop states, and explicit operation semantics:

  • Sidebar internal drags: move by default, possibly Option-copy later if implemented.
  • External files into library: decide whether to import/copy or reject, and show feedback.
  • Image drops into document: copy into assets/ and show a non-modal error on failure.

This overlaps with issue #8 for error surfacing but focuses on interaction semantics and Apple-platform feel.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:libraryLibrary tree, quick open, folder scanning, search, or file movesarea:macosmacOS app shell, menus, windowing, sidebar, or platform UIenhancementNew feature or requestpriority:p3Lower priority; cleanup, hardening, or polishstatus:triagedReviewed and assigned type, area, and prioritytype:platformApple platform integration, system services, or OS behaviortype:uxUser experience, interaction design, or accessibility

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions