1. 08 May, 2019 1 commit
  2. 01 May, 2019 1 commit
  3. 30 Apr, 2019 1 commit
  4. 17 Apr, 2019 1 commit
    • chriadam's avatar
      [qtcontacts-sqlite] Improve DLG plugin interface. Contributes to JB#44742 · 367e4b50
      chriadam authored
      This commit improves the display label group plugin interface by
      allowing plugins to report whether the specified locale is a
      preferred locale for them, rather than merely valid, as some
      plugins may work in multiple locales but should be preferentially
      used (e.g. to determine the default display label groups) for
      a subset of those locales.
      For example, a pinyin grouping plugin might be valid in all locales
      but preferred in locales which use Simplified Han writing script.
      The database now populates the "default" supported display label
      groups from the highest priority preferred plugin rather than
      the highest priority valid plugin (falling back to highest priority
      valid plugin if no preferred plugins exist for the current locale).
  5. 15 Apr, 2019 7 commits
  6. 11 Dec, 2018 1 commit
  7. 15 Nov, 2017 1 commit
  8. 13 Nov, 2017 1 commit
    • mardy's avatar
      [qtcontacts-sqlite] Run tests with "make check" · 88b2aeb7
      mardy authored
      Add a "check" target, so that tests can be run uninstalled, with "make
      check". In the .pro files, define the TARGET variable before including
      the common.pri file, which needs this variable to define the command to
      be executed.
      In order for the tests to load the plugin, it needs to be moved into a
      "contacts" subdirectory; do this with the DESTDIR variable.
  9. 18 Oct, 2017 2 commits
  10. 20 Mar, 2016 1 commit
  11. 04 Mar, 2016 1 commit
  12. 25 Feb, 2016 1 commit
  13. 23 Feb, 2016 1 commit
  14. 13 Oct, 2015 1 commit
    • mvogt's avatar
      [qtcontacts-sqlite] Allow enum property extensions to be stored. Contributes to MER#1368 · 4b06f2f3
      mvogt authored
      Due to the schema originating to support the QtMobility.Contacts API
      we store some properties in string form, when the qtpim API now uses
      user-extensible enum values. Passing all values through a translation
      step that only knows the predefined values causes extension values to
      be lost.
      To fix this problem, perform a schema upgrade in which all pre-existing
      text values are converted to the equivalent enum value. In some cases
      the column containing these values should be typed as INTEGER, when
      in fact it is typed as TEXT. To avoid changing the columns, the read
      and write routines for these columns manually translate between text
      and integral form.
  15. 02 Jun, 2015 2 commits
    • chriadam's avatar
      [qtcontacts-sqlite] Improve handling of multiple sync target constituents. Contributes to MER#1053 · e497b560
      chriadam authored
      Previously, the syncUpdate() function built a mapping from the
      modified constituent to the appropriate sync target constituent,
      in order to affect the appropriate sync target constituent instead
      of the modified constituent.
      The function previously did not consider the possibility that
      multiple sync target constituents might be aggregated by a single
      aggregate contact, and thus the mapping was incomplete.
      This commit improves the mapping so that a modification to a
      sync target constituent will not be re-directed to modify a
      different sync target constituent (in the case where multiple
      STCs exist for that contact).
      It also improves the unit test to ensure that the state of the
      server-side contact cache managed by the test sync adapter is
      always consistent.
      Contributes to MER#1053
    • chriadam's avatar
      [qtcontacts-sqlite] Fix broken unit test. Contributes to MER#1053 · f3648619
      chriadam authored
      This commit ensures that the state is clean prior to performing the
      merge-remote-duplicates test in tst_aggregate unit test, otherwise
      the test sync adapter state is dirty and the wrong sync target
      constituents are removed during the sync operation.
      Contributes to MER#1053
  16. 04 May, 2015 1 commit
    • chriadam's avatar
      [qtcontacts-sqlite] Improve remote removal sync update handling. Contributes to MER#953 · 78714ae5
      chriadam authored
      When multiple contacts are merged server-side (due to duplicate
      detection), multiple constituents of the same aggregate may need
      to be removed within the same sync operation.
      This commit ensures that we deal with all server-side removal
      entries in the update list, even if previous updates may have
      caused modification to the (shared) aggregate of those
      server-side removals.
      Contributes to MER#953
  17. 08 Apr, 2015 1 commit
  18. 12 Mar, 2015 2 commits
    • chriadam's avatar
      [qtcontacts-sqlite] Fix unit test failure · 453a06be
      chriadam authored
      This commit ensures that the out-of-band sync state data for the
      unit test sync adapter is cleared after the unit test completes,
      so that subsequent runs of the unit test pass.
    • chriadam's avatar
      [qtcontacts-sqlite] Improve resilience against invalid sync updates · 916e2a0d
      chriadam authored
      This commit adds checks within the syncUpdate() function of the
      qtcontacts-sqlite backend to improve resilience against invalid
      data being provided to it by sync adapters.  Further debugging
      is added to that function to allow determination of how that
      invalid data is being presented.
      It also adds verbose debugging to the enforceDetailConstraints
      function so that when an invalid detail is encountered, that detail
      and the entire contact from which it came will be dumped to the
      console when QTCONTACTS_SQLITE_TRACE=1 is set.
      Finally, this function ensures that detail update pairs are
      generated correctly.  Previously, if it was a detail addition,
      the first detail in the pair might be null (an invalid detail,
      whose type is 0 = TypeUndefined).  Attempting to store that detail
      would fail due to its invalid type.  This commit ensures that the
      detail generated in each pair is valid (although perhaps empty).
  19. 22 Jan, 2015 1 commit
    • chriadam's avatar
      [qtcontacts-sqlite] Ensure that sync resolution maintains modifiability flag · f413f8d3
      chriadam authored
      Previously, the sync resolution function could sometimes clobber the
      value of the Modifiable flag on details which are modified.
      This commit ensures that the value is explicitly set during every
      sync resolution save operation, either to the value defined by the
      sync adapter or to true if the sync adapter did not define the value.
  20. 14 Jan, 2015 1 commit
  21. 08 Jan, 2015 2 commits
  22. 05 Jan, 2015 1 commit
  23. 23 Oct, 2014 1 commit
  24. 20 Oct, 2014 1 commit
  25. 15 Sep, 2014 2 commits
  26. 26 Aug, 2014 1 commit
  27. 22 Jul, 2014 3 commits