Web lists-archives.com

Re: German "Umlaute" in drag and drop

Op 01/09/2017 om 12:33 AM schreef Jan:
> I have a file chooser dialog in my application, which does open/access
> the files perfectly, even with the "Umlauts" (äöü) and all function
> handling the work, work as expected.
> Only when the same file becomes dragged and dropped, the special
> symbols are mixed up.

They are not mixed up but a correct uri with unicode characters escaped
as per spec [1].

> From drag and drop I receive:
> file:///home/jan/Schreibtisch/S%C3%A4chsische%20Zeitung.pdf

This is correct.

> Instead of:
> file:///home/jan/Schreibtisch/Sächsische Zeitung.pdf 
> And is then processed to remove the "%20" characters which works fine.

Don't do this, see below how to unescape the uri.

> But I haven't found a way how to get the variant which displays the
> path like I desire with Umlauts.
> Perhaps this is more of a C question, but perhaps someone has a
> insight in case the problem comes from GTK3 and not C itself.

Its your misunderstanding of a uri, see [1].

> I tried writing a variant which replaces the writing form with the
> correct Umlaut symbol, but it just shows me a messed up filename.

If you plan to do further processing or monitoring of the file you may
want to look at a glib GFile [2] and use g_file_new_for_uri which will
transparently unescape for you. If you just want to unescape the uri use
g_uri_unescape_string [3].


[1] https://en.wikipedia.org/wiki/File_URI_scheme
[2] https://developer.gnome.org/gio/2.50/GFile.html

gtk-list mailing list