1. 31 Oct, 2016 4 commits
  2. 28 Oct, 2016 4 commits
    • Stepan Salenikovich's avatar
      i18n: update translations · 84bef6f7
      Stepan Salenikovich authored
      - update POTFILES.in with new source files with translations
      - update README with how to pull translations from transifex
      - update source pot file with new source translations strings
      - update source pot file copyright year
      - pull new translations from transifex
      
      Change-Id: I30498c131bc77be008ff54d6ec2b9c85dafc223e
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      84bef6f7
    • Stepan Salenikovich's avatar
      GtkQTreeModel: insert all children on rowsInserted · 4f922f70
      Stepan Salenikovich authored
      In the case of a QSortFilterProxy model, when rows which were
      previously filtered are re-inserted, no rowsInserted signal is
      emitted on their children. To handle this case, we need to
      explicitly re-insert any children.
      
      Change-Id: If46288356a8697477643671d142fe846aa656ae1
      Tuleap: #651
      4f922f70
    • Stepan Salenikovich's avatar
      restore drag&drop conference creation · 1e738fe2
      Stepan Salenikovich authored
      The drag&drop functionality was lost due to the removal of the
      GtkQSortFilterTreeModel in commit
      f6078223
      
      Its restored by adding the drag&drop interface to the GtkQTreeModel.
      
      Change-Id: Icbf8761f6b5a851bff35759b23fac9538e796439
      Tuleap: #1105
      1e738fe2
    • aviau's avatar
      New chat view using gtkwebkit · 039001d7
      aviau authored
      This changes the text buffer widget to a WebKitWebView so that we can
      use web technologies to control the display.
      
      This change comes with a new dependency: libwebkit2gtk-4.0. Should
      this dependency not be available on the system, we can also build the
      client using libwebkit2gtk-3.0. However, the links won't be clickable.
      
      New features:
       - Implemented delivery reports.
       - Avatars are now displayed in the chat window.
       - Links in the chat window are now clickable.
      
      When the client is launched with the -d option, you may right click on
      the chat view to open up the dev tools.
      
      In order to improve performance, one WebKitWebView is re-used for all
      of the ChatViews, since we only display one at a time.
      
      Tuleap: #1073
      Change-Id: Ic945fa6c92f92e391f0362310ddc2f0fa16641bf
      [stepan.salenikovich@savoirfairelinux.com: added change_view(); start
       loading webkit on window init; destroy webkit on dispose; prevent
       warning when dispose is called more than once on ChatView]
      Signed-off-by: default avatarStepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
      039001d7
  3. 26 Oct, 2016 2 commits
    • Stepan Salenikovich's avatar
      Handle layoutChanged signal · 2d4b4728
      Stepan Salenikovich authored
      This implements basic handling of the layoutChanged signal that may
      be emitted by some Q models in LRC. This does not handle all the
      cases, but it should not cause any crashes.
      
      This should allow us to use the filtering and sorting features of
      QSortFilterProxyModels.
      
      Change-Id: I4ae590b6ab9adea75335d6fd4eb71354168e0ba1
      Tuleap: #651
      2d4b4728
    • Stepan Salenikovich's avatar
      Prevent crash if rows moved are inconsistent · ede936f5
      Stepan Salenikovich authored
      Detect when a QAbstratItemModel emits rows moved signals which are
      inconsistent with the model and emit a critical message instead of
      a crash.
      
      Tuleap: #651
      Change-Id: I6edd9fa6a12bab32f484623b3a318fe568bfa6f6
      ede936f5
  4. 25 Oct, 2016 1 commit
  5. 21 Oct, 2016 4 commits
  6. 18 Oct, 2016 1 commit
  7. 14 Oct, 2016 6 commits
  8. 13 Oct, 2016 3 commits
    • Stepan Salenikovich's avatar
      fix button next to search entry · b0ffc34a
      Stepan Salenikovich authored
      The signal handler was not using the correct widget when connected
      to the GtkButton signal.
      
      Change-Id: I62dd85f7ed684d9b5b6aefee8a7bda36ed84e464
      Tuleap: #1102
      b0ffc34a
    • Stepan Salenikovich's avatar
      scale down ring icon · b8bbe1ff
      Stepan Salenikovich authored
      For some reason certain system trays (panel indicator applets) are
      not able to properly scale the current ring icon, resulting in very
      large panel icons.
      
      This is a scaled down version (16x16) of the original svg with the
      adobe binary stripped out as well.
      
      Change-Id: I3e2190653a1154ae44f28dbafa9ebd299df793d4
      Tuleap: #839
      b8bbe1ff
    • aviau's avatar
      Implement Multi-Device · 6aeb4859
      aviau authored
      This patch implements multi-device support:
      
      - The account creation wizzard has now two options "Existing Ring
        account" and "New Ring account".
      
        "Existing Ring account": Allows for fetching a Ring account archive
        from the DHT. Requires pin and password.
      
        "New Ring account": This is the previously existing wizard. It was
        modified to ask for a password which will be used to encrypt the
        account archive. This password is then required for exporting the
        account on the Ring.
      
      - Creating a new Ring account with the "+" button now triggers the
        account creation wizard.
      
      - The account menu now has a "devices" tab. This tab contains a table
        with device names (currently a short hash) and device ids (a long
        hash).
      
        In the "devices" tab, there is an "add device" button which allows
        for exporting the current account to the Ring, giving a pin to the
        user.
      
      - When the client encounters old-format accounts, it will trigger a
        migration popup which asks the user for a password. This password will
        be used to create an archive and encrypt it. One password will be
        asked for each Ring account to migrate.
      
      Change-Id: I3d52b2b7ca4f82cb477ee294c962b5d50d5c6a04
      Tuleap: #896
      6aeb4859
  9. 07 Oct, 2016 1 commit
    • Stepan Salenikovich's avatar
      use new lrc API to clear all chat and call history · 738e59ae
      Stepan Salenikovich authored
      Now the views will actually get cleared, without having to restart
      Ring (though the ContactMethods generated from the history will
      still remain).
      
      This also amends the outdated dialog message which asks the user
      to confirm this operation.
      
      Change-Id: Ib71f20f7a0e804648242638361f615aec8781ee1
      Tuleap: #925
      738e59ae
  10. 04 Oct, 2016 3 commits
    • Stepan Salenikovich's avatar
      GtkQTreeModel: remove warning about multiple columns · a647bcf3
      Stepan Salenikovich authored
      This warning is useless and the wrapper works for models with
      multiple columns, at least in the cases currently implemented in
      LRC.
      
      Change-Id: If0bfb819f77099946df9d87ad54820562ddf9993
      a647bcf3
    • Stepan Salenikovich's avatar
      remove GtkQSortFilterTreeModel · f6078223
      Stepan Salenikovich authored
      This Qt model wrapper class was added because GtkQTreeModel didn't
      seem to work for QSortFilterProxy models; however this does not seem
      to be the case any longer. Either something was fixed in the
      GtkQTreeModel code, or else the initial problem was due to another
      bug. Either way this reduces and simplifies the code base.
      
      Change-Id: I8d1f7bb83c17708e2ef3c544ee32c13a4b2b3e7d
      f6078223
    • Stepan Salenikovich's avatar
      search entry: open chat view instead of call · e9933249
      Stepan Salenikovich authored
      This changes the default behaviour of the search entry, the button
      next to it, and the autocompletion drop down to opening the chat view
      with the selected CM/Person instead of placing a new call. This allows
      people who wish to simply chat with a new RingID to do so, instead of
      first having to call that RingID or add it to a Contact in their
      addressbook.
      
      Additionally, a setting has been added to change this behaviour, so
      that (typically) SIP users can easily place new calls by entering phone
      numbers in the search entry.
      
      Also, a "Place call" button has been added to the chat view (when not
      in a call), so that users can easily call someone they are chatting with
      without having to double click on that contact in the contacts list.
      
      Change-Id: Ia833fb36620fd34afdbb3c3a4357c212a87f8796
      Tuleap: #953
      e9933249
  11. 03 Oct, 2016 1 commit
  12. 29 Sep, 2016 1 commit
  13. 21 Sep, 2016 2 commits
  14. 15 Sep, 2016 4 commits
    • Stepan Salenikovich's avatar
      save and restore main window size · ba87ae2c
      Stepan Salenikovich authored
      Saves and restores the main window size in the GSettings.
      
      The default size is updated to be 800x500. Gtk should automatically
      resize it smaller if it doesn't fit on the screen.
      
      Change-Id: Ia85f9fe870cf0695c5095cb138c2b8a61a8855a7
      Tuleap: #1030
      ba87ae2c
    • Stepan Salenikovich's avatar
      allow disabling call and chat notifications · 5a12767d
      Stepan Salenikovich authored
      Adds two new settings which allow enabling/disabling of the
      call and chat notifications (individually). They are both enabled
      by default.
      
      Change-Id: Ic6996d53740e3f87f348ca8614ecd130495a65eb
      Tuleap: #926
      5a12767d
    • Stepan Salenikovich's avatar
      select ContactMethod when clicking on notification · f8e78cb0
      Stepan Salenikovich authored
      For notification servers which support actions, override the
      default action so that the selection in the RecentModel is
      changed to the ContactMethod in the notification. This will
      also change the state of the window to be shown in the case that
      it was closed (hidden).
      
      Change-Id: I6f13a962745246971d965cbbd297c933f685e9aa
      Tuleap: #926
      f8e78cb0
    • Stepan Salenikovich's avatar
      fix avatar manipulation when selecting an image · d8a9ce28
      Stepan Salenikovich authored
      The crop area was not being set correctly when selecting an image
      from a file. Also the crop area needs to be re-set (re-initialized)
      each time a new image is used because otherwise it behaves weirdly
      if the new image is smaller than the previous.
      
      Change-Id: Ieef9b3f537567f3823dbd9f4cb18667c80d740c7
      Tuleap: #917
      d8a9ce28
  15. 14 Sep, 2016 3 commits
    • Stepan Salenikovich's avatar
      show chat/call view from selection in history and contacts · 09e0b784
      Stepan Salenikovich authored
      Previoiusly, the chat/call view displayed could only be changed by
      changing the selection in the converstaions list view. The contacts
      and history list views would only change the call view if a new
      call was initiated by double clicking on the selection.
      
      This patch changes this behaviour, now slecting an item in any of
      the three contact list views will result in showing the chat view
      with that Person or ContactMethod, or showing the call view if there
      is an ongoing call with the selected item.
      
      In order to prevent conflicts between different selections in the
      different views, only one selection at a time is allowed. So,
      changing the selection in the conversations view, for example, will
      clear the selection in the other 2 list views except in the case
      that the item selected is the same one. For example, if the Person
      selected in the Contacts view is the same as the one in the
      Conversations view, then both selections will remain.
      
      Change-Id: Icc00c5801e66ca0013b730d6d008ebf904a999e1
      Tuleap: #956
      09e0b784
    • Stepan Salenikovich's avatar
      don't show read messages in chat notifications · fc79fc13
      Stepan Salenikovich authored
      This patch prevent showing already read messages in chat notifications
      which was happening in certain cases. This is fixed in several
      different ways depending on which notification daemon is being used
      on the system.
      
      In the case of notify-osd, even though it supports appending
      notifications, we try to update the previous notification, but only
      with unread messages. The issue with appending is that notify-osd
      does not respond to trying to close notifications, which means messages
      which have been marked as read already will continue to be displayed.
      
      In the case of the notification daemons which don't support appending,
      we simply replace the old msg text. This prevents many notifications
      from the same person from building up; the new messages are also
      displayed immediately instead of waiting for the notification timeout.
      We also don't try to display multiple unread messages because these
      daemons don't usually support multi-line message bodies.
      
      Change-Id: Ibbd5adbdd5eb4bafadb517ac39064eaecd74228e
      Tuleap: #426
      fc79fc13
    • Stepan Salenikovich's avatar
      avatarmanipuation: fix return button infinite loop · d9a38306
      Stepan Salenikovich authored
      In the case the a new photo was taken, the return (undo) button
      would get stuck in an infinite loop when trying to return from
      edit state to photo state and then from photo state to current state.
      In this case it would keep going between the edit and photo state
      instead of going back to the current state.
      
      Change-Id: I7550b3fa0bdcdb3d5d373911fae56f46c09eaef8
      Tuleap: #917
      d9a38306