1. 15 Sep, 2018 11 commits
  2. 24 Feb, 2018 1 commit
    • Linus Jahn's avatar
      Use new ClientThread for XMPP-connection; Make offline usable · 5c513623
      Linus Jahn authored
      This rewrites the full back-end <-> front-end communication, moves the
      connection logic to the back-end and makes the XMPP client connection
      independant of the user interface (they will run parallel). However, the
      database still runs on the main, GUI thread, so this will still block GUI
      rendering (will be done in one of the next commits).
      
      Now, Kaidan is able to handle different DisconnectionReason, so it can
      distinguish if the authentication failed or there's just no connection to the
      server available. So this will finally make Kaidan offline useable! But it
      currently won't reconenct after losing the connection once.
      
      The bug that Kaidan always crashed, when logging in after logging out has also
      been fixed with this.
      
      The LogInPage was simplified: now, the button only shows "Connecting..." (when
      pressed) or "Connect". The trivial state of "retry" has been removed.
      
      `branding.h` was renamed to `Globals.h`. The new `Enums` namespace is used to
      register enums as a QMetaEnum, to make them printable and accessible in QML. The
      new `Q_ENUM_NS` macro is used for that.
      
      Coding style: I started to use doxygen-compatible inline documentation for the
      most functions, classes, enums and other elements. I don't want to really use
      doxygen (we're not a library), but it should definitely make it easier for new
      developers to understand the code. So from now on new code should be documented
      like this.
      
      Closes #107 - Make Kaidan offline usable.
      5c513623
  3. 13 Jan, 2018 1 commit
    • Linus Jahn's avatar
      Bump copyright to 2018 · 14b7183a
      Linus Jahn authored
      This updates all copyright headers in the source files to 2018. Also,
      there are not all contributors listed with a seperate copyright line,
      only one line for all Kaidan developers and contributors with a 'link'
      to a full list of contributors in the LICENSE file.
      
      It would be very hard to maintain the old strategy and adding each
      contributor to each file. Also the copyright lines were get too long then.
      
      All Kaidan headings are uniform, now. I replaced 'A cross platform XMPP
      client' with 'A user-friendly XMPP client for every device!'.
      14b7183a
  4. 20 Dec, 2017 1 commit
    • Ilya Bizyaev's avatar
      Initial support for Android · d4c295e5
      Ilya Bizyaev authored
      * Added submodules for build dependencies, Moved kaidansf to 3rdparty/, too.
      * Added QMake build system for simpler android compilation
      * Added all images and icons to a resource file for android-only
      * Added AndroidManifest for APK creation
      * Added a script for android compilation into
        `./utils/build-android-deps.sh`.
      * Added splash screen and green status bar for android
      * Global constants are moved into header file: `branding.h`
      d4c295e5
  5. 31 Jul, 2017 1 commit
    • Linus Jahn's avatar
      Add XEP-0280: Message Carbons · 07eab2b9
      Linus Jahn authored
      Message carbons allow you to receive the outgoing message of another client of the
      same account. In short: messages are synced between the clients.
      
      The handleMessage function of the MessageHandler can now handle both types of messages,
      normal, direct messages by a contact and forwarded messages (possibly) written from the same
      account.
      
      Notfications and unread message counters are only used, if the message written by somebody
      else, so you're not getting annoyed by notifications of your own messages. :)
      
      Closes #116.
      07eab2b9
  6. 30 Jul, 2017 1 commit
  7. 06 Jun, 2017 1 commit
  8. 05 Jun, 2017 1 commit
  9. 12 Mar, 2017 1 commit
  10. 05 Mar, 2017 2 commits
  11. 02 Mar, 2017 1 commit
  12. 18 Feb, 2017 1 commit
    • 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
  13. 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
  14. 06 Jan, 2017 1 commit
  15. 05 Dec, 2016 1 commit
  16. 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
  17. 13 Nov, 2016 1 commit
  18. 10 Nov, 2016 1 commit