anastasis-gtk_handle-core-secret-name-changed.c (2102B)
1 /* 2 This file is part of anastasis-gtk. 3 Copyright (C) 2020 Anastasis SARL 4 5 Anastasis is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published 7 by the Free Software Foundation; either version 3, or (at your 8 option) any later version. 9 10 Anastasis is distributed in the hope that it will be useful, but 11 WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with Anastasis; see the file COPYING. If not, write to the 17 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 Boston, MA 02110-1301, USA. 19 */ 20 /** 21 * @file src/anastasis/anastasis-gtk_handle-core-secret-name-changed.c 22 * @brief The user changed the name of the core secret. Update state. 23 * @author Christian Grothoff 24 */ 25 #include <gnunet/gnunet_util_lib.h> 26 #include "anastasis-gtk_helper.h" 27 #include "anastasis-gtk_action.h" 28 #include "anastasis-gtk_attributes.h" 29 #include "anastasis-gtk_handle-identity-changed.h" 30 #include "anastasis-gtk_handle-expiration-change.h" 31 #include <jansson.h> 32 33 34 void 35 anastasis_gtk_enter_secret_name_entry_changed_cb (GtkEditable *entry, 36 gpointer user_data) 37 { 38 GtkEntry *ne = GTK_ENTRY (entry); 39 const char *name = gtk_entry_get_text (ne); 40 json_t *arguments; 41 42 if (AG_in_action) 43 return; 44 arguments = GNUNET_JSON_PACK ( 45 GNUNET_JSON_pack_string ("name", 46 name)); 47 AG_freeze (); 48 AG_in_secret_name_editing = true; 49 AG_ra = ANASTASIS_redux_action (AG_redux_state, 50 "enter_secret_name", 51 arguments, 52 &AG_action_cb, 53 NULL); 54 GNUNET_break (NULL == AG_ra); 55 AG_focus ("anastasis_gtk_secret_name_entry"); 56 AG_in_secret_name_editing = false; 57 json_decref (arguments); 58 }