[Xfce4-commits] <midori:master> Use website title as filename when saving
Christian Dywan
noreply at xfce.org
Tue Jul 10 19:42:01 CEST 2012
Updating branch refs/heads/master
to 7f7668048e05191be126f2993c390a8e60251279 (commit)
from 831a185621eab5ded07f7d0432c202c0def8f3de (commit)
commit 7f7668048e05191be126f2993c390a8e60251279
Author: Christian Dywan <christian at twotoasts.de>
Date: Tue Jul 10 19:30:07 2012 +0200
Use website title as filename when saving
midori/midori-browser.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index d6c7393..bad4217 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -1059,8 +1059,7 @@ midori_browser_download_prepare_filename (gchar* filename);
static void
midori_browser_save_resources (MidoriView* view,
- const gchar* folder,
- const gchar* title)
+ const gchar* folder)
{
WebKitWebView* web_view = WEBKIT_WEB_VIEW (midori_view_get_web_view (view));
WebKitWebFrame* frame = webkit_web_view_get_main_frame (web_view);
@@ -1068,8 +1067,7 @@ midori_browser_save_resources (MidoriView* view,
GList* resources = webkit_web_data_source_get_subresources (data_source);
GList* list;
- gchar* path = g_strconcat (folder, "/", title, NULL);
- g_mkdir (path, 0700);
+ g_mkdir (folder, 0700);
for (list = resources; list; list = g_list_next (list))
{
@@ -1078,7 +1076,7 @@ midori_browser_save_resources (MidoriView* view,
/* FIXME: mime type fallback should respect the resource's type */
gchar* sub_filename = midori_browser_get_filename_suggestion_for_uri (
view, webkit_web_resource_get_uri (resource));
- gchar* sub_path = g_build_filename (path, sub_filename, NULL);
+ gchar* sub_path = g_build_filename (folder, sub_filename, NULL);
sub_path = midori_browser_download_prepare_filename (sub_path);
if (data)
{
@@ -1094,7 +1092,6 @@ midori_browser_save_resources (MidoriView* view,
g_free (sub_filename);
g_free (sub_path);
}
- g_free (path);
g_list_free (resources);
}
@@ -1125,17 +1122,23 @@ midori_browser_save_uri (MidoriBrowser* browser,
if (uri == NULL)
uri = midori_view_get_display_uri (view);
- filename = midori_browser_get_filename_suggestion_for_uri (view, uri);
+ if (!g_str_equal (title, uri))
+ filename = midori_browser_fixup_filename (g_strdup (title));
+ else
+ filename = midori_browser_get_filename_suggestion_for_uri (view, uri);
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), filename);
g_free (filename);
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK)
{
+ gchar* fullname;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
- midori_view_save_source (view, uri, filename);
+ fullname = g_strconcat (filename, ".html", NULL);
+ midori_view_save_source (view, uri, fullname);
katze_assign (last_dir,
gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog)));
- midori_browser_save_resources (view, last_dir, title);
+ midori_browser_save_resources (view, filename);
+ g_free (fullname);
}
gtk_widget_destroy (dialog);
}
More information about the Xfce4-commits
mailing list