gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r20467 - in gnunet-gtk: contrib src/fs src/gns


From: gnunet
Subject: [GNUnet-SVN] r20467 - in gnunet-gtk: contrib src/fs src/gns
Date: Tue, 13 Mar 2012 10:00:24 +0100

Author: grothoff
Date: 2012-03-13 10:00:23 +0100 (Tue, 13 Mar 2012)
New Revision: 20467

Added:
   gnunet-gtk/contrib/gnunet_gns_gtk_zone_open.glade
Modified:
   gnunet-gtk/contrib/Makefile.am
   gnunet-gtk/src/fs/gnunet-fs-gtk_open-directory.c
   gnunet-gtk/src/gns/gnunet-gns-gtk.c
Log:
-fixing zone open dialog skeleton

Modified: gnunet-gtk/contrib/Makefile.am
===================================================================
--- gnunet-gtk/contrib/Makefile.am      2012-03-12 17:38:42 UTC (rev 20466)
+++ gnunet-gtk/contrib/Makefile.am      2012-03-13 09:00:23 UTC (rev 20467)
@@ -31,6 +31,7 @@
   gnunet_fs_gtk_progress_dialog.glade \
   gnunet_gns_gtk_about_window.glade \
   gnunet_gns_gtk_main_window.glade \
+  gnunet_gns_gtk_zone_open.glade \
   gnunet_gtk_status_bar_menu.glade \
   gnunet_peerinfo_gtk_about_window.glade \
   gnunet_peerinfo_gtk_main_window.glade \

Added: gnunet-gtk/contrib/gnunet_gns_gtk_zone_open.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_gns_gtk_zone_open.glade                           
(rev 0)
+++ gnunet-gtk/contrib/gnunet_gns_gtk_zone_open.glade   2012-03-13 09:00:23 UTC 
(rev 20467)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkFileFilter" id="GNUNET_GNS_GTK_zone_open_filefilter">
+    <patterns>
+      <pattern>*.zkey</pattern>
+    </patterns>
+  </object>
+  <object class="GtkFileChooserDialog" 
id="GNUNET_GNS_GTK_zone_open_filechooserdialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Open zone file...</property>
+    <property name="type_hint">dialog</property>
+    <property name="filter">GNUNET_GNS_GTK_zone_open_filefilter</property>
+    <signal name="response" 
handler="GNUNET_GNS_GTK_zone_open_dialog_response_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" 
id="GNUNET_GNS_GTK_zone_open_filechooserdialog-vbox">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" 
id="GNUNET_GNS_GTK_zone_open_filechooserdialog-action_area">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" 
id="GNUNET_GNS_GTK_zone_open_cancel_button">
+                <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" 
id="GNUNET_GNS_GTK_zone_open_ok_button">
+                <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget 
response="-6">GNUNET_GNS_GTK_zone_open_cancel_button</action-widget>
+      <action-widget 
response="-5">GNUNET_GNS_GTK_zone_open_ok_button</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: gnunet-gtk/src/fs/gnunet-fs-gtk_open-directory.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk_open-directory.c    2012-03-12 17:38:42 UTC 
(rev 20466)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk_open-directory.c    2012-03-13 09:00:23 UTC 
(rev 20467)
@@ -123,7 +123,7 @@
   acc.filename = filename;
   acc.sr = NULL;
   GNUNET_FS_GTK_mmap_and_scan (filename, &add_child, &acc);
-  g_free (filename);
+  GNUNET_free (filename);
 }
 
 

Modified: gnunet-gtk/src/gns/gnunet-gns-gtk.c
===================================================================
--- gnunet-gtk/src/gns/gnunet-gns-gtk.c 2012-03-12 17:38:42 UTC (rev 20466)
+++ gnunet-gtk/src/gns/gnunet-gns-gtk.c 2012-03-13 09:00:23 UTC (rev 20467)
@@ -61,7 +61,7 @@
  */
 static char *zonefile_directory;
 
-GtkWidget *main_window;
+static GtkWidget *main_window;
 
 /**
  * Get cfg.
@@ -129,7 +129,39 @@
   GNUNET_break (0); // FIXME, not implemented
 }
 
+
 /**
+ * Function called from the open-directory dialog upon completion.
+ *
+ * @param dialog the pseudonym selection dialog
+ * @param response_id response code from the dialog
+ * @param user_data the builder of the dialog
+ */
+void
+GNUNET_GNS_GTK_zone_open_dialog_response_cb (GtkDialog * dialog,
+                                            gint response_id,
+                                            gpointer user_data)
+{
+  GtkBuilder *builder = user_data;
+  char *filename;
+
+  if (GTK_RESPONSE_OK != response_id)
+  {
+    gtk_widget_destroy (GTK_WIDGET (dialog));
+    g_object_unref (G_OBJECT (builder));
+    return;
+  }
+  filename = GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER 
(dialog));
+  gtk_widget_destroy (GTK_WIDGET (dialog));
+  g_object_unref (G_OBJECT (builder));
+
+  /* FIXME: move to new zone 'filename' */
+  fprintf (stderr, "Got zone `%s'\n", filename);
+  GNUNET_free (filename);  
+}
+
+
+/**
  * The user selected 'OPEN' in the menu.  Open a dialog to select
  * a different zonefile (for editing).
  *
@@ -140,45 +172,23 @@
 GNUNET_GNS_GTK_open_imagemenuitem_activate_cb (GtkMenuItem *menuitem,
                                               gpointer user_data)
 {
-  GtkWidget *dialog;
-  dialog = gtk_file_chooser_dialog_new ("Open zone file...",
-                                        main_window,
-                                        GTK_FILE_CHOOSER_ACTION_OPEN,
-                                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                        GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
-                                        NULL);
-  if (NULL != zonefile_directory)
-    gtk_file_chooser_set_current_folder (dialog, zonefile_directory);
-  if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+  GtkWidget *ad;
+  GtkBuilder *builder;
+  GtkWidget *toplevel;
+
+  builder =
+    GNUNET_GTK_get_new_builder ("gnunet_gns_gtk_zone_open.glade", NULL);
+  if (NULL == builder)
   {
-    char *filename;
-    filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                _("Opening `%s'\n"), filename);
-    if (NULL != zone_pkey)
-    {
-      GNUNET_CRYPTO_rsa_key_free(zone_pkey);
-      zone_pkey = GNUNET_CRYPTO_rsa_key_create_from_file(filename);
-      if (NULL == zone_pkey)
-      {
-        GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                    _("Not a valid zone file `%s'\n"), filename);
-
-        GtkWidget *err_dialog;
-        err_dialog = gtk_message_dialog_new (main_window,
-                                         GTK_DIALOG_DESTROY_WITH_PARENT,
-                                         GTK_MESSAGE_ERROR,
-                                         GTK_BUTTONS_CLOSE,
-                                         _("Error loading file '%s':\n not a 
valid zone file"),
-                                         filename);
-        gtk_dialog_run (GTK_DIALOG (err_dialog));
-        gtk_widget_destroy (err_dialog);
-      }
-      //if (zone_pkey = GNUNET_CRYPTO_rsa_key_create_from_file (keyfile);)
-    }
-    g_free (filename);
+    GNUNET_break (0);
+    return;
   }
-  gtk_widget_destroy (dialog);
+  ad = GTK_WIDGET (gtk_builder_get_object
+                   (builder, "GNUNET_GNS_GTK_zone_open_filechooserdialog"));
+  toplevel = gtk_widget_get_toplevel (menuitem);
+  if (GTK_IS_WINDOW (toplevel))
+    gtk_window_set_transient_for (GTK_WINDOW (ad), GTK_WINDOW (toplevel));
+  gtk_window_present (GTK_WINDOW (ad));
 }
 
 




reply via email to

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