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/mozilla/mozilla-embed-single.cpp | |
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/mozilla/mozilla-embed-single.cpp')
-rw-r--r-- | embed/mozilla/mozilla-embed-single.cpp | 72 |
1 files changed, 2 insertions, 70 deletions
diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp index 8f1ce3939..5c1f83040 100644 --- a/embed/mozilla/mozilla-embed-single.cpp +++ b/embed/mozilla/mozilla-embed-single.cpp @@ -33,7 +33,6 @@ #include "eel-gconf-extensions.h" #include "ephy-embed-prefs.h" #include "MozRegisterComponents.h" -#include "FilePicker.h" #include <time.h> #include <libgnome/gnome-i18n.h> @@ -55,6 +54,8 @@ #include <nsICookie.h> #include <nsCCookieManager.h> #include <nsCPasswordManager.h> +#include <nsString.h> +#include <nsILocalFile.h> // FIXME: For setting the locale. hopefully gtkmozembed will do itself soon #include <nsIChromeRegistry.h> @@ -98,16 +99,6 @@ static gresult impl_remove_passwords (EphyEmbedSingle *shell, GList *passwords, PasswordType type); -static gresult -impl_show_file_picker (EphyEmbedSingle *shell, - GtkWidget *parentWidget, - const char *title, - const char *directory, - const char *file, - FilePickerMode mode, - char **ret_fullpath, - FileFormat *file_formats, - int *ret_file_format); static void mozilla_embed_single_new_window_orphan_cb (GtkMozEmbedSingle *embed, GtkMozEmbed **retval, @@ -172,7 +163,6 @@ mozilla_embed_single_class_init (MozillaEmbedSingleClass *klass) shell_class->remove_cookies = impl_remove_cookies; shell_class->list_passwords = impl_list_passwords; shell_class->remove_passwords = impl_remove_passwords; - shell_class->show_file_picker = impl_show_file_picker; g_type_class_add_private (object_class, sizeof(MozillaEmbedSinglePrivate)); } @@ -779,61 +769,3 @@ impl_remove_passwords (EphyEmbedSingle *shell, return G_OK; } - -static gresult -impl_show_file_picker (EphyEmbedSingle *shell, - GtkWidget *parentWidget, - const char *title, - const char *directory, - const char *file, - FilePickerMode mode, - char **ret_fullpath, - FileFormat *file_formats, - int *ret_file_format) -{ - char *expanded_directory = NULL; - gresult result; - - GFilePicker *filePicker = new GFilePicker (); - - if (directory != NULL) - { - expanded_directory = gnome_vfs_expand_initial_tilde (directory); - } - - /* make sure the directory exists, and use the home directory - * otherwise */ - if (!expanded_directory || - !g_file_test (expanded_directory, G_FILE_TEST_IS_DIR)) - { - g_free (expanded_directory); - expanded_directory = g_strdup (g_get_home_dir()); - } - - nsCOMPtr<nsILocalFile> dir = - do_CreateInstance (NS_LOCAL_FILE_CONTRACTID); - dir->InitWithNativePath (nsDependentCString(expanded_directory)); - g_free (expanded_directory); - - filePicker->InitWithGtkWidget (parentWidget, title, mode); - if (file) - { - filePicker->SetDefaultString (NS_ConvertUTF8toUCS2(file).get()); - } - filePicker->SetDisplayDirectory (dir); - - PRInt16 retval; - filePicker->Show (&retval); - - nsCOMPtr<nsILocalFile> local_file; - filePicker->GetFile (getter_AddRefs(local_file)); - nsCAutoString tempFullPathStr; - local_file->GetNativePath (tempFullPathStr); - *ret_fullpath = g_strdup (tempFullPathStr.get()); - - result = (retval == nsIFilePicker::returnCancel) ? G_FAILED : G_OK; - - delete filePicker; - - return result; -} |