Skip to content

Can't detect which filter is selected #14

@drahoslove

Description

@drahoslove

Hi,
it would be great to be able to tell which filter in save dialog user selected.

Imagine an application where user wants to export an image in one of possible graphic formats.

dial := dialog.File().Title("Export as image")
dial.Filter("SVG (*.svg)", "svg")
dial.Filter("PNG (*.png)", "png")
dial.Filter("PDF (*.pdf)", "pdf")
filename, err := dialog.Save()

User opens a dialog, selects png as type, and fill in just myimage as name, believing will create file myimage.png - which is common behavior and users are used to it - but it would not.

Problem is that value of variable filename is just "myimage".

It would be great if either:

  1. there would be a way to detect which which filter is selected
    from nFilterIndex field of OPENFILENAME structure in win api
    and from dialog.GetFilter() in gtk lib on linux
    it might by returned as additional value from .Save() method.

  2. or it could automatically append first extension from extensions of a selected filter to filename without extension

I'd be happy to help make an implementation for windows and linux platform.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions