diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2003-10-26 18:45:56 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2003-10-26 18:45:56 +0800 |
commit | eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b (patch) | |
tree | 9c1ae176d61be345a8d3295aa9e43e48a43464da /embed/ephy-embed-popup-control.c | |
parent | a34a545dbe35d250c5f5743634909ad2a45f423b (diff) | |
download | gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.tar gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.tar.gz gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.tar.bz2 gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.tar.lz gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.tar.xz gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.tar.zst gsoc2013-epiphany-eb6b2cdb2e89e41759cf3b1cd136cfca42e6e42b.zip |
Port to new gtk+ file chooser.
2003-10-26 Christian Persch <chpe@cvs.gnome.org>
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.
Diffstat (limited to 'embed/ephy-embed-popup-control.c')
-rw-r--r-- | embed/ephy-embed-popup-control.c | 79 |
1 files changed, 35 insertions, 44 deletions
diff --git a/embed/ephy-embed-popup-control.c b/embed/ephy-embed-popup-control.c index a300e0535..5cda121e1 100644 --- a/embed/ephy-embed-popup-control.c +++ b/embed/ephy-embed-popup-control.c @@ -1,5 +1,6 @@ /* - * Copyright (C) 2000, 2001, 2002 Ricardo Fernández Pascual + * Copyright (C) 2000, 2001, 2002 Ricardo Fernández Pascual + * Copyright (C) 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 @@ -19,8 +20,8 @@ */ #include "ephy-embed-popup-control.h" +#include "ephy-embed-persist.h" #include "ephy-bonobo-extensions.h" -#include "ephy-embed-utils.h" #include "ephy-prefs.h" #include "eel-gconf-extensions.h" #include "ephy-file-helpers.h" @@ -477,6 +478,31 @@ embed_popup_copy_link_location_cmd (BonoboUIComponent *uic, } static void +save_url (EphyEmbedPopupControl *popup, + const char *title, + gboolean ask_dest, + const char *location) +{ + GtkWidget *widget, *window; + EphyEmbedPersist *persist; + + widget = GTK_WIDGET (popup->priv->embed); + window = gtk_widget_get_toplevel (widget); + + persist = ephy_embed_persist_new (popup->priv->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_persist_save (persist); +} + +static void save_property_url (EphyEmbedPopupControl *popup, const char *title, gboolean ask_dest, @@ -485,24 +511,12 @@ save_property_url (EphyEmbedPopupControl *popup, EphyEmbedEvent *info; const char *location; const GValue *value; - GtkWidget *widget; - GtkWidget *window; - EphyEmbedPersist *persist; info = ephy_embed_popup_control_get_event (popup); ephy_embed_event_get_property (info, property, &value); location = g_value_get_string (value); - widget = GTK_WIDGET (popup->priv->embed); - window = gtk_widget_get_toplevel (widget); - - persist = ephy_embed_persist_new (popup->priv->embed); - - ephy_embed_persist_set_source (persist, location); - - ephy_embed_utils_save (window, title, - CONF_STATE_DOWNLOADING_DIR, - ask_dest, persist); + save_url (popup, title, ask_dest, location); } /* commands */ @@ -553,16 +567,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); @@ -586,11 +598,11 @@ embed_popup_set_image_as_background_cmd (BonoboUIComponent *uic, persist = ephy_embed_persist_new (popup->priv->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_set_flags (persist, EMBED_PERSIST_NO_VIEW); + ephy_embed_persist_set_source (persist, location); ephy_embed_persist_save (persist); @@ -618,27 +630,6 @@ embed_popup_copy_image_location_cmd (BonoboUIComponent *uic, } static void -save_url (EphyEmbedPopupControl *popup, - const char *title, - gboolean ask_dest, - const char *url) -{ - GtkWidget *widget; - GtkWidget *window; - EphyEmbedPersist *persist; - - widget = GTK_WIDGET (popup->priv->embed); - window = gtk_widget_get_toplevel (widget); - - persist = ephy_embed_persist_new (popup->priv->embed); - ephy_embed_persist_set_source (persist, url); - - ephy_embed_utils_save (window, title, - CONF_STATE_DOWNLOADING_DIR, - ask_dest, persist); -} - -static void embed_popup_save_page_as_cmd (BonoboUIComponent *uic, EphyEmbedPopupControl *popup, const char* verbname) |