[empathy: 13/16] Set the user action time when the user approves stuff
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 13/16] Set the user action time when the user approves stuff
- Date: Tue, 4 May 2010 12:23:29 +0000 (UTC)
commit da5288f52ae5af2100caff3fe80dd981d2333d32
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date: Tue May 4 11:49:05 2010 +0100
Set the user action time when the user approves stuff
libempathy/empathy-dispatch-operation.c | 10 ++++++++++
libempathy/empathy-dispatch-operation.h | 4 ++++
src/empathy-event-manager.c | 19 +++++++++++++++++++
3 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/libempathy/empathy-dispatch-operation.c b/libempathy/empathy-dispatch-operation.c
index 6c5fa38..0801388 100644
--- a/libempathy/empathy-dispatch-operation.c
+++ b/libempathy/empathy-dispatch-operation.c
@@ -702,6 +702,16 @@ empathy_dispatch_operation_is_incoming (EmpathyDispatchOperation *operation)
return priv->incoming;
}
+void
+empathy_dispatch_operation_set_user_action_time (
+ EmpathyDispatchOperation *self,
+ gint64 user_action_time)
+{
+ EmpathyDispatchOperationPriv *priv = GET_PRIV (self);
+
+ priv->user_action_time = user_action_time;
+}
+
gint64
empathy_dispatch_operation_get_user_action_time (EmpathyDispatchOperation *self)
{
diff --git a/libempathy/empathy-dispatch-operation.h b/libempathy/empathy-dispatch-operation.h
index 3e7bc92..f199be5 100644
--- a/libempathy/empathy-dispatch-operation.h
+++ b/libempathy/empathy-dispatch-operation.h
@@ -118,6 +118,10 @@ EmpathyDispatchOperationState empathy_dispatch_operation_get_status (
gboolean empathy_dispatch_operation_is_incoming (
EmpathyDispatchOperation *operation);
+void empathy_dispatch_operation_set_user_action_time (
+ EmpathyDispatchOperation *self,
+ gint64 user_action_time);
+
gint64 empathy_dispatch_operation_get_user_action_time (
EmpathyDispatchOperation *self);
diff --git a/src/empathy-event-manager.c b/src/empathy-event-manager.c
index c4ab4ad..a7da44f 100644
--- a/src/empathy-event-manager.c
+++ b/src/empathy-event-manager.c
@@ -228,6 +228,12 @@ event_manager_add (EmpathyEventManager *manager,
static void
event_channel_process_func (EventPriv *event)
{
+ gint64 timestamp = gtk_get_current_event_time ();
+ if (timestamp == GDK_CURRENT_TIME)
+ timestamp = G_MAXINT64;
+
+ empathy_dispatch_operation_set_user_action_time (event->approval->operation,
+ timestamp);
empathy_dispatch_operation_approve (event->approval->operation);
}
@@ -235,6 +241,12 @@ static void
event_text_channel_process_func (EventPriv *event)
{
EmpathyTpChat *tp_chat;
+ gint64 timestamp = gtk_get_current_event_time ();
+ if (timestamp == GDK_CURRENT_TIME)
+ timestamp = G_MAXINT64;
+
+ empathy_dispatch_operation_set_user_action_time (event->approval->operation,
+ timestamp);
if (event->approval->handler != 0)
{
@@ -527,6 +539,7 @@ invite_dialog_response_cb (GtkDialog *dialog,
TpChannel *channel;
TpHandle self_handle;
GArray *members;
+ gint64 timestamp;
gtk_widget_destroy (GTK_WIDGET (approval->dialog));
approval->dialog = NULL;
@@ -556,6 +569,12 @@ invite_dialog_response_cb (GtkDialog *dialog,
tp_cli_channel_interface_group_call_add_members (channel, -1, members,
"", NULL, NULL, NULL, NULL);
+ timestamp = gtk_get_current_event_time ();
+ if (timestamp == GDK_CURRENT_TIME)
+ timestamp = G_MAXINT64;
+
+ empathy_dispatch_operation_set_user_action_time (approval->operation,
+ timestamp);
empathy_dispatch_operation_approve (approval->operation);
g_array_free (members, TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]