adwaita-swift icon indicating copy to clipboard operation
adwaita-swift copied to clipboard

Migrate to Meta backend

Open david-swift opened this issue 6 months ago • 0 comments

Steps

  • [x] Add your name or username and a link to your GitHub profile into the Contributors.md file.
  • [x] Build the project on your machine. If it does not compile, fix the errors.
  • [x] Describe the purpose and approach of your pull request below.
  • [x] Submit the pull request. Thank you very much for your contribution!

Purpose

Migrating to the Meta project enables using the project in combination with other backends to develop cross-platform apps.

Approach

The PR uses the Meta package. Additionally, further changes are made to modernize the framework:

  • Remove child windows. Instead, you can add file dialogs to windows in a similar way you add dialogs.
  • You do not have to use Idle yourself. If you update state from a non-main thread, it will automatically wrap the update process with Idle.
  • Add support for explicit identifiers for state (part of the Meta package). In some cases, this might be required (example: Idle demo).
  • Detect deprecated GTK/Adw functions in order not to use them

Before merging this, I will:

  • [ ] Replace storing state values to files by an SQLite implementation
  • [ ] Implement strict concurrency and migrate Meta & adwaita-swift to Swift 6

david-swift avatar Aug 13 '24 07:08 david-swift