aboutsummaryrefslogtreecommitdiff
path: root/src/conversation/gnunet-conversation-gtk_egos.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-06-04 12:45:58 +0000
committerChristian Grothoff <christian@grothoff.org>2014-06-04 12:45:58 +0000
commit07d01a27d110ccccd94b7b005b7fd7067bab745f (patch)
treeabb0a9a28dd31b6c5266803ccd4ffb3b79d644cc /src/conversation/gnunet-conversation-gtk_egos.c
parent1e5b178f6e1109c53eecc7fad38137f345d35b78 (diff)
downloadgnunet-gtk-07d01a27d110ccccd94b7b005b7fd7067bab745f.tar.gz
gnunet-gtk-07d01a27d110ccccd94b7b005b7fd7067bab745f.zip
-implement COPY button
Diffstat (limited to 'src/conversation/gnunet-conversation-gtk_egos.c')
-rw-r--r--src/conversation/gnunet-conversation-gtk_egos.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/conversation/gnunet-conversation-gtk_egos.c b/src/conversation/gnunet-conversation-gtk_egos.c
index 4c4d4a2f..4646f6e4 100644
--- a/src/conversation/gnunet-conversation-gtk_egos.c
+++ b/src/conversation/gnunet-conversation-gtk_egos.c
@@ -175,7 +175,33 @@ void
175gnunet_conversation_gtk_ego_copy_button_clicked_cb (GtkButton *button, 175gnunet_conversation_gtk_ego_copy_button_clicked_cb (GtkButton *button,
176 gpointer user_data) 176 gpointer user_data)
177{ 177{
178 GNUNET_break (0); // FIXME: not implemented 178 struct GNUNET_IDENTITY_Ego *ego;
179 const gchar *label;
180 const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv;
181 struct GNUNET_CRYPTO_EcdsaPublicKey pub;
182 const char *zkey;
183 char *uri;
184 GtkClipboard *cb;
185
186 label = gtk_entry_get_text (GTK_ENTRY
187 (GCG_get_main_window_object
188 ("gnunet_conversation_gtk_ego_label_entry")));
189 GNUNET_break ( (NULL != label) &&
190 (0 != strlen (label)) );
191 ego = GCG_EGOS_get_selected_ego ();
192 GNUNET_break (NULL != ego);
193 priv = GNUNET_IDENTITY_ego_get_private_key (ego);
194 GNUNET_CRYPTO_ecdsa_key_get_public (priv,
195 &pub);
196 zkey = GNUNET_GNSRECORD_pkey_to_zkey (&pub);
197 GNUNET_asprintf (&uri,
198 "gnunet://gns/%s.%s/",
199 label,
200 zkey);
201 cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
202 gtk_clipboard_set_text (cb, uri, -1);
203 gtk_clipboard_store (cb);
204 GNUNET_free (uri);
179} 205}
180 206
181 207