1. 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
  2. 14 Sep, 2016 5 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
    • Stepan Salenikovich's avatar
      use CcCropArea to crop avatar · 5c54b353
      Stepan Salenikovich authored
      CcCropArea code is taken from gnome-control-center code.
      
      It is used to crop avatar images in the control center and in
      gnome contacts.
      
      Using it unifies the interface more with other gnome programs and
      also gets rid some of the small bugs in the previous implementation.
      
      Now instead of creating a new selection each time, the user simply
      moves and resizes one selection.
      
      Change-Id: I764e958cf9e5e6f1aadd754ddd1ad5d542415365
      Tuleap: #917
      5c54b353
    • Stepan Salenikovich's avatar
      avatar: make background color white · 1dc123f9
      Stepan Salenikovich authored
      Use white instead of black for the background color when avatar
      images contain transparency. This is a more standard choice and
      looks better for most images than black.
      
      Change-Id: Id14fb32fcd4a54862d0d33a7040aeffa6e8a7ffb
      Tuleap: #917
      1dc123f9
  3. 08 Sep, 2016 3 commits
  4. 06 Sep, 2016 2 commits
  5. 02 Sep, 2016 1 commit
  6. 31 Aug, 2016 1 commit
    • Stepan Salenikovich's avatar
      prevent duplicate calls · 5fd97bc6
      Stepan Salenikovich authored
      Prevent creating multiple calls with the same contact method. When
      trying to call a ContactMethod which already has an ongoing call,
      we will simply switch to that call. If it is already the selected
      call, then nothing will happen.
      
      Change-Id: I7e8f25d3211f0da899f7feca277abb37d7ba5e06
      Tuleap: #923
      5fd97bc6
  7. 29 Aug, 2016 1 commit
    • Stepan Salenikovich's avatar
      improve behaviour of context menu in treeviews · 8eaa13e1
      Stepan Salenikovich authored
      Now rightclicking on an item in the contact treeviews (Conversations,
      Contacts, History) will result in the item clicked on being selected.
      Before the popup menu would open for the selected item, but the
      selection would not change if the click was on a different item.
      
      This also fixes a small memory leak where the a new menu widget would
      be created on every right click, but the old menu was never destroyed.
      Now the same menu widget is used, it is simply updated once the
      selection is changed.
      
      The menus are also now synchronized across all the 3 contact treeviews
      and code duplication is reduced by moving the popup code into its
      own widget. Menu items which are not relevant to the current selection
      are now greyed out instead of the menu simply being different for
      different items, this is more in line with standard GTK+ behaviour.
      
      Change-Id: I4e54d618a090e28b565cbef719065c943a826b0e
      Tuleap: #930
      8eaa13e1
  8. 25 Aug, 2016 2 commits
  9. 24 Aug, 2016 1 commit
  10. 17 Aug, 2016 1 commit
    • Stepan Salenikovich's avatar
      do not abort when daemon not found · 541a40ab
      Stepan Salenikovich authored
      Calling g_error when the daemon cannot be connected to causes an
      abort() and a core dump. g_error() should not be used for expected
      errors, as per the doc. We use exit() instead to quit the application
      in a cleaner way.
      
      Change-Id: I227f19220db2146075cfe3d8eb44eda5f8b0d128
      Tuleap: #892
      541a40ab
  11. 15 Aug, 2016 1 commit
    • Stepan Salenikovich's avatar
      avatar: fix black camera image · 1c1b0d8a
      Stepan Salenikovich authored
      On some systems, when opening the camera to take a new picture for
      the avatar, the result is a black image. The log also outputs
      "bad dawable". It seems the VideoWidget doesn't like being a page
      directly in a GtkStack. Instead we put it in a GtkFrame which does
      not get destroyed. This seems to fix the issue.
      
      Change-Id: Ia3796ad3b3f02947619c2b0ba57ad4b54e30552e
      Tuleap: #840
      1c1b0d8a
  12. 12 Aug, 2016 1 commit
  13. 03 Aug, 2016 1 commit
    • Stepan Salenikovich's avatar
      improve avatar manipulation · ae92efd6
      Stepan Salenikovich authored
      Changes interface to mimick the one in Gnome Contacts:
      - no more trash or export buttons
      - the first choice is to take a photo or import
      - adds return/undo buttons during selection process
      
      Change-Id: I432f4bad48c1379f6fb26569edea32a24cbb98e9
      Tuleap: #840
      ae92efd6
  14. 27 Jul, 2016 1 commit
  15. 22 Jul, 2016 2 commits
    • Stepan Salenikovich's avatar
      use libnm-glib instead of libnm · 28ca3174
      Stepan Salenikovich authored
      libnm is too new and is not in all of the distros that we still
      support (eg: ubuntu 14.04). We can use libnm-glib instead. libnm
      is just an API improvement to libnm-glib; since we don't use many
      features of this library almost no changes are required in the code.
      
      Change-Id: Ic40e7e26a91b91f3d104c68e8f60e945f1731fc3
      Tuleap: #845
      28ca3174
    • Stepan Salenikovich's avatar
      monitor network status using libnm · 472c9050
      Stepan Salenikovich authored
      We monitor the primary connected network and notify the daemon when
      it changes so that it can re-establish account connections.
      
      This functionality is achieved using libnm, thus libnm is added as
      an optional dependency.
      
      Change-Id: I60233801c13740619b2e6473f5bc6d17901d7bf3
      Tuleap: #845
      472c9050
  16. 15 Jul, 2016 1 commit
  17. 11 Jul, 2016 1 commit
  18. 07 Jul, 2016 2 commits
    • Stepan Salenikovich's avatar
      systray icon: fix icon menu in Unity · 9717736b
      Stepan Salenikovich authored
      For some reason Unity doesn't like the GtkMenu which is built
      from the GMenuModel from a .ui file. This patch creates the menu
      via code and fixes these issues in the status icon menu in Unity:
      - the "Show Ring" checkbox is not consistent when the window is
        closed via the 'x'
      - the 'Quit' menu item was being rendered with a checkbox
      
      Change-Id: I9fe488a88c881ac795b93e88f4925096a4acf361
      Tuleap: #370
      9717736b
    • Stepan Salenikovich's avatar
      accountview: add account import/export · bdb0ecdf
      Stepan Salenikovich authored
      Allows user to export a selected account and import
      from an archive. For now the interface only allows the
      selection of one account for export. Multi-account selection
      can be added later.
      
      Change-Id: I1ac46c695b335cbdc5b2cee2ea6abee618ba9c3b
      Tuleap: #617
      bdb0ecdf
  19. 04 Jul, 2016 1 commit
  20. 30 Jun, 2016 1 commit
  21. 23 Jun, 2016 1 commit
  22. 22 Jun, 2016 1 commit
    • Stepan Salenikovich's avatar
      fix restore main window state regression · 3f27dc9d
      Stepan Salenikovich authored
      A regression was introduced by 982b2883
      causing the main window to always be hidden when launching with the '-r'
      option to restore the previous window state (visible or hidden). This
      patch fixes this bug.
      
      Change-Id: I16ef616eb53b76db39ddf953f3cc395ec5e89d7d
      Tuleap: #370
      3f27dc9d
  23. 20 Jun, 2016 1 commit
    • Stepan Salenikovich's avatar
      Add Ring systray icon · 982b2883
      Stepan Salenikovich authored
      This adds an icon in the notification areas (systray) by default.
      The icon also has a popup menu which allows the user to show or hide
      the main widow and to quit Ring.
      
      It uses 2 systray icon implementations:
      - AppIndicator from Canonical
      - GtkStatusIcon from Gtk, but deprecated
      
      A CMakeLists option is added "USE_APPINDICATOR" and is ON by default.
      However this adds a dependency on appindicator3-0.1. If the option is
      set to OFF or the dependency is not found then we fallback on using
      GtkStatusIcon.
      
      AppIndicator is prefered so that the status icon appears for Unity
      users, as unity does not support GtkStatusIcon by default.
      
      Additionaly, the GSettings schema has been modified slightly. The
      general Ring settings menu also now says has the option "Show Ring
      icon in the notification area (systray)" instead of of "Hide Ring
      on close instead of quitting". This mimics other gtk app behavior,
      such as Transmission. When the systray is enabled, closing the main
      window will not quit Ring. When the systray is disabled closing the
      main window will quit Ring so that it doesn't continue to run
      withou the user being aware.
      
      Tuleap: #370
      Change-Id: I9f5c2811e135d20b0b6c81ab4a80be748f6a1be3
      982b2883
  24. 08 Jun, 2016 2 commits
  25. 07 Jun, 2016 1 commit
    • Stepan Salenikovich's avatar
      account wizard: make sure VideoWidget is destroyed · 419414c1
      Stepan Salenikovich authored
      Destroy the AvatarManipulation widget once 'next' is clicked to
      ensure the VideoWidget inside is destroyed as we don't want more
      than one VideoWidget at a time to be instantiated or else "bad things"
      will happen.
      
      Tuleap: #532
      Change-Id: I59c3913b541ea639a3f4ac23214049c0cc3b120a
      419414c1
  26. 06 Jun, 2016 1 commit
    • aviau's avatar
      Include cmath in avatarmanipulation.cpp · 61b71183
      aviau authored
      On some environments, not including cmath would result in the following
      error message:
       - ‘sqrt’ was not declared in this scope
      
      Change-Id: Ic69bdbf3c73e05fd676be4613dfb1fc27dbf52d3
      Tuleap: #761
      61b71183