1. 02 Jul, 2022 2 commits
  2. 30 Jun, 2022 2 commits
  3. 28 Jun, 2022 4 commits
  4. 22 Jun, 2022 1 commit
  5. 16 Jun, 2022 1 commit
  6. 08 Jun, 2022 1 commit
  7. 07 Jun, 2022 3 commits
    • Niels De Graef's avatar
      app: Flush pending operations before shutdown · 18fd0708
      Niels De Graef authored
      Make sure that any operations which are still pending (due to having an
      initial timeout, or whatever other reason), are executed immediately.
      
      This fixes several recent bugs that were reported recently on
      linking/deletion/... not working if you closed the app soon after.
      18fd0708
    • Niels De Graef's avatar
      main-window: Don't show an almost-hidden contact · f2cf8052
      Niels De Graef authored
      Whenever we're on the verge of linking several contacts or deleting a
      contact, we should stop showing that contact.
      f2cf8052
    • Niels De Graef's avatar
      Add OperationList to keep track of Operations · 9aaaf69e
      Niels De Graef authored
      The code in `Contacts.MainWindow` that has dealt with operations is
      problematic in several ways:
      
      * It only kept track of the last operation, and didn't do that well
        either as it could easily be overwritten
      * Due to `Contacts.DeleteOperation` being irreversible, it needed
        special (and buggy) workarounds
      * It repeated code for dealing with operations several times, which lead
        to copy-paste bugs.
      
      This commit tries to fix that by introducing a `Contacts.OperationList`
      object, which acts as a container and wrapper API for
      `Contacts.Operation`s. The most prominent extra API it provides, is that
      of postponing execution with a timeout, and being able to cancel ongoing
      operations. Both of these APIs allow us to remove any special-casing we
      had to do for delete operations.
      
      It also adds a `flush` API, which we can later use to prevent the
      application from completely quitting before all operations have
      finished executing.
      9aaaf69e
  8. 06 Jun, 2022 4 commits
  9. 05 Jun, 2022 1 commit
  10. 04 Jun, 2022 1 commit
    • Niels De Graef's avatar
      Use a ListModel for address books (PersonaStore-s) · 12e5d5cd
      Niels De Graef authored
      Remove the util function `get_eds_address_books()` and the several copy
      pastes that deal with `Folks.Backend`s coming up and dynamically
      changing the list of address book.
      
      Instead, `Contacts.Store` now exposes a `GLib.ListModel` that something
      like the `Contacts.AccountsList` widget can use to generate a
      `Gtk.ListBox`.
      
      While we're at it, remove `AddressBookList`, as it's not used anywhere.
      
      Fixes a problem in `Contacts.AccountsList` where it showed an address
      book as selected, but it didn't seem to register it properly.
      
      Fixes: #238
      12e5d5cd
  11. 30 May, 2022 1 commit
  12. 28 May, 2022 1 commit
  13. 23 May, 2022 2 commits
  14. 22 May, 2022 1 commit
  15. 21 May, 2022 2 commits
  16. 19 May, 2022 1 commit
  17. 16 May, 2022 2 commits
  18. 13 May, 2022 2 commits
  19. 07 May, 2022 1 commit
  20. 06 May, 2022 1 commit
  21. 19 Apr, 2022 1 commit
  22. 17 Apr, 2022 1 commit
  23. 16 Apr, 2022 1 commit
    • Niels De Graef's avatar
      Use selection and filter models to list contacts · 8bec4eba
      Niels De Graef authored
      GTK4 added some interesting concepts on top of / in conjunction with
      list models, for example to map one list model on another by sorting
      and/or filtering. Another example is to use this with selections.
      
      This commit applies that concept to Contacts, which now uses the
      `Contacts.Store` to build a base list model on top of the
      `Folks.IndividualAggregator`, on top a sorted model (which can be
      adjusted to sort on First/Last name, and finally a filter model, to
      filter on the text in the search entry.
      
      Another reason to do this, is that it allows us to use a `Gtk.ListView`
      in the future. It's not possible to do so already due to the fact that
      we need to differentiate between "Favorites" and "Other Contacts", which
      needs extra API on Gtk.Listview side.
      8bec4eba
  24. 09 Apr, 2022 1 commit
  25. 30 Mar, 2022 1 commit
  26. 27 Mar, 2022 1 commit