From 78a47918bef9ea2180cea67155bc0fa5e834f9df Mon Sep 17 00:00:00 2001 From: Evangelos Ribeiro Tzaras Date: Wed, 13 Jan 2021 15:17:18 +0100 Subject: [PATCH] record-row: Allow copying number from context menu --- src/calls-call-record-row.c | 24 ++++++++++++++++++++++++ src/ui/call-record-row.ui | 5 +++++ 2 files changed, 29 insertions(+) diff --git a/src/calls-call-record-row.c b/src/calls-call-record-row.c index 60a0f99..b850b58 100644 --- a/src/calls-call-record-row.c +++ b/src/calls-call-record-row.c @@ -598,9 +598,30 @@ delete_call_activated (GSimpleAction *action, } +static void +copy_number_activated (GSimpleAction *action, + GVariant *parameter, + gpointer data) +{ + CallsCallRecordRow *self = CALLS_CALL_RECORD_ROW (data); + g_autofree gchar *target = NULL; + + g_object_get (G_OBJECT (self->record), + "target", &target, + NULL); + + g_return_if_fail (target); + + g_action_group_activate_action (G_ACTION_GROUP (g_application_get_default ()), + "copy-number", + g_variant_new_string (target)); +} + + static GActionEntry entries[] = { { "delete-call", delete_call_activated, NULL, NULL, NULL}, + { "copy-number", copy_number_activated, NULL, NULL, NULL}, }; @@ -627,6 +648,9 @@ calls_call_record_row_init (CallsCallRecordRow *self) act = g_action_map_lookup_action (self->action_map, "delete-call"); g_simple_action_set_enabled (G_SIMPLE_ACTION (act), TRUE); + act = g_action_map_lookup_action (self->action_map, "copy-number"); + g_simple_action_set_enabled (G_SIMPLE_ACTION (act), TRUE); + self->gesture = gtk_gesture_long_press_new (GTK_WIDGET (self->event_box)); gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (self->gesture), TRUE); g_signal_connect (self->gesture, "pressed", G_CALLBACK (long_pressed), self); diff --git a/src/ui/call-record-row.ui b/src/ui/call-record-row.ui index 6ac37aa..929d465 100644 --- a/src/ui/call-record-row.ui +++ b/src/ui/call-record-row.ui @@ -112,6 +112,11 @@ _Delete Call delete-call + + + _Copy number + copy-number +