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 }