1. 09 Mar, 2018 1 commit
    • Jonah Brüchert's avatar
      Add Ubuntu Touch packaging & CI builds (#150) · 4328565d
      Jonah Brüchert authored
      This adds Ubuntu Touch click packaging and automated build scripts for Travis-CI builds. Building
      is and will be only possible with CMake.
      
      Currently the icons aren't working correctly (as in all CMake builds with a KF5 build from 5.40 to
      5.43). There also might be still some problems with scaling, but the rest should work fine.
      
      Publishing to the Open Store is planned, as soon as we get some more feedback.
      
      Ubuntu Touch builds currently use a workaround for the application name: it'll use the application
      id/uri for it, needed because of app armor. But I'd like to change to this principle on all platforms, so
      in the future the configs and other persistant files will be saved in `~/.config/im.kaidan.kaidan` or
      `~/.local/share/im.kaidan.kaidan/`, although I'm a bit unsure for normal desktop linux, there.
      
      However, happy testing! :)
      4328565d
  2. 25 Feb, 2018 1 commit
    • Linus Jahn's avatar
      Add XEP-0352: Client State Indication · 855bc84f
      Linus Jahn authored
      This will give the XMPP server the information if the user is currently actively
      using Kaidan or it's runnning in the background. If it's running in the
      background, the server will only send some important messages, not everything.
      855bc84f
  3. 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
  4. 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
  5. 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
  6. 16 Dec, 2017 1 commit
  7. 30 Jul, 2017 3 commits
  8. 12 Jun, 2017 1 commit
  9. 06 Jun, 2017 1 commit
  10. 05 Jun, 2017 3 commits
  11. 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
  12. 05 Mar, 2017 1 commit
  13. 22 Feb, 2017 1 commit
    • Linus Jahn's avatar
      Remove ORGANIZATION_NAME, DOMAIN · 3e6f8eb8
      Linus Jahn authored
      They were added without reasons and then Qt thought Kaidan is installed
      in /usr/share/KaidanIM/kaidan/ <- not what we want, so I removed it.
      But this also makes all configs uncompatible. They're now in:
      ~/.config/kaidan/kaidan.conf and ~/.local/share/kaidan/messages.sqlite3
      
      I hope that was the last time for the next time to change config names.
      3e6f8eb8
  14. 18 Feb, 2017 4 commits
    • Linus Jahn's avatar
      Remove unnecessary debug outputs · 8dfc75bb
      Linus Jahn authored
      8dfc75bb
    • Linus Jahn's avatar
      CMake: Improve i18n build system, Make Kaidan installable (#66) · 635dd93e
      Linus Jahn authored
      All translations are now bundled into the kaidan binary (@licensing@
      only possible because translations and code are GPL), so we don't have
      any problems locating the qm-files anymore. :)
      
      The generation of the qm-files is more manual now, but so there are no
      unncessary outputs on the command line anymore.
      
      And best news: You can install kaidan now via. `make install`.
      635dd93e
    • 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
  15. 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
  16. 08 Jan, 2017 1 commit
  17. 07 Jan, 2017 1 commit
  18. 06 Jan, 2017 2 commits
  19. 05 Jan, 2017 2 commits
  20. 05 Dec, 2016 1 commit
  21. 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
  22. 13 Nov, 2016 1 commit
  23. 11 Nov, 2016 1 commit
  24. 10 Nov, 2016 1 commit
  25. 31 Oct, 2016 2 commits