Skip to content

lib/ui: no file/path picker dialog, and the dialog widget cannot host child widgets #575

Description

@InauguralPhysicist

Surfaced by DeslanStudio milestone 4e (the desktop DAW port needs QFileDialog equivalents for session Open/Save/Save-As, WAV import/export, MIDI export and drum-kit folder selection).

Gap 1 — no file browser. lib/ui has no file/path picker of any kind. Every desktop app that opens or saves files must hand-roll one.

Gap 2 — dialog cannot be extended into one. The dialog widget (lib/ui_w_dialog.eigs) is title + message + buttons only — it has no children and its renderer/hit-test know nothing about hosting widgets, so a text_input or item_list cannot be placed inside it. A custom file dialog therefore cannot reuse the modal machinery (show_dialog/push_modal) and must be built as a raw overlay panel.

Downstream workaround (DeslanStudio src/client/dialogs.eigs): a hand-rolled full-window overlay panel appended LAST to the root for z-order, holding a path text_input, an item_list directory listing fed from ls, and OK/Cancel/Up buttons; a full-window empty label (w/h stamped, #561) backs it as the click-catcher that makes it modal, because container panels are hit-transparent where no child sits.

Suggested shape: either (a) let dialog host children (a children list + container hit-test/render), or (b) ship a file_dialog widget on top of that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions