anastasis-gtk

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

anastasis-gtk_handle-payqr-selection-changed.c (2066B)


      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-payqr-selection-changed.c
     22  * @brief
     23  * @author Christian Grothoff
     24  */
     25 #include <gnunet/gnunet_util_lib.h>
     26 #include "anastasis-gtk_action.h"
     27 #include "anastasis-gtk_helper.h"
     28 #include <jansson.h>
     29 
     30 
     31 /**
     32  * Callback invoked if the QR code selection changed.
     33  *
     34  * @param selection A GtkTreeSelection.
     35  * @param user_data user data set when the signal handler was connected.
     36  */
     37 void
     38 unpaid_qr_tree_selection_changed_cb (GtkTreeSelection *selection,
     39                                      gpointer user_data)
     40 {
     41   GtkTreeModel *model;
     42   GtkTreeIter iter;
     43   GtkClipboard *cb;
     44 
     45   cb = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
     46   GNUNET_assert (NULL != cb);
     47   if (gtk_tree_selection_get_selected (selection,
     48                                        &model,
     49                                        &iter))
     50   {
     51     char *uri;
     52 
     53     gtk_tree_model_get (model,
     54                         &iter,
     55                         AG_UQRMC_URL, &uri,
     56                         -1);
     57     gtk_clipboard_set_text (cb,
     58                             uri,
     59                             strlen (uri));
     60     g_free (uri);
     61   }
     62   else
     63   {
     64     gtk_clipboard_set_text (cb,
     65                             "",
     66                             0);
     67   }
     68 }