From eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Sun, 26 Oct 2003 10:45:56 +0000 Subject: Port to new gtk+ file chooser. 2003-10-26 Christian Persch Port to new gtk+ file chooser. * data/epiphany.schemas.in: * lib/ephy-prefs.h: Add key for remembering upload path. * embed /Makefile.am: * embed/downloader-view.c: * embed/ephy-embed-persist.c: (ephy_embed_persist_get_type), (ephy_embed_persist_set_dest), (ephy_embed_persist_set_embed), (ephy_embed_persist_set_fc_title), (ephy_embed_persist_set_fc_parent), (ephy_embed_persist_set_flags), (ephy_embed_persist_set_max_size), (ephy_embed_persist_set_persist_key), (ephy_embed_persist_set_source), (ephy_embed_persist_get_dest), (ephy_embed_persist_get_embed), (ephy_embed_persist_get_fc_title), (ephy_embed_persist_get_fc_parent), (ephy_embed_persist_get_flags), (ephy_embed_persist_get_max_size), (ephy_embed_persist_get_persist_key), (ephy_embed_persist_get_source), (ephy_embed_persist_set_property), (ephy_embed_persist_get_property), (ephy_embed_persist_init), (ephy_embed_persist_finalize), (ephy_embed_persist_class_init), (ephy_embed_persist_cancel), (ephy_embed_persist_save), (ephy_embed_persist_new): * embed/ephy-embed-persist.h: * embed/ephy-embed-popup-control.c: (save_url), (save_property_url), (background_download_completed), (embed_popup_set_image_as_background_cmd), (embed_popup_copy_image_location_cmd): * src/popup-commands.c: (save_property_url), (background_download_completed), (popup_cmd_set_image_as_background): * src/window-commands.c: (open_response_cb), (window_cmd_file_open), (window_cmd_file_save_as): * src/window-commands.h: * embed/ephy-favicon-cache.c: (ephy_favicon_cache_get_type), (ephy_favicon_cache_new), (icon_is_obsolete), (icons_added_cb), (remove_obsolete_icons), (ephy_favicon_cache_init), (favicon_download_completed_cb), (ephy_favicon_cache_download), (ephy_favicon_cache_get): * embed/mozilla/MozDownload.cpp: * embed/mozilla/EphyHeaderSniffer.cpp: * embed/mozilla/mozilla-embed-persist.cpp: * embed/mozilla/mozilla-embed-single.cpp: * src/popup-commands.c: (save_property_url), (background_download_completed), (popup_cmd_set_image_as_background): * src/window-commands.c: (open_response_cb), (window_cmd_file_open), (window_cmd_file_save_as): * src/window-commands.h: Simplify EphyEmbedPersist implementation. Augment it with properties for showing a file chooser to select persist destination. Port all callers to new interfaces. * embed/ephy-embed-single.c: (ephy_embed_single_remove_passwords): * embed/ephy-embed-single.h: * embed/ephy-embed-utils.c: * embed/ephy-embed-utils.h: Obsolete and removed. * embed/mozilla/ContentHandler.cpp: * embed/mozilla/ContentHandler.h: Misc cleanups. * embed/mozilla/FilePicker.cpp: * embed/mozilla/FilePicker.h: Port to new file chooser class. * embed/mozilla/Makefile.am: * lib/Makefile.am: * lib/ephy-file-chooser.c: (ephy_file_chooser_get_type), (current_folder_changed_cb), (ephy_file_chooser_init), (ephy_file_chooser_finalize), (ephy_file_chooser_set_persist_key), (ephy_file_chooser_set_property), (ephy_file_chooser_get_property), (ephy_file_chooser_class_init), (ephy_file_chooser_new): * lib/ephy-file-chooser.h: * src/bookmarks/ephy-bookmarks-editor.c: (import_from_file_response_cb), (import_dialog_response_cb): New file chooser wrapper class; ported file chooser callers to it. --- src/popup-commands.c | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'src/popup-commands.c') diff --git a/src/popup-commands.c b/src/popup-commands.c index e1d2a046e..02bfbea2a 100644 --- a/src/popup-commands.c +++ b/src/popup-commands.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001, 2002 Marco Pesenti Gritti + * Copyright (C) 2000-2003 Marco Pesenti Gritti * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,14 +14,19 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "popup-commands.h" #include "ephy-shell.h" #include "ephy-new-bookmark.h" #include "ephy-embed-persist.h" #include "ephy-prefs.h" -#include "ephy-embed-utils.h" #include "eel-gconf-extensions.h" #include "ephy-file-helpers.h" @@ -267,7 +272,6 @@ save_property_url (GtkAction *action, EphyEmbedEvent *info; const char *location; const GValue *value; - GtkWidget *widget; EphyEmbedPersist *persist; EphyEmbed *embed; @@ -278,15 +282,17 @@ save_property_url (GtkAction *action, ephy_embed_event_get_property (info, property, &value); location = g_value_get_string (value); - widget = GTK_WIDGET (embed); - persist = ephy_embed_persist_new (embed); + ephy_embed_persist_set_fc_title (persist, title); + ephy_embed_persist_set_fc_parent (persist,GTK_WINDOW (window)); + ephy_embed_persist_set_flags + (persist, ask_dest ? EMBED_PERSIST_ASK_DESTINATION : 0); + ephy_embed_persist_set_persist_key + (persist, CONF_STATE_DOWNLOADING_DIR); ephy_embed_persist_set_source (persist, location); - ephy_embed_utils_save (GTK_WIDGET (window), title, - CONF_STATE_DOWNLOADING_DIR, - ask_dest, persist); + ephy_embed_persist_save (persist); g_object_unref (G_OBJECT(persist)); } @@ -338,16 +344,14 @@ background_download_completed (EphyEmbedPersist *persist, const char *bg; char *type; - ephy_embed_persist_get_dest (persist, &bg); + bg = ephy_embed_persist_get_dest (persist); eel_gconf_set_string (CONF_DESKTOP_BG_PICTURE, bg); type = eel_gconf_get_string (CONF_DESKTOP_BG_TYPE); - if (type || strcmp (type, "none") == 0) + if (type == NULL || strcmp (type, "none") == 0) { - eel_gconf_set_string (CONF_DESKTOP_BG_TYPE, - "wallpaper"); + eel_gconf_set_string (CONF_DESKTOP_BG_TYPE, "wallpaper"); } - g_free (type); g_object_unref (persist); @@ -374,18 +378,18 @@ popup_cmd_set_image_as_background (GtkAction *action, persist = ephy_embed_persist_new (embed); base = g_path_get_basename (location); - dest = g_build_filename (ephy_dot_dir (), - base, NULL); + dest = g_build_filename (ephy_dot_dir (), base, NULL); - ephy_embed_persist_set_source (persist, location); ephy_embed_persist_set_dest (persist, dest); - - ephy_embed_persist_save (persist); + ephy_embed_persist_set_flags (persist, EMBED_PERSIST_NO_VIEW); + ephy_embed_persist_set_source (persist, location); g_signal_connect (persist, "completed", G_CALLBACK (background_download_completed), NULL); + ephy_embed_persist_save (persist); + g_free (dest); g_free (base); } -- cgit