From: Artem Garmash Date: Sun, 10 Jan 2010 21:07:53 +0000 (+0200) Subject: Open conversation on message click X-Git-Url: http://git.maemo.org/git/?p=conv-inbox;a=commitdiff_plain;h=088a1f2ec81901d20535ba830133329bd29f60bb Open conversation on message click --- diff --git a/configure.ac b/configure.ac index f84d6c9..cc43586 100644 --- a/configure.ac +++ b/configure.ac @@ -21,9 +21,10 @@ AC_SUBST(hildondesktoplibdir) 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])], diff --git a/debian/control b/debian/control index a2db3dc..24de726 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Priority: extra Section: user/desktop Maintainer: Artem Garmash 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 diff --git a/src/Makefile.am b/src/Makefile.am index 7e71222..e6a7af6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,10 +3,11 @@ hildondesktoplib_LTLIBRARIES = conversations-inbox-widget.la 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 diff --git a/src/el-home-applet.c b/src/el-home-applet.c index 82388c9..4f7858e 100644 --- a/src/el-home-applet.c +++ b/src/el-home-applet.c @@ -36,6 +36,8 @@ #include #include +#include + #define EL_HOME_APPLET_GET_PRIVATE(obj) ( \ G_TYPE_INSTANCE_GET_PRIVATE (obj, \ EL_TYPE_HOME_APPLET, ELHomeAppletPrivate)) @@ -916,6 +918,35 @@ mark_as_read (ELHomeApplet *self) } } +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) { @@ -1070,7 +1101,8 @@ button_release_event_cb (GtkWidget *widget, } else { #ifndef DEBUG_LAYOUT - mark_as_read (self); + /* mark_as_read (self); */ + open_conversation (self); #endif }