gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r12433 - in gnunet-gtk: contrib src


From: gnunet
Subject: [GNUnet-SVN] r12433 - in gnunet-gtk: contrib src
Date: Mon, 2 Aug 2010 16:09:14 +0200

Author: grothoff
Date: 2010-08-02 16:09:14 +0200 (Mon, 02 Aug 2010)
New Revision: 12433

Added:
   gnunet-gtk/src/main_window_adv_pseudonym.c
Modified:
   gnunet-gtk/contrib/advertise_pseudonym_dialog.glade
   gnunet-gtk/src/Makefile.am
   gnunet-gtk/src/edit_publish_dialog.c
Log:
adv pseudonym dialogs

Modified: gnunet-gtk/contrib/advertise_pseudonym_dialog.glade
===================================================================
--- gnunet-gtk/contrib/advertise_pseudonym_dialog.glade 2010-08-02 12:37:20 UTC 
(rev 12432)
+++ gnunet-gtk/contrib/advertise_pseudonym_dialog.glade 2010-08-02 14:09:14 UTC 
(rev 12433)
@@ -2,26 +2,22 @@
 <interface>
   <requires lib="gtk+" version="2.20"/>
   <!-- interface-naming-policy project-wide -->
-  <object class="GtkListStore" id="GNUNET_GTK_metatype_list_store">
-    <columns>
-      <!-- column-name description -->
-      <column type="gchararray"/>
-      <!-- column-name guint1 -->
-      <column type="guint"/>
-      <!-- column-name helptext -->
-      <column type="gchararray"/>
-    </columns>
+  <object class="GtkAdjustment" id="priority_adjustment">
+    <property name="upper">10000000</property>
+    <property name="value">1000</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
   </object>
-  <object class="GtkListStore" id="GNUNET_GTK_meta_data_list_store">
+  <object class="GtkAdjustment" id="GNUNET_GTK_anonymity_adjustment">
+    <property name="upper">100000</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="GNUNET_GTK_keyword_list_store">
     <columns>
-      <!-- column-name extractor_meta_type -->
-      <column type="guint"/>
-      <!-- column-name extractor_meta_format -->
-      <column type="guint"/>
-      <!-- column-name extractor_meta_type_string -->
+      <!-- column-name keyword -->
       <column type="gchararray"/>
-      <!-- column-name extracotr_meta_value -->
-      <column type="gchararray"/>
     </columns>
   </object>
   <object class="GtkDialog" id="GNUNET_GTK_advertise_pseudonym_dialog">
@@ -520,6 +516,45 @@
                     <property name="position">4</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator2">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">5</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="hbox1">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkLabel" 
id="GNUNET_GTK_advertise_pseudonym_root_label">
+                        <property name="visible">True</property>
+                        <property name="label" 
translatable="yes">_Root</property>
+                        <property name="use_underline">True</property>
+                        <property name="selectable">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" 
id="GNUNET_GTK_advertise_pseudonym_root_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">•</property>
+                        <property name="text" 
translatable="yes">root</property>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">6</property>
+                  </packing>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -582,22 +617,26 @@
       <action-widget 
response="-5">GNUNET_GTK_advertise_pseudonym_confirm_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="GNUNET_GTK_keyword_list_store">
+  <object class="GtkListStore" id="GNUNET_GTK_meta_data_list_store">
     <columns>
-      <!-- column-name keyword -->
+      <!-- column-name extractor_meta_type -->
+      <column type="guint"/>
+      <!-- column-name extractor_meta_format -->
+      <column type="guint"/>
+      <!-- column-name extractor_meta_type_string -->
       <column type="gchararray"/>
+      <!-- column-name extracotr_meta_value -->
+      <column type="gchararray"/>
     </columns>
   </object>
-  <object class="GtkAdjustment" id="GNUNET_GTK_anonymity_adjustment">
-    <property name="upper">100000</property>
-    <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
+  <object class="GtkListStore" id="GNUNET_GTK_metatype_list_store">
+    <columns>
+      <!-- column-name description -->
+      <column type="gchararray"/>
+      <!-- column-name guint1 -->
+      <column type="guint"/>
+      <!-- column-name helptext -->
+      <column type="gchararray"/>
+    </columns>
   </object>
-  <object class="GtkAdjustment" id="priority_adjustment">
-    <property name="upper">10000000</property>
-    <property name="value">1000</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
 </interface>

Modified: gnunet-gtk/src/Makefile.am
===================================================================
--- gnunet-gtk/src/Makefile.am  2010-08-02 12:37:20 UTC (rev 12432)
+++ gnunet-gtk/src/Makefile.am  2010-08-02 14:09:14 UTC (rev 12433)
@@ -20,6 +20,7 @@
   main_window_file_publish.c \
   main_window_file_search.c \
   main_window_open_directory.c \
+  main_window_adv_pseudonym.c \
   main_window_view_toggles.c \
   os_installation.c \
   peerinfo.c peerinfo.h

Modified: gnunet-gtk/src/edit_publish_dialog.c
===================================================================
--- gnunet-gtk/src/edit_publish_dialog.c        2010-08-02 12:37:20 UTC (rev 
12432)
+++ gnunet-gtk/src/edit_publish_dialog.c        2010-08-02 14:09:14 UTC (rev 
12433)
@@ -36,6 +36,7 @@
  */
 static int is_directory;
 
+
 void
 GNUNET_GTK_edit_file_information_keyword_list_normalize_button_clicked_cb ()
 {

Added: gnunet-gtk/src/main_window_adv_pseudonym.c
===================================================================
--- gnunet-gtk/src/main_window_adv_pseudonym.c                          (rev 0)
+++ gnunet-gtk/src/main_window_adv_pseudonym.c  2010-08-02 14:09:14 UTC (rev 
12433)
@@ -0,0 +1,493 @@
+/*
+     This file is part of GNUnet
+     (C) 2005, 2006, 2010 Christian Grothoff (and other contributing authors)
+
+     GNUnet is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published
+     by the Free Software Foundation; either version 2, or (at your
+     option) any later version.
+
+     GNUnet is distributed in the hope that it will be useful, but
+     WITHOUT ANY WARRANTY; without even the implied warranty of
+     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+     General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with GNUnet; see the file COPYING.  If not, write to the
+     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+     Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file src/main_window_adv_pseudonym.c
+ * @author Christian Grothoff
+ */
+#include "common.h"
+
+static GtkBuilder *builder;
+
+
+
+void
+GNUNET_GTK_advertise_pseudonym_keyword_list_normalize_button_clicked_cb ()
+{
+  GNUNET_break (0);
+}
+
+void
+GNUNET_GTK_advertise_pseudonym_keyword_list_del_button_clicked_cb ()
+{
+  GtkTreeView *tv;
+  GtkTreeSelection *sel;
+  GtkTreeModel *tm;
+  GtkTreeIter iter;
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_keyword_list_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+    {
+      GNUNET_break (0);
+      return;
+    }
+  gtk_list_store_remove (GTK_LIST_STORE (tm),
+                        &iter);
+}
+
+void
+GNUNET_GTK_advertise_pseudonym_keyword_list_add_button_clicked_cb ()
+{
+  const char *keyword;
+  GtkEntry *entry;
+  GtkListStore *ls;
+  GtkTreeIter iter;
+
+  ls = GTK_LIST_STORE (gtk_builder_get_object (builder,
+                                              
"GNUNET_GTK_keyword_list_store"));
+  entry = GTK_ENTRY (gtk_builder_get_object (builder,                          
                 
+                                            
"GNUNET_GTK_advertise_pseudonym_keyword_entry"));
+  keyword = gtk_entry_get_text (entry);
+  if (strlen (keyword) > 0)
+    gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, keyword, -1);
+  gtk_entry_set_text (entry, "");
+}
+
+
+void
+GNUNET_GTK_advertise_pseudonym_keyword_entry_changed_cb ()
+{
+  const char *keyword;
+  GtkEntry *entry;
+  GtkWidget *button;
+
+  button = GTK_WIDGET (gtk_builder_get_object (builder,                        
                         
+                                              
"GNUNET_GTK_advertise_pseudonym_keyword_list_add_button"));
+  entry = GTK_ENTRY (gtk_builder_get_object (builder,                          
                 
+                                            
"GNUNET_GTK_advertise_pseudonym_keyword_entry"));
+  keyword = gtk_entry_get_text (entry);
+  gtk_widget_set_sensitive (button,
+                           (strlen (keyword) > 0) ? TRUE : FALSE);
+}
+
+
+static void
+metadata_selection_changed_cb (GtkTreeSelection *ts,
+                              gpointer user_data)
+{
+  GtkTreeView *tv;
+  GtkTreeSelection *sel;
+  GtkWidget *button;
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_metadata_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  button = GTK_WIDGET (gtk_builder_get_object (builder,                        
                         
+                                              
"GNUNET_GTK_advertise_pseudonym_metadata_delete_button"));
+  gtk_widget_set_sensitive (button,
+                           gtk_tree_selection_get_selected (sel, NULL, NULL));
+}
+
+
+static void
+keyword_selection_changed_cb (GtkTreeSelection *ts,
+                             gpointer user_data)
+{
+  GtkTreeView *tv;
+  GtkTreeSelection *sel;
+  GtkWidget *button;
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_keyword_list_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  button = GTK_WIDGET (gtk_builder_get_object (builder,                        
                         
+                                              
"GNUNET_GTK_advertise_pseudonym_keyword_list_del_button"));
+
+  gtk_widget_set_sensitive (button,
+                           gtk_tree_selection_get_selected (sel, NULL, NULL));
+  button = GTK_WIDGET (gtk_builder_get_object (builder,                        
                         
+                                              
"GNUNET_GTK_advertise_pseudonym_keyword_list_normalize_button"));
+  gtk_widget_set_sensitive (button,
+                           gtk_tree_selection_get_selected (sel, NULL, NULL));
+}
+
+
+void
+GNUNET_GTK_advertise_pseudonym_metadata_value_entry_changed_cb ()
+{  
+  GtkTreeView *tv;
+  GtkTreeSelection *sel;
+  const char *value;
+  GtkEntry *entry;
+  GtkWidget *button;
+
+  entry = GTK_ENTRY (gtk_builder_get_object (builder,                          
                 
+                                            
"GNUNET_GTK_advertise_pseudonym_metadata_value_entry"));
+  value = gtk_entry_get_text (entry);
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_metadata_type_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  button = GTK_WIDGET (gtk_builder_get_object (builder,                        
                         
+                                              
"GNUNET_GTK_advertise_pseudonym_metadata_add_button"));  
+  gtk_widget_set_sensitive (button,
+                           (strlen (value) > 0)
+                           ? gtk_tree_selection_get_selected (sel, NULL, NULL) 
+                           : FALSE);
+}
+
+
+void
+GNUNET_GTK_advertise_pseudonym_keyword_entry_activate_cb ()
+{
+  GNUNET_GTK_advertise_pseudonym_keyword_list_add_button_clicked_cb ();
+}
+
+
+void
+GNUNET_GTK_advertise_pseudonym_metadata_preview_file_chooser_button_file_set_cb
 ()
+{
+  GNUNET_break (0);
+}
+
+void
+GNUNET_GTK_advertise_pseudonym_metadata_delete_button_clicked_cb()
+{
+  GtkTreeView *tv;
+  GtkTreeSelection *sel;
+  GtkTreeModel *tm;
+  GtkTreeIter iter;
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_metadata_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+    {
+      GNUNET_break (0);
+      return;
+    }
+  gtk_list_store_remove (GTK_LIST_STORE (tm),
+                        &iter);
+}
+
+
+void
+GNUNET_GTK_advertise_pseudonym_metadata_add_button_clicked_cb ()
+{
+  const char *value;
+  char *avalue;
+  const char *ivalue;
+  GtkEntry *entry;
+  GtkListStore *ls;
+  GtkTreeModel *tm;
+  GtkTreeView *tv;
+  GtkTreeSelection *sel;
+  GtkTreeIter iter;
+  guint type;
+  size_t slen;
+  char *pos;
+
+  entry = GTK_ENTRY (gtk_builder_get_object (builder,
+                                            
"GNUNET_GTK_advertise_pseudonym_metadata_value_entry"));
+  value = gtk_entry_get_text (entry);
+  if ((value == NULL) || (strlen (value) == 0))
+    {
+      GNUNET_break (0);
+      return;
+    }
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_metadata_type_tree_view"));
+  tm = gtk_tree_view_get_model (tv);
+  sel = gtk_tree_view_get_selection (tv);
+  if (TRUE != gtk_tree_selection_get_selected (sel,
+                                              &tm,
+                                              &iter))
+    {
+      GNUNET_break (0);
+      return;
+    }
+  gtk_tree_model_get (tm,
+                      &iter, 
+                     1, &type, -1);
+  ls = GTK_LIST_STORE (gtk_builder_get_object (builder,
+                                              
"GNUNET_GTK_meta_data_list_store"));
+  if ( (type == EXTRACTOR_METATYPE_FILENAME) &&
+       (value[strlen(value)-1] != '/') )
+    {      
+      GNUNET_asprintf (&avalue,
+                      "%s/",
+                      value);
+      /* if user typed '\' instead of '/', change it! */
+      slen = strlen (avalue);
+      while ( (slen > 1) &&
+             (avalue[slen-2] == '\\') )
+       {
+         avalue[slen-2] = '/';
+         avalue[slen-1] = '\0';
+         slen--;
+       }
+      while (NULL != (pos = strstr (avalue, "\\")))
+       *pos = '/';
+      /* remove '../' everywhere */
+      while (NULL != (pos = strstr (avalue, "../")))
+       {
+         pos[0] = '_';
+         pos[1] = '_';
+         pos[2] = '_';
+       }
+      ivalue = avalue;
+    }
+  else
+    {
+      ivalue = value;
+      avalue = NULL;
+    }
+
+  gtk_list_store_insert_with_values (ls, &iter, G_MAXINT,
+                                    0, type,
+                                    1, (guint) EXTRACTOR_METAFORMAT_UTF8,
+                                    2, EXTRACTOR_metatype_to_string (type),
+                                    3, ivalue,
+                                    -1);
+  GNUNET_free_non_null (avalue);   
+  gtk_entry_set_text (GTK_ENTRY (entry), "");
+}
+
+
+/**
+ * Callback with information about local (!) namespaces.
+ * Contains the names of the local namespace and the global
+ * ID.  Adds the to the list store.
+ *
+ * @param cls closure, the list store.
+ * @param name human-readable identifier of the namespace
+ * @param id hash identifier for the namespace
+ */
+static void
+add_to_list (void *cls,
+            const char *name,
+            const GNUNET_HashCode *id)
+{
+  GtkListStore *ls = cls;
+  GtkTreeIter iter;
+
+  gtk_list_store_insert_with_values (ls,
+                                    &iter,
+                                    -1,
+                                    0, name,
+                                    1, GNUNET_FS_namespace_create 
(GNUNET_GTK_get_fs_handle (),
+                                                                   name),
+                                    -1);
+  
+}
+
+
+static void
+selection_changed_cb (GtkTreeSelection *ts,
+                     gpointer user_data)
+{
+  GtkTreeIter iter;
+  GtkWidget *ok_button;
+  
+  ok_button = GTK_WIDGET (gtk_builder_get_object (builder,
+                                                 
"GNUNET_GTK_select_pseudonym_dialog_ok_button"));
+  if (TRUE == gtk_tree_selection_get_selected (ts, NULL, &iter))
+    gtk_widget_set_sensitive (ok_button, TRUE);
+  else
+    gtk_widget_set_sensitive (ok_button, FALSE);
+}
+
+
+
+
+
+/**
+ * Advertise pseudonym selected.
+ */
+void
+GNUNET_GTK_main_menu_file_advertise_pseudonym_activate_cb (GtkWidget * dummy, 
+                                                          gpointer data)
+{
+  GtkWidget *ad;
+  struct GNUNET_FS_Namespace *ns;
+  GtkListStore *ls;
+  GtkTreeView *tv;
+  GtkTreeIter iter;
+  GtkTreeSelection *sel;
+  GtkTreeModel *tm;
+  uint32_t anonymity_level;
+  uint32_t priority;
+  struct GNUNET_FS_Uri *nxt;
+  struct GNUNET_FS_Uri *mrg;
+  struct GNUNET_FS_Uri *uri;
+  struct GNUNET_CONTAINER_MetaData *nm;
+  struct GNUNET_TIME_Absolute expiration;
+  const char *root;
+  char *value;
+  guint ntype;  
+  guint nformat;
+
+  builder = GNUNET_GTK_get_new_builder ("select_pseudonym_dialog.glade");
+  if (builder == NULL)
+    {
+      GNUNET_break (0);     
+      return;
+    }
+  ad = GTK_WIDGET (gtk_builder_get_object (builder,
+                                          
"GNUNET_GTK_select_pseudonym_dialog"));
+  ls = GTK_LIST_STORE (gtk_builder_get_object (builder,
+                                              
"GNUNET_GTK_select_pseudonym_liststore"));
+  GNUNET_FS_namespace_list (GNUNET_GTK_get_fs_handle (),
+                           &add_to_list,
+                           ls);
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  g_signal_connect(G_OBJECT(sel), "changed", 
+                  G_CALLBACK(selection_changed_cb), NULL); 
+  if (GTK_RESPONSE_OK != gtk_dialog_run (GTK_DIALOG (ad)))
+    {
+      gtk_widget_destroy (ad);
+      g_object_unref (G_OBJECT (builder));
+      builder = NULL;
+      return;
+    }
+  GNUNET_assert (TRUE == gtk_tree_selection_get_selected (sel, 
+                                                         &tm,
+                                                         &iter));
+  gtk_tree_model_get (tm,
+                     &iter,
+                     1, &ns,
+                     -1);
+  /* FIXME: free all namespaces from list store except "ns" */
+  gtk_widget_destroy (ad);
+  g_object_unref (G_OBJECT (builder));
+  builder = NULL;
+
+
+  builder = GNUNET_GTK_get_new_builder ("advertise_pseudonym_dialog.glade");
+  if (builder == NULL)
+    {
+      GNUNET_break (0);
+      return;
+    }
+  ad = GTK_WIDGET (gtk_builder_get_object (builder,
+                                          
"GNUNET_GTK_advertise_pseudonym_dialog"));
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_metadata_type_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  g_signal_connect(G_OBJECT(sel), "changed", 
+                  
G_CALLBACK(GNUNET_GTK_advertise_pseudonym_metadata_value_entry_changed_cb), 
NULL); 
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_metadata_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  g_signal_connect(G_OBJECT(sel), "changed", 
+                  G_CALLBACK(metadata_selection_changed_cb), NULL); 
+
+  tv = GTK_TREE_VIEW (gtk_builder_get_object (builder,
+                                             
"GNUNET_GTK_advertise_pseudonym_keyword_list_tree_view"));
+  sel = gtk_tree_view_get_selection (tv);
+  g_signal_connect(G_OBJECT(sel), "changed", 
+                  G_CALLBACK(keyword_selection_changed_cb), NULL); 
+  if (GTK_RESPONSE_OK != gtk_dialog_run (GTK_DIALOG (ad)))
+    {
+      gtk_widget_destroy (ad);
+      g_object_unref (G_OBJECT (builder));
+      builder = NULL;
+      return;
+    }
+  /* get keywords from list store */
+  nxt = NULL;
+  mrg = NULL;
+  uri = NULL;
+  tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
+                                              
"GNUNET_GTK_keyword_list_store"));
+  if (TRUE ==
+      gtk_tree_model_get_iter_first (tm, &iter))
+    {
+      do
+       {
+         gtk_tree_model_get (tm, &iter,
+                             0, &value,
+                             -1);
+         nxt = GNUNET_FS_uri_ksk_create_from_args (1, (const char**) &value);
+         mrg = GNUNET_FS_uri_ksk_merge (nxt, uri);
+         GNUNET_FS_uri_destroy (nxt);
+         if (NULL != uri)
+           GNUNET_FS_uri_destroy (uri);
+         uri = mrg;
+         g_free (value);
+       }
+      while (TRUE == gtk_tree_model_iter_next (tm, &iter));
+    }
+  /* get meta */
+  nm = GNUNET_CONTAINER_meta_data_create ();
+  tm = GTK_TREE_MODEL (gtk_builder_get_object (builder,
+                                              
"GNUNET_GTK_meta_data_list_store"));
+  if (TRUE ==
+      gtk_tree_model_get_iter_first (tm, &iter))
+    {
+      do
+       {
+         gtk_tree_model_get (tm, &iter,
+                             0, &ntype,
+                             1, &nformat,
+                             3, &value,
+                             -1);
+         GNUNET_CONTAINER_meta_data_insert (nm,
+                                            "<user>",
+                                            ntype,
+                                            nformat,
+                                            "text/plain",
+                                            value,
+                                            strlen (value)+1);
+         g_free (value);
+       }
+      while (TRUE == gtk_tree_model_iter_next (tm, &iter));
+    }
+  anonymity_level = gtk_spin_button_get_value (GTK_SPIN_BUTTON 
(gtk_builder_get_object (builder,
+                                                                               
        "GNUNET_GTK_advertise_pseudonym_anonymity_spin_button")));
+  priority = gtk_spin_button_get_value (GTK_SPIN_BUTTON 
(gtk_builder_get_object (builder,
+                                                                               
 "GNUNET_GTK_advertise_pseudonym_priority_spin_button")));
+  expiration = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_YEARS);
+  root = gtk_entry_get_text (GTK_ENTRY (gtk_builder_get_object (builder,
+                                                               
"GNUNET_GTK_advertise_pseudonym_root_entry")));
+  GNUNET_FS_namespace_advertise (GNUNET_GTK_get_fs_handle (),
+                                uri,
+                                ns,
+                                nm,
+                                anonymity_level,
+                                priority,
+                                expiration,
+                                root,
+                                NULL, NULL);
+  GNUNET_CONTAINER_meta_data_destroy (nm);
+  if (NULL != uri)
+    GNUNET_FS_uri_destroy (uri);
+  gtk_widget_destroy (ad);
+  g_object_unref (G_OBJECT (builder));
+  builder = NULL;
+}
+
+
+/* end of main_window_adv_pseudonym.c */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]