1. 30 Jul, 2017 8 commits
  2. 19 Jun, 2017 1 commit
    • Linus Jahn's avatar
      Fix message insertion bug · 0a6e43bd
      Linus Jahn authored
      There was still an, now unused, variable/pointer in the MessageController class. It
      wasn't set so it was a nullptr, when the MessageModel was trying to add it to the db.
      0a6e43bd
  3. 12 Jun, 2017 1 commit
  4. 10 Jun, 2017 1 commit
  5. 07 Jun, 2017 1 commit
    • Linus Jahn's avatar
      Clean up Message/RosterController · 5fdf2e7a
      Linus Jahn authored
      I separated them again, so the RosterController will also connect to the
      Message received event, and will upsate the unread message counter on its
      own.
      
      I also removed many `emit xxxModelChanged`. They are unnecessary and I don't
      know why I added them at all (in these cases).
      
      There were also some unused #includes, that I have removed.
      
      But the QML API has also changed through this and sendMessage and chatPartner
      are now on the top level of `kaidan`.
      5fdf2e7a
  6. 06 Jun, 2017 1 commit
  7. 05 Jun, 2017 1 commit
  8. 12 May, 2017 1 commit
    • Linus Jahn's avatar
      Kaidan.cpp: Use Swift::MemoryStorages · f5f443bb
      Linus Jahn authored
      Next will be to get all storages (roster, history, vcards, ...) from these MemoryStorages.
      And then we can replace these MemoryStorages with real FileStorages, so you can see
      everything even if you're offline.
      
      I added a new include for the PlatformCryptoProvider; we should clean up all includes and
      only use specific files instead of just everything from Swiften: this will speed up
      compilation much!
      f5f443bb
  9. 03 May, 2017 2 commits
  10. 01 May, 2017 1 commit
  11. 14 Mar, 2017 1 commit
    • Linus Jahn's avatar
      Roster: Sort using last exchanged · 51c48b80
      Linus Jahn authored
      The new `lastExchanged` coloumn in the RosterModel contains
      a ISODate string with the time when the last message has
      arrived or has been sent. The roster is now sorted using this
      property.
      
      The message controller is now able to communicate with the roster
      controller directly and updates the lastExchanged whenever a
      message arrives/is been sent.
      
      To preserve the lastExchanged property, the roster is now only
      'updated' instead of being replaced every login. It looks up
      which JIDs have been removed and added, adds/removes them
      and updates the name of all the others (lastExchanged keeps the
      same). Roster Versioning would be the better solution here and
      also generally ...
      51c48b80
  12. 12 Mar, 2017 2 commits
  13. 07 Mar, 2017 1 commit
    • Linus Jahn's avatar
      Add VCard back-end support (#85) · d4527fb8
      Linus Jahn authored
      The new QML-side variables:
      `kaidan.vCardController.currentJid = ""`
      `kaidan.vCardController.currentVCard = VCard` (read-only)
      `kaidan.vCardController.ownVCard = VCard`
      
      Properties of a VCard:
      `version`, `fullName`, `familyName`, `givenName`, `middleName`,
      `prefix`, `suffix`, `nickname`, `preferredEMailAddress`
      
      The own VCard is not working correctly yet.
      d4527fb8
  14. 05 Mar, 2017 4 commits
  15. 02 Mar, 2017 1 commit
  16. 01 Mar, 2017 1 commit
  17. 26 Feb, 2017 1 commit
  18. 24 Feb, 2017 1 commit
    • JBBgameich's avatar
      Add global Kirigami drawer with banner · 405b5a3c
      JBBgameich authored
      Currently you can only logout with this banner, but other actions
      can be added later.
      
      kaidan.getResourcePath() now returns a "file://"-path.
      
      Closes #25.
      405b5a3c
  19. 22 Feb, 2017 1 commit
  20. 18 Feb, 2017 3 commits
    • Linus Jahn's avatar
      Remove EchoPayload{ParserFactory,Serializer}.h · 705b37fd
      Linus Jahn authored
      Since the last commit we no longer echo messages back, so we
      don't need the payload for the echoed messages anymore.
      705b37fd
    • Linus Jahn's avatar
      Add SQLite database for messages and roster caching · 3b366c75
      Linus Jahn authored
      The new SQLite3 database is saved (on Linux) under:
      ~/.local/share/KaidanIM/kaidan/messages.sqlite3 (This is the AppData
      location from Qt)
      
      It currently has two tables one for the roster and one for messages.
      The roster table has two coloumns: jid and name. The message table
      has six: author, author_resource, recipient, recipient_resource,
      timestamp and message. 'recipient' and 'author' contain a bare JID
      (a JID without the resource) and the resource saved in
      author/recipent_resource, if available. The resource is not really
      necessary, but I thought it might be cool to add e.g. some stats for
      this, later.
      
      In the Kaidan.cpp/h, I moved the handleMessageReceived part into the
      MessageController, later we should also move the handle Presence
      Received into a PresenceController or something as this.
      
      I also removed the 'import harbour.kaidan 1.0' in QML, because, now
      we don't have any new QML-types from Kaidan -> you can't import it.
      
      The Chat-GUI is still very ugly, we/I should definitely imporve it
      in a later commit.
      
      Closes #55.
      3b366c75
    • Linus Jahn's avatar
  21. 14 Jan, 2017 1 commit
    • Linus Jahn's avatar
      Add settings for JID/Password (#54) · 367a6cb1
      Linus Jahn authored
      Now Kaidan starts directly with opened roster, if you've typed in
      your password once.
      
      Add new global vars. for the organization name and domain:
      ORGANIZATION_NAME:	"KaidanIM"
      ORGANIZATION_DOMAIN:	"kaidanim.github.io"
      
      Currently they are not used.
      
      Closes #24.
      367a6cb1
  22. 06 Jan, 2017 1 commit
  23. 05 Jan, 2017 1 commit
  24. 05 Dec, 2016 1 commit
  25. 20 Nov, 2016 1 commit
  26. 18 Nov, 2016 1 commit
    • Linus Jahn's avatar
      Restructure project (#22) · 2144d981
      Linus Jahn authored
      I also had to adjust the README and of course the qrc-file.
      In the qrc-file I adjusted the path and added an alias, so
      all code remains compatible (we should add such aliases for
      all files in there).
      
      Closes #10.
      2144d981