anastasis-gtk

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

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


      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 "anastasis-gtk_rows.h"
     29 #include <jansson.h>
     30 
     31 
     32 /**
     33  * Callback invoked if the QR code selection changed.
     34  *
     35  * @param selection the selection of the list of payment requests
     36  * @param pspec unused
     37  * @param user_data user data set when the signal handler was connected.
     38  */
     39 void
     40 unpaid_qr_tree_selection_changed_cb (GtkSingleSelection *selection,
     41                                      GParamSpec *pspec,
     42                                      gpointer user_data)
     43 {
     44   AGRow *row;
     45   GdkClipboard *cb;
     46   GtkWidget *tv;
     47   const char *uri = "";
     48 
     49   (void) pspec;
     50   (void) user_data;
     51   tv = GTK_WIDGET (GCG_get_main_window_object ("unpaid_qr_treeview"));
     52   if (NULL == tv)
     53   {
     54     GNUNET_break (0);
     55     return;
     56   }
     57   cb = gtk_widget_get_primary_clipboard (tv);
     58   GNUNET_assert (NULL != cb);
     59   row = AG_selected (selection);
     60   if (NULL != row)
     61   {
     62     const char *url = AG_row_string (row,
     63                                      "url");
     64 
     65     if (NULL != url)
     66       uri = url;
     67   }
     68   gdk_clipboard_set_text (cb,
     69                           uri);
     70 }