gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r33512 - gnunet-gtk/src/conversation


From: gnunet
Subject: [GNUnet-SVN] r33512 - gnunet-gtk/src/conversation
Date: Wed, 4 Jun 2014 14:45:58 +0200

Author: grothoff
Date: 2014-06-04 14:45:58 +0200 (Wed, 04 Jun 2014)
New Revision: 33512

Modified:
   gnunet-gtk/src/conversation/gnunet-conversation-gtk_egos.c
   gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c
Log:
-implement COPY button

Modified: gnunet-gtk/src/conversation/gnunet-conversation-gtk_egos.c
===================================================================
--- gnunet-gtk/src/conversation/gnunet-conversation-gtk_egos.c  2014-06-04 
12:20:13 UTC (rev 33511)
+++ gnunet-gtk/src/conversation/gnunet-conversation-gtk_egos.c  2014-06-04 
12:45:58 UTC (rev 33512)
@@ -175,7 +175,33 @@
 gnunet_conversation_gtk_ego_copy_button_clicked_cb (GtkButton *button,
                                                    gpointer user_data)
 {
-  GNUNET_break (0); // FIXME: not implemented
+  struct GNUNET_IDENTITY_Ego *ego;
+  const gchar *label;
+  const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv;
+  struct GNUNET_CRYPTO_EcdsaPublicKey pub;
+  const char *zkey;
+  char *uri;
+  GtkClipboard *cb;
+
+  label = gtk_entry_get_text (GTK_ENTRY
+                              (GCG_get_main_window_object
+                               ("gnunet_conversation_gtk_ego_label_entry")));
+  GNUNET_break ( (NULL != label) &&
+                 (0 != strlen (label)) );
+  ego = GCG_EGOS_get_selected_ego ();
+  GNUNET_break (NULL != ego);
+  priv = GNUNET_IDENTITY_ego_get_private_key (ego);
+  GNUNET_CRYPTO_ecdsa_key_get_public (priv,
+                                      &pub);
+  zkey = GNUNET_GNSRECORD_pkey_to_zkey (&pub);
+  GNUNET_asprintf (&uri,
+                   "gnunet://gns/%s.%s/",
+                   label,
+                   zkey);
+  cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
+  gtk_clipboard_set_text (cb, uri, -1);
+  gtk_clipboard_store (cb);
+  GNUNET_free (uri);
 }
 
 

Modified: gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c
===================================================================
--- gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c 2014-06-04 
12:20:13 UTC (rev 33511)
+++ gnunet-gtk/src/conversation/gnunet-conversation-gtk_phone.c 2014-06-04 
12:45:58 UTC (rev 33512)
@@ -1595,11 +1595,14 @@
 update_copy_sensitivity ()
 {
   const gchar *label;
+  struct GNUNET_IDENTITY_Ego *ego;
 
+  ego = GCG_EGOS_get_selected_ego ();
   label = gtk_entry_get_text (GTK_ENTRY
                               (GCG_get_main_window_object
                                ("gnunet_conversation_gtk_ego_label_entry")));
-  if ( (NULL == label) ||
+  if ( (NULL == ego) ||
+       (NULL == label) ||
        (0 == strlen (label)) )
     gtk_widget_set_sensitive (b_copy, FALSE);
   else




reply via email to

[Prev in Thread] Current Thread [Next in Thread]