anastasis-gtk

Demonstrator GUI for Anastasis
Log | Files | Refs | README | LICENSE

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 }