PKG_CHECK_MODULES([LIBHILDONDESKTOP],
[libhildondesktop-1 >= 2.1.7])
-
PKG_CHECK_MODULES([LIBOSSO_ABOOK],
[libosso-abook-1.0])
+PKG_CHECK_MODULES([LIBTP_GLIB],
+ [telepathy-glib])
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [enable debugging])],
Section: user/desktop
Maintainer: Artem Garmash <artemgarmash@gmail.com>
Build-Depends: debhelper (>= 4.0.0), cdbs, autotools-dev, librtcom-eventlogger-dev,
- libhildondesktop1-dev (>= 2.1.7)
+ libhildondesktop1-dev (>= 2.1.7), libtelepathy-glib-dev
Standards-Version: 3.6.2
Package: conversations-inbox-widget
conversations_inbox_widget_la_CPPFLAGS = \
$(LIBHILDONDESKTOP_CFLAGS) \
$(LIBEVENT_LOGGER_CFLAGS) \
- $(LIBOSSO_ABOOK_CFLAGS)
+ $(LIBOSSO_ABOOK_CFLAGS) \
+ $(LIBTP_GLIB_CFLAGS)
conversations_inbox_widget_la_LDFLAGS = -module -avoid-version
-conversations_inbox_widget_la_LIBADD = $(LIBHILDONDESKTOP_LIBS) $(LIBEVENT_LOGGER_LIBS) $(LIBOSSO_ABOOK_LIBS)
+conversations_inbox_widget_la_LIBADD = $(LIBHILDONDESKTOP_LIBS) $(LIBEVENT_LOGGER_LIBS) $(LIBOSSO_ABOOK_LIBS) $(LIBTP_GLIB_LIBS)
conversations_inbox_widget_la_SOURCES = el-home-applet.c el-home-applet.h
#include <libosso-abook/osso-abook-temporary-contact-dialog.h>
#include <libosso-abook/osso-abook-account-manager.h>
+#include <telepathy-glib/interfaces.h>
+
#define EL_HOME_APPLET_GET_PRIVATE(obj) ( \
G_TYPE_INSTANCE_GET_PRIVATE (obj, \
EL_TYPE_HOME_APPLET, ELHomeAppletPrivate))
}
}
+static void
+open_conversation (ELHomeApplet *self)
+{
+ ELHomeAppletPrivate *priv = self->priv;
+ McAccount *account;
+ McAccountChannelrequestData request;
+
+ if (!(priv->remote_id && priv->local_id))
+ return;
+
+ account = osso_abook_account_manager_lookup_by_name (NULL,
+ priv->local_id);
+ if (!account)
+ return;
+
+ MC_ACCOUNT_CRD_INIT (&request);
+ MC_ACCOUNT_CRD_SET (&request, channel_type, TP_IFACE_QUARK_CHANNEL_TYPE_TEXT);
+ MC_ACCOUNT_CRD_SET (&request, target_handle_type, TP_HANDLE_TYPE_CONTACT);
+ MC_ACCOUNT_CRD_SET (&request, target_id, priv->remote_id);
+
+ mc_account_channelrequest (
+ account,
+ &request,
+ time (NULL),
+ NULL, /* handler */
+ MC_ACCOUNT_CR_FLAG_USE_EXISTING,
+ NULL, NULL, NULL, NULL);
+}
+
static gboolean
read_new_event (ELHomeApplet *self)
{
}
else {
#ifndef DEBUG_LAYOUT
- mark_as_read (self);
+ /* mark_as_read (self); */
+ open_conversation (self);
#endif
}