[Xfce4-commits] <midori:master> Implement "Export bookmarks" menu item to export to XBEL
Christian Dywan
noreply at xfce.org
Wed Mar 3 00:02:01 CET 2010
Updating branch refs/heads/master
to 100eea41dad1c3aec7a36101276a1b1037cc0dfe (commit)
from cbd5e54daba6c668b1d6b11558150dcbc6dc1461 (commit)
commit 100eea41dad1c3aec7a36101276a1b1037cc0dfe
Author: Christian Dywan <christian at twotoasts.de>
Date: Mon Mar 1 22:10:42 2010 +0100
Implement "Export bookmarks" menu item to export to XBEL
midori/midori-browser.c | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index 9041d3d..759e1ec 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -3001,9 +3001,14 @@ _action_bookmarks_populate_popup (GtkAction* action,
gtk_widget_show (menuitem);
}
menuitem = gtk_action_create_menu_item (
+ _action_by_name (browser, "BookmarksExport"));
+ gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show (menuitem);
+ menuitem = gtk_action_create_menu_item (
_action_by_name (browser, "BookmarksImport"));
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
+
menuitem = gtk_action_create_menu_item (
_action_by_name (browser, "BookmarkFolderAdd"));
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem);
@@ -4636,6 +4641,36 @@ _action_bookmarks_import_activate (GtkAction* action,
}
static void
+_action_bookmarks_export_activate (GtkAction* action,
+ MidoriBrowser* browser)
+{
+ GtkWidget* file_dialog;
+ gchar* path = NULL;
+ GError* error;
+
+ file_dialog = sokoke_file_chooser_dialog_new (_("Save file as"),
+ GTK_WINDOW (browser), GTK_FILE_CHOOSER_ACTION_SAVE);
+ gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (file_dialog),
+ "bookmarks.xbel");
+ 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);
+
+ if (path == NULL)
+ return;
+
+ error = NULL;
+ if (!midori_array_to_file (browser->bookmarks, path, "xbel", &error))
+ {
+ sokoke_message_dialog (GTK_MESSAGE_ERROR,
+ _("Failed to export bookmarks"), error ? error->message : "");
+ if (error)
+ g_error_free (error);
+ }
+ g_free (path);
+}
+
+static void
_action_manage_search_engines_activate (GtkAction* action,
MidoriBrowser* browser)
{
@@ -5441,6 +5476,9 @@ static const GtkActionEntry entries[] = {
{ "BookmarksImport", NULL,
N_("_Import bookmarks"), "",
NULL, G_CALLBACK (_action_bookmarks_import_activate) },
+ { "BookmarksExport", NULL,
+ N_("_Export bookmarks"), "",
+ NULL, G_CALLBACK (_action_bookmarks_export_activate) },
{ "ManageSearchEngines", GTK_STOCK_PROPERTIES,
N_("_Manage Search Engines"), "<Ctrl><Alt>s",
N_("Add, edit and remove search engines..."),
@@ -5740,6 +5778,7 @@ static const gchar* ui_markup =
"<menuitem action='BookmarkAdd'/>"
"<menuitem action='BookmarkFolderAdd'/>"
"<menuitem action='BookmarksImport'/>"
+ "<menuitem action='BookmarksExport'/>"
"<menuitem action='ManageSearchEngines'/>"
"<menuitem action='ClearPrivateData'/>"
"<menuitem action='TabPrevious'/>"
More information about the Xfce4-commits
mailing list