1. 01 Jun, 2018 1 commit
  2. 31 May, 2018 1 commit
  3. 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
  4. 29 May, 2018 1 commit
  5. 28 May, 2018 1 commit
    • Hugo Lefeuvre's avatar
      chatview js/html: cleanup and optimization work · 65a41d6d
      Hugo Lefeuvre authored
      Major cleanup and optimization work in the chatview (html/js part):
      - use getElementById instead of querySelector when possible. This is
        3x quicker in average!
      - get rid of the useless ring.chatview namespace. This makes the
        chatview code way more readable.
      - get rid of the test code. This has nothing to do in production.
      - store the result of getElementById calls as global variables. These
        calls are very expensive and calling them each time we execute a
        function is pure nonsense.
      - do not call printHistoryPart when buffer is 0
      
      Change-Id: I76d39a8632f069ecd3d659f4938bffff7a10a71b
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      65a41d6d
  6. 18 May, 2018 1 commit
  7. 15 May, 2018 1 commit
  8. 14 May, 2018 4 commits
    • Sébastien Blin's avatar
      accountview: fix account creation by updating selectedInfo · e05cde13
      Sébastien Blin authored
      Change-Id: I6eb9bb046d2964b24b9b323ac1f086ce8185ab2e
      Reviewed-by: default avatarHugo Lefeuvre <hugo.lefeuvre@savoirfairelinux.com>
      e05cde13
    • Hugo Lefeuvre's avatar
      accountcreationwizard: close preview when hidden · 24356d47
      Hugo Lefeuvre authored
      Whenever the preview is created and run in the account creation
      wizard, there is no way to stop it. This is very annoying because
      it grabs the webcam rights without releasing them, and the camera
      led stays on, giving the user the impression to be observed.
      
      In this patch we add a mechanism similar to what is done in the
      general settings tab: we destroy and create the preview each time
      the preview is made visible / hidden. While not the most elegant
      solution it allows us to run the preview if and only if it is
      displayed & stop it otherwise.
      
      Also, we fix various issues in the account view:
       - when + icon is double clicked, the settings space becomes blank.
         Now if + is clicked while account wizard is open, the account
         wizard gets closed.
       - when an account is selected in the account selection tab while
         the wizard is displayed, nothing "seems to happen". Instead,
         quit the wizard and open the selected tab.
       - when account view is openened for the first time, the settings
         space is blank. Instead, default select an account.
      
      Change-Id: I1e12333e654f70d590886e2aa4f5112154f3068a
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      24356d47
    • Hugo Lefeuvre's avatar
      ringmainwindow: fix view inconsistency bug · b8a8057e
      Hugo Lefeuvre authored
      We should switch to the ring main window before updating the lrc.
      Otherwise the conversation is going to be selected by
      slotFilterChanged (signal triggered by updateLrc) while the view will
      be later changed to welcome view without updating the conversationview
      selection.
      
      Change-Id: I2caea45dc2a11d90b409cdb06e9ba9eaa14d9f21
      Tuleap: #1876
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      b8a8057e
    • Sébastien Blin's avatar
      settings: link settings tabs to selected account · 276202f9
      Sébastien Blin authored
      This patch does nothing for now, but prepare the migration to new
      LRC models.
      
      Change-Id: I55f63ad494e5d3516d4d01f72051997a430ef5df
      Reviewed-by: default avatarHugo Lefeuvre <hugo.lefeuvre@savoirfairelinux.com>
      276202f9
  9. 09 May, 2018 1 commit
    • Hugo Lefeuvre's avatar
      popupmenu: fix menu for banned accounts · ef608eae
      Hugo Lefeuvre authored
      Currently the popup menu stays the same even if the account is banned
      which may be very confusing for the user (place call or block contact
      options are everything but meaningful in this case !).
      
      In this patch we implement a specific menu for banned accounts.
      
      In addition to that, we also force a chat view refresh when
      the filter is updated.
      
      This patch requires LRC side changes in order to work properly.
      
      Change-Id: Iea545fe5cf54520e7aba92c7a87a736bc6d71d27
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      ef608eae
  10. 08 May, 2018 1 commit
  11. 07 May, 2018 3 commits
  12. 04 May, 2018 2 commits
  13. 01 May, 2018 2 commits
    • 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
    • Sébastien Blin's avatar
      datatransfer: automatically accepts images instead of awaiting · 03f071db
      Sébastien Blin authored
      Change-Id: I64f6a0e3b7d982d5e9848f15ea6276a972ab8d44
      Reviewed-by: Philippe Gorley's avatarPhilippe Gorley <philippe.gorley@savoirfairelinux.com>
      03f071db
  14. 30 Apr, 2018 1 commit
  15. 25 Apr, 2018 1 commit
  16. 24 Apr, 2018 2 commits
  17. 23 Apr, 2018 1 commit
  18. 19 Apr, 2018 2 commits
  19. 17 Apr, 2018 2 commits
    • Hugo Lefeuvre's avatar
      fix: race condition + crash when deleting accounts · 09478e4b
      Hugo Lefeuvre authored
      In this patch we implement the "freeable" feedback mechanism recently
      introduced in the LRC: After updating the accountContainer_ pointer we
      notify the LRC that it can now safely free these structures, using the
      flagFreeable method. This mechanism avoids various race conditions
      happening during account deletion (potentialy leading to NULL pointer
      dereference and use-after-free issues).
      
      Additionaly we remove various function calls from
      slotAccountRemovedFromLrc (gtk_notebook_set_current_page and
      ring_welcome_update_view) since they are guaranteed to be executed by
      the refreshAccountSelectorWidget call, a bit earlier.
      
      Change-Id: I953d9b193ce8cc3dd2a98f220f6e8b8afa3525bf
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      09478e4b
    • Sébastien Blin's avatar
      settings: check if g_get_user_special_dir fails · 1946b536
      Sébastien Blin authored
      g_get_user_special_dir can return a nullptr, so the string
      construction will fails badly. Must be checked or fallback to
      G_USER_DIRECTORY_DESKTOP ($HOME/Desktop)
      
      Change-Id: I04b72221f14091db2cfd880a9b35b8ab92e46ae4
      Reviewed-by: Philippe Gorley's avatarPhilippe Gorley <philippe.gorley@savoirfairelinux.com>
      1946b536
  20. 16 Apr, 2018 1 commit
  21. 13 Apr, 2018 1 commit
  22. 12 Apr, 2018 1 commit
  23. 11 Apr, 2018 3 commits
  24. 09 Apr, 2018 1 commit
  25. 02 Apr, 2018 1 commit
  26. 29 Mar, 2018 1 commit
  27. 28 Mar, 2018 1 commit
  28. 27 Mar, 2018 1 commit