gnome: add contacts treeview

Added dependency on libebook1.2-dev in order to fetch
contacts using evolution-data-server.

Contacts from enabled addressbooks are shown in contacts
tree view with photos (if available). The same image is
also shown in the call views.

Double clicking on a contact method should call that
contact.

Refs #69856

Change-Id: I6bd394a1fa23f6e62dd6e0017bff5050584538f8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ed4825..3fe622c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,6 +54,7 @@
 PKG_CHECK_MODULES(CLUTTER REQUIRED clutter-1.0)
 PKG_CHECK_MODULES(CLUTTERGTK REQUIRED clutter-gtk-1.0)
 PKG_CHECK_MODULES(ICONSYMBLIC REQUIRED gnome-icon-theme-symbolic)
+PKG_CHECK_MODULES(EBOOK REQUIRED libebook-1.2>=3.10)
 
 # include libs
 INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
@@ -61,6 +62,7 @@
 INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS} )
 INCLUDE_DIRECTORIES(${CLUTTER_INCLUDE_DIRS})
 INCLUDE_DIRECTORIES(${CLUTTERGTK_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(${EBOOK_INCLUDE_DIRS})
 
 # link libs
 LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
@@ -68,6 +70,7 @@
 LINK_DIRECTORIES(${Qt5Core_LIBRARY_DIRS} )
 LINK_DIRECTORIES(${CLUTTER_LIBRARY_DIRS})
 LINK_DIRECTORIES(${CLUTTERGTK_LIBRARY_DIRS})
+LINK_DIRECTORIES(${EBOOK_LIBRARY_DIRS})
 
 # lib compiler flags
 ADD_DEFINITIONS(${GTK3_CFLAGS})
@@ -76,6 +79,7 @@
 ADD_DEFINITIONS(${Qt5Core_CFLAGS})
 ADD_DEFINITIONS(${CLUTTER_CFLAGS})
 ADD_DEFINITIONS(${CLUTTERGTK_CFLAGS})
+ADD_DEFINITIONS(${EBOOK_CFLAGS})
 
 IF(NOT ${ENABLE_STATIC} MATCHES false)
   SET(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake)
@@ -187,6 +191,10 @@
    src/dialogs.c
    src/videosettingsview.h
    src/videosettingsview.cpp
+   src/backends/edscontactbackend.h
+   src/backends/edscontactbackend.cpp
+   src/delegates/pixbufdelegate.h
+   src/delegates/pixbufdelegate.cpp
 )
 
 # compile glib resource files to c code
@@ -214,6 +222,7 @@
    ${Qt5DBus_LIBRARIES}
    ${CLUTTER_LIBRARIES}
    ${CLUTTERGTK_LIBRARIES}
+   ${EBOOK_LIBRARIES}
    -lpthread
    -lrt
    )
@@ -224,6 +233,7 @@
    ${Qt5Core_LIBRARIES}
    ${CLUTTER_LIBRARIES}
    ${CLUTTERGTK_LIBRARIES}
+   ${EBOOK_LIBRARIES}
    )
 ENDIF()