#define NOTIFICATION_UI_DBUS_PATH "/org/freedesktop/Telepathy/Client/NotificationUI"
#define NOTIFICATION_UI_DBUS_IFACE "com.nokia.RtcomNotificationUi"
+#define CONVERSATIONS_UI_DBUS_NAME "com.nokia.MessagingUI"
+#define CONVERSATIONS_UI_DBUS_PATH "/com/nokia/MessagingUI"
+#define CONVERSATIONS_UI_DBUS_IFACE "com.nokia.MessagingUI"
+
static const gchar *conv_services[] = {"RTCOM_EL_SERVICE_SMS",
"RTCOM_EL_SERVICE_CHAT",
NULL};
{
ELHomeAppletPrivate *priv = self->priv;
- DBusGConnection* conn;
+ DBusGConnection *conn;
GError *error;
DBusGProxy *proxy;
GPtrArray *conv_structs;
}
static void
+launch_conversations (ELHomeApplet *self)
+{
+ DBusConnection *conn;
+ DBusMessage *message;
+ DBusError error;
+
+ dbus_error_init (&error);
+ conn = hd_home_plugin_item_get_dbus_connection (HD_HOME_PLUGIN_ITEM (self),
+ DBUS_BUS_SESSION,
+ &error);
+ if (!conn) {
+ if (dbus_error_is_set (&error)) {
+ g_error ("Failed to get dbus connection %s", error.message);
+ dbus_error_free (&error);
+ }
+ return;
+ }
+
+ message = dbus_message_new_method_call (CONVERSATIONS_UI_DBUS_NAME,
+ CONVERSATIONS_UI_DBUS_PATH,
+ CONVERSATIONS_UI_DBUS_IFACE,
+ "top_application");
+ dbus_message_set_no_reply (message, TRUE);
+
+ if (dbus_connection_send (conn, message, NULL))
+ dbus_connection_flush (conn);
+ dbus_message_unref (message);
+
+ dbus_connection_close (conn);
+}
+
+static void
open_conversation (ELHomeApplet *self)
{
ELHomeAppletPrivate *priv = self->priv;
priv->active = SELECTED_FOOTER;
else
priv->active = SELECTED_BODY;
-
- gtk_widget_queue_draw (widget);
+ }
+ else {
+ priv->active = SELECTED_BODY;
}
+ gtk_widget_queue_draw (widget);
+
return TRUE;
}
switch (priv->active) {
case SELECTED_BODY:
- reset_scroll (self);
- open_conversation (self);
+ if (priv->event_id > 0) {
+ reset_scroll (self);
+ open_conversation (self);
+ }
+ else
+ launch_conversations (self);
break;
case SELECTED_HEADER: {
GtkWidget *dialog = NULL;