1. 24 Oct, 2019 1 commit
  2. 02 Jan, 2019 1 commit
  3. 29 Nov, 2018 1 commit
    • Hugo Lefeuvre's avatar
      refresh popupmenu/chatview on account state change · 7e259ac4
      Hugo Lefeuvre authored
      Better UI reactivity on account state change:
      
      + Do not show audio and video call options in the conversationsview's
        popup menu when account is disabled (this doesn't make sense,
        account is not able to place a call)
      + Refresh popup menu on account state change (list of options
        has to be updated)
      + Refresh chatview on account state change (some elements of the
        chatview require update, e.g. message bar)
      + Fix broken display property update in hideControls()
      
      Misc code cleanup, add a few helpers to avoid code duplication.
      
      Change-Id: I212a47566bd65687e5ed61ec56087a4e1f3166bd
      Gitlab: #929Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      7e259ac4
  4. 30 May, 2018 1 commit
    • Hugo Lefeuvre's avatar
      chatview: implement navbar · edad8832
      Hugo Lefeuvre authored
      Currently the navbar is implemented in native GTK, and has a pretty
      bad integration with the chatview. In this patch we implement a
      modern navbar *in* the chatview and remove the old GTK bar.
      
      *Changes summary*
      
      chatview, HTML/JS/CSS side:
      - Remove useless function setSendIcon from the chatview
      - Simplify setTemporary in the chatview
      - Use only one single showInvitation function instead of two
        showInvitation and hideInvitation functions.
      - Remove pointless/copy&pasted comments
      
      chatview, GTK side:
      - Simplify chatview update methods: instead of providing several
      separate functions to update the invitation/banned status of the chat
      view, only provide one (update_chatview_frame). This should have a
      good impact on the performances and simplify webkit crash handling.
      
      Change-Id: I6959240efd357fedb07d3c60d551efc8fca84812
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      edad8832
  5. 01 May, 2018 1 commit
    • Hugo Lefeuvre's avatar
      Refactoring of the accountContainer logic · 6f2ceb12
      Hugo Lefeuvre authored
      Before:
      
       - RingMainWindow has an unique_ptr to an AccountContainer
         accountContainer_.
      
       - each view / secondary class has its own *copy* of the account
         container pointer (given by ringmainwindow using
         accountContainer_.get()).
      
       - each time the reference to the struct Info is updated,
         accountContainer_ has to be reset()-ed and and the account
         container re-created by the RingMainWindow. This makes *all*
         copies of the account container pointer invalid (hence all
         view / secondary classes trying to access the account container
         before getting updated perform use-after-free / NULL pointer
         dereference).
      
       - These copies have to be manually updated ! (well, currently they
         are not updated at all)
      
      After:
      
       - RingMainWindow has a pointer to a struct Info from LRC.
      
       - Each view / secondary class has a pointer pointing to
         the struct Info pointer of RingMainWindow
      
       - Each time the reference to the struct Info is updated, the
         RingMainWindow updates its pointer. Since secondary classes and
         views hold a pointer to this pointer, they are automatically
         updated and there is no dangling pointer anymore.
      
      This requires no lrc side changes.
      
      Change-Id: I1329721920a3d42ad623f9fd7202b43700713eed
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      6f2ceb12
  6. 28 Feb, 2018 1 commit
  7. 31 Jan, 2018 1 commit
  8. 02 Nov, 2017 1 commit
  9. 19 Jul, 2017 1 commit
  10. 28 Oct, 2016 1 commit
    • 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
  11. 14 Oct, 2016 1 commit
  12. 14 Sep, 2016 1 commit
    • 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
  13. 14 Jan, 2016 2 commits
    • Stepan Salenikovich's avatar
      out of call chat · c6a3b98a
      Stepan Salenikovich authored
      Initial implementation. Now clicking on an item in the Conversations
      view (RecentModel) will bring up a chat view. In the case of a Person
      (contact) it will select the chat with the last used ContactMethod of
      that person. If there is more than one ContactMethod, as combo box will
      be displayed giving the choice of ContactMethods to use.
      
      To make a call, double-click the item as before. Any call (incoming or
      outgoing) will superseed the chat view.
      
      Out of call chats use the account based chat API. In call chats still
      use the call based chat API.
      
      Change-Id: I3deb09fd22c3dda7b78ea9be0eef32a6f27adecb
      Tuleap: #203
      c6a3b98a
    • Stepan Salenikovich's avatar
      chat: refactor chat view out of call view code · d2cad06c
      Stepan Salenikovich authored
      This is a preliminary step to integrating out of call chat.
      
      Tuleap: #203
      Change-Id: I18a339b4b6b4bc34b415e9f60d25884485d97c36
      d2cad06c
  14. 15 Sep, 2015 1 commit
    • Stepan Salenikovich's avatar
      gnome: implement dbus error interface · be6550cc
      Stepan Salenikovich authored
      DBus errors usually indicate that dring has crashed or been killed.
      This handler shows a warning dialog and gives dring 2.5s to restart.
      If a DBus connection is not re-established, an error dialog is show and
      the client quits.
      
      This implementation prevents the client from suddenly crashing when
      dring is killed due to the exception thrown by the LRC
      implementation of the interface.
      
      Patch adds updated translation template.
      
      Issue: #79655
      Change-Id: Ie7679a11ca357d68d8b87a3925abe4598d36f02c
      be6550cc
  15. 23 Mar, 2015 1 commit
    • Stepan Salenikovich's avatar
      gnome: select video source · 50c989b5
      Stepan Salenikovich authored
      Add ability to select a different video cam by right clicking on the video widget
      
      Refs #66538
      
      Change-Id: I9c49f00f5be99ce2e2700511c43a8d383a8c5ddf
      50c989b5
  16. 23 Feb, 2015 1 commit
  17. 16 Feb, 2015 1 commit
    • Stepan Salenikovich's avatar
      gnome: CMakeLists for new client · e3500cbd
      Stepan Salenikovich authored
      A simple main.cpp to test the cmake config
      and make sure libRingClient starts in a GTK
      main loop.
      
      Refs #66150
      
      Change-Id: I85ca9e984f77d0f13d25e3bd9361885cf8eb01d4
      e3500cbd