JetBrains / compose-multiplatform

Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
https://jetbrains.com/lp/compose-multiplatform
Apache License 2.0
15.24k stars 1.11k forks source link

File associations #4957

Open zhelenskiy opened 2 weeks ago

zhelenskiy commented 2 weeks ago

Add file associations support to Compose Desktop

Fixes #773

Testing

Tested on the sample project. Behaviours per OSs:

I didn't write any unit tests because I don’t know which of them you are expecting me to write. So, I'm looking forward to your feedback and suggestions.

This should be tested by QA

Release Notes

Highlight - Desktop

igordmn commented 1 week ago

@terrakok, could you also review the new API in this PR? I am also reviewing it and the implementation.

zhelenskiy commented 4 days ago

Except for DSL test and docs, everything else is fixed. Can you close the comment, @terrakok? It is not closable.

What do you think about the API? It supports:

The demo project is also updated according to the new API.

PS. This version is only tested on MacOS for now. I'll check the rest a bit later.

zhelenskiy commented 4 days ago

I had to change resource name generation to make it stable for testing.

zhelenskiy commented 3 days ago

I tested the current version on Windows, MacOS, Ubuntu, Kubuntu. On Windows, MacOS everything is ok, while on both Linux distributives there are problems (in Kubuntu there is no icon, in Ubuntu, association doesn't work), but the same thing is with idea as well.