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. 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. 07 Aug, 2017 1 commit
  5. 30 Jul, 2017 1 commit
    • Linus Jahn's avatar
      Rewrite PresenceController -> PresenceHandler using gloox · 44cbdca4
      Linus Jahn authored
      The Sub/Unsub management in gloox is done in the Roster/RosterListener/RosterUpdater.
      Therefore the PresenceHandler is currently useless. (Probably will change in the future)
      Sub requests are accepted automatically and the user will be unsubbed on incoming unsub
      requests (when the other entity unsubs from the user).
      44cbdca4
  6. 05 Jun, 2017 1 commit
  7. 05 Mar, 2017 2 commits
  8. 02 Mar, 2017 1 commit
  9. 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
  10. 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
  11. 06 Jan, 2017 1 commit
  12. 05 Dec, 2016 1 commit
  13. 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
  14. 13 Nov, 2016 1 commit
  15. 10 Nov, 2016 1 commit