implement new conversation list

This patch is an implementation of the conversation list using the
conversation model recently introduced in LRC.
 - Unused HistoryVC and PersonsVC are removed from the code base as we
   are switching to a one list design.
 - Setting a conversation model on SmartListVC switches the displayed
   list.
 - Actions such as selecting a conversation, double clicking, call
   button and searching are also implemented (from the LRC point of
   view which may not yet be visible for user as of this patch).
 - As the new view is based on NSTableView rather than NSOutlineView,
   a RingTableView class is introduced based on RingOutlineView code.
 - The call button at the right of the search field is removed.

Change-Id: I668f102f435048d3c85efd22d1ab31b395139215
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
13 files changed
tree: 8340308c2fe6c6bd341a46bc5c0f23c4bb23e1cb
  1. .tx/
  2. cmake/
  3. data/
  4. sparkle/
  5. src/
  6. ui/
  7. .gitignore
  8. .gitmodules
  9. .gitreview
  10. CMakeLists.txt
  11. COPYING
  12. Credits.rtf
  13. generate-string.sh
  14. README.md
  15. update-translations.sh
README.md

Ring Mac OSX


This is the official Mac port of Ring.

For more information about the ring project, see the following:

AppCIPackaging
Download from ring.cxBuild StatusBuild Status

Requirements

  • Ring daemon
  • libRingClient (Qt5 version)
  • Qt5 Core
  • Cocoa framework

Build instructions

Build Sparkle framework (optional)

Ring can ship with the Sparkle framework to allow automatic app updates. This can be disabled for your custom build by specifying -DENABLE_SPARKLE=false in the cmake phase.

  1. cd sparkle/
  2. git submodule update
  3. cd Sparkle/
  4. make release
  5. A Finder window will popup in the directory where Sparkle has been built. Copy-paste the Sparkle.framework in sparkle/ in our project, or in /Library/Frameworks on your system.

Build Client

  1. mkdir build && cd build

  2. export CMAKE_PREFIX_PATH=<dir_to_qt5>

Now generate an Xcode project with CMake: 3. cmake ../ -DCMAKE_INSTALL_PREFIX=<libringclient_install_path> -G Xcode 4. open Ring.xcodeproj/ 5. Build and run it from Xcode. You can also generate the final Ring.app bundle.

You can also build it from the command line:

  1. cmake ../ -DCMAKE_INSTALL_PREFIX=<libringclient_install_path>
  2. make
  3. open Ring.app/

If you want to create the final app (self-containing .dmg):

  1. make install
  2. cpack -G DragNDrop Ring

Notes:

By default the client version is specified in CMakeLists.txt but it can be overriden by specifying -DRING_VERSION=<num> in the cmake command line.

You can specify a custom ringtone folder containing audio files (only) with -DRINGTONE_DIR option

Debugging

For now, the build type of the client is "Debug" by default, however it is useful to also have the debug symbols of libRingClient. To do this, specify this when compiling libRingClient with '-DCMAKE_BUILD_TYPE=Debug' in the cmake options.