From 6e9c8986a5f173e30a47071a0969fb61a0fc560d Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 3 Dec 2012 10:08:28 +0000 Subject: -more cleanup, getting ready for edit dialogs --- src/setup/gnunet-setup-gns.c | 65 ++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/src/setup/gnunet-setup-gns.c b/src/setup/gnunet-setup-gns.c index 551ea74c..d359796b 100644 --- a/src/setup/gnunet-setup-gns.c +++ b/src/setup/gnunet-setup-gns.c @@ -1100,8 +1100,34 @@ remove_records_by_path (const gchar *path) static void edit_selected_row (int old_record_in_namestore) { - // FIXME + GtkTreeSelection *sel; + GtkTreeIter it; + gchar *n_name; + gint n_type; + gboolean n_public; + guint64 n_exp_time; + gboolean n_is_relative; + gchar *n_value; + + sel = gtk_tree_view_get_selection (tv); + if (! gtk_tree_selection_get_selected (sel, NULL, &it)) + { + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "No row selected\n"); + return; + } + gtk_tree_model_get (tm, &it, + GNS_TREESTORE_COL_NAME, &n_name, + GNS_TREESTORE_COL_RECORD_TYPE, &n_type, + GNS_TREESTORE_COL_IS_PUBLIC, &n_public, + GNS_TREESTORE_COL_EXP_TIME, &n_exp_time, + GNS_TREESTORE_COL_EXP_TIME_IS_REL, &n_is_relative, + GNS_TREESTORE_COL_VAL_AS_STR, &n_value, + -1); + // FIXME - implement... GNUNET_break (0); + g_free (n_name); + g_free (n_value); } @@ -1340,22 +1366,21 @@ GNUNET_setup_gns_name_cellrenderertext_edited_cb (GtkCellRendererText *renderer, static gboolean create_popup_menu () { - GtkTreeModel *tm; GtkTreeIter it; GtkMenu *popup; - GtkTreeSelection * ts; + GtkTreeSelection *sel; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Considering creating popup menu...\n"); - ts = gtk_tree_view_get_selection (tv); - if (! gtk_tree_selection_get_selected (ts, &tm, &it)) + sel = gtk_tree_view_get_selection (tv); + if (! gtk_tree_selection_get_selected (sel, NULL, &it)) { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "No row selected\n"); return FALSE; } popup = GTK_MENU (GNUNET_SETUP_get_object ("GNUNET_setup_gns_delete_popup_menu")); - gtk_widget_show_all (GTK_WIDGET(popup)); + gtk_widget_show_all (GTK_WIDGET (popup)); gtk_menu_popup (popup, NULL, NULL, NULL, NULL, 0, 0); return TRUE; } @@ -1386,15 +1411,16 @@ static void delete_selected_row () { GtkTreeIter it; - GtkTreeModel *tm; - GtkTreeSelection * ts; + GtkTreeSelection *sel; int not_dummy; char *path; - ts = gtk_tree_view_get_selection(tv); - if (! gtk_tree_selection_get_selected (ts, &tm, &it)) + sel = gtk_tree_view_get_selection(tv); + if (! gtk_tree_selection_get_selected (sel, NULL, &it)) return; /* nothing selected */ - gtk_tree_model_get(tm, &it, GNS_TREESTORE_COL_NOT_DUMMY_ROW, ¬_dummy, -1); + gtk_tree_model_get (tm, &it, + GNS_TREESTORE_COL_NOT_DUMMY_ROW, ¬_dummy, + -1); if (GNUNET_NO == not_dummy) return; /* do not delete the dummy line */ path = gtk_tree_model_get_string_from_iter (tm, &it); @@ -1437,7 +1463,7 @@ GNUNET_setup_calendar_dialog_response_cb (GtkDialog *dialog, GtkTreeIter it; GtkTreeIter parent; GtkCellRendererText *renderer; - GtkTreeSelection * ts; + GtkTreeSelection *sel; gboolean has_parent; char *path; int not_dummy; @@ -1464,8 +1490,8 @@ GNUNET_setup_calendar_dialog_response_cb (GtkDialog *dialog, GNUNET_STRINGS_fancy_time_to_absolute (fancydate, &atime)); gndate = GNUNET_STRINGS_absolute_time_to_string (atime); - ts = gtk_tree_view_get_selection(tv); - if (gtk_tree_selection_get_selected (ts, &tm, &it)) + sel = gtk_tree_view_get_selection (tv); + if (gtk_tree_selection_get_selected (sel, NULL, &it)) { gtk_tree_model_get (tm, &it, GNS_TREESTORE_COL_NOT_DUMMY_ROW, ¬_dummy, @@ -1504,7 +1530,7 @@ GNUNET_setup_gns_popup_cal_button_activate_cb (GtkWidget *widget, { GtkBuilder *builder; GtkWindow *dialog; - GtkTreeSelection * tsel; + GtkTreeSelection *sel; gboolean has_parent; int not_dummy; guint64 et; @@ -1515,8 +1541,8 @@ GNUNET_setup_gns_popup_cal_button_activate_cb (GtkWidget *widget, time_t tp; struct tm *ymd; - tsel = gtk_tree_view_get_selection(tv); - if (! gtk_tree_selection_get_selected (tsel, &tm, &it)) + sel = gtk_tree_view_get_selection (tv); + if (! gtk_tree_selection_get_selected (sel, NULL, &it)) return; gtk_tree_model_get (tm, &it, GNS_TREESTORE_COL_NOT_DUMMY_ROW, ¬_dummy, @@ -1884,7 +1910,6 @@ zone_iteration_proc (void *cls, GNUNET_free (type_str); GNUNET_free (val); } - GNUNET_NAMESTORE_zone_iterator_next (zc_ctx->it); } @@ -1933,7 +1958,6 @@ zone_key_loaded_callback (void *cls, gtk_label_set_markup (GTK_LABEL (GNUNET_SETUP_get_object ("GNUNET_setup_gns_zone_label")), label); g_free (label); - /* Load zone from namestore! */ /* Append a top level row and leave it empty */ gtk_tree_store_insert_with_values (ts, &toplevel, NULL, 0, GNS_TREESTORE_COL_NAME, _(NEW_NAME_STR), @@ -1942,6 +1966,7 @@ zone_key_loaded_callback (void *cls, GNS_TREESTORE_COL_IS_RECORD_ROW, FALSE, GNS_TREESTORE_COL_NOT_DUMMY_ROW, FALSE, -1); + /* Load zone from namestore! */ zc_ctx->zone = zone; zc_ctx->it = GNUNET_NAMESTORE_zone_iteration_start (namestore, &zone, GNUNET_NAMESTORE_RF_RELATIVE_EXPIRATION, @@ -2093,7 +2118,7 @@ GNUNET_SETUP_gns_init () } ts = GTK_TREE_STORE (GNUNET_SETUP_get_object ("GNUNET_setup_gns_treestore")); tv = GTK_TREE_VIEW (GNUNET_SETUP_get_object ("GNUNET_setup_gns_main_treeview")); - tm = GTK_TREE_MODEL(ts); + tm = GTK_TREE_MODEL (ts); load_zone ("ZONEKEY"); } -- cgit v1.2.3