[Xfce4-commits] <midori:master> Add file filters for XBEL and Netscape to export

Christian Dywan noreply at xfce.org
Tue Feb 1 01:54:03 CET 2011


Updating branch refs/heads/master
         to 2d3aab8d8a7f7cdde75c2d8d85cfead955b30030 (commit)
       from ab7b06976976b45f24fd4a48ff45882b11f9fa3a (commit)

commit 2d3aab8d8a7f7cdde75c2d8d85cfead955b30030
Author: Christian Dywan <christian at twotoasts.de>
Date:   Tue Feb 1 01:24:33 2011 +0100

    Add file filters for XBEL and Netscape to export

 midori/midori-browser.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index 86ddf6a..3076060 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -4134,6 +4134,8 @@ _action_bookmarks_export_activate (GtkAction*     action,
                                    MidoriBrowser* browser)
 {
     GtkWidget* file_dialog;
+    GtkFileFilter* filter;
+    const gchar* format;
     gchar* path = NULL;
     GError* error;
     sqlite3* db;
@@ -4146,6 +4148,16 @@ _action_bookmarks_export_activate (GtkAction*     action,
         GTK_WINDOW (browser), GTK_FILE_CHOOSER_ACTION_SAVE);
     gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (file_dialog),
                                        "bookmarks.xbel");
+    filter = gtk_file_filter_new ();
+    gtk_file_filter_set_name (filter, _("XBEL Bookmarks"));
+    gtk_file_filter_add_mime_type (filter, "application/xml");
+    gtk_file_filter_add_pattern (filter, "*.xbel");
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_dialog), filter);
+    filter = gtk_file_filter_new ();
+    gtk_file_filter_set_name (filter, _("Netscape Bookmarks"));
+    gtk_file_filter_add_mime_type (filter, "text/html");
+    gtk_file_filter_add_pattern (filter, "*.html");
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_dialog), filter);
     if (gtk_dialog_run (GTK_DIALOG (file_dialog)) == GTK_RESPONSE_OK)
         path = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_dialog));
     gtk_widget_destroy (file_dialog);
@@ -4157,7 +4169,13 @@ _action_bookmarks_export_activate (GtkAction*     action,
     db = g_object_get_data (G_OBJECT (browser->history), "db");
     bookmarks = katze_array_new (KATZE_TYPE_ARRAY);
     midori_bookmarks_export_array_db (db, bookmarks, "");
-    if (!midori_array_to_file (bookmarks, path, "xbel", &error))
+    if (g_str_has_suffix (path, ".xbel"))
+        format = "xbel";
+    else if (g_str_has_suffix (path, ".html"))
+        format = "netscape";
+    else
+        g_assert_not_reached ();
+    if (!midori_array_to_file (bookmarks, path, format, &error))
     {
         sokoke_message_dialog (GTK_MESSAGE_ERROR,
             _("Failed to export bookmarks"), error ? error->message : "");



More information about the Xfce4-commits mailing list