diff options
author | Xan Lopez <xan@gnome.org> | 2010-05-03 18:31:25 +0800 |
---|---|---|
committer | Xan Lopez <xan@gnome.org> | 2010-05-03 19:40:33 +0800 |
commit | 6ef9fa4aa4d068482412e3cde4dbdaf8dadc925b (patch) | |
tree | 41b783c3523cdd2eb13ba6f9d428c5f218c5e963 | |
parent | baca12963da2829f2208fef44587d2f8780643dc (diff) | |
download | gsoc2013-epiphany-6ef9fa4aa4d068482412e3cde4dbdaf8dadc925b.tar.gz gsoc2013-epiphany-6ef9fa4aa4d068482412e3cde4dbdaf8dadc925b.tar.zst gsoc2013-epiphany-6ef9fa4aa4d068482412e3cde4dbdaf8dadc925b.zip |
Move homepage loading code to EphyWebView
Create a method to make the EphyWebView load the homepage set by the
user. This is in preparation for creating a signal for this action,
which other code in Epiphany will need.
-rw-r--r-- | embed/ephy-web-view.c | 31 | ||||
-rw-r--r-- | embed/ephy-web-view.h | 2 | ||||
-rw-r--r-- | src/ephy-shell.c | 28 |
3 files changed, 36 insertions, 25 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c index 19498da67..c3fa53a89 100644 --- a/embed/ephy-web-view.c +++ b/embed/ephy-web-view.c @@ -3523,4 +3523,35 @@ ephy_web_view_save (EphyWebView *view, const char *uri) ephy_web_view_save_sub_resources (view, uri, subresources); } +/** + * ephy_web_view_load_homepage: + * @view: an #EphyWebView + * + * Loads the homepage set by the user in @view. + * + * Returns: %TRUE if there was a homepage set to be loaded in the user + * preferences, %FALSE otherwise + **/ +gboolean +ephy_web_view_load_homepage (EphyWebView *view) +{ + char *home; + gboolean is_empty; + + home = eel_gconf_get_string (CONF_GENERAL_HOMEPAGE); + + if (home == NULL || home[0] == '\0') + { + g_free (home); + + home = g_strdup ("about:blank"); + } + + is_empty = ephy_embed_utils_url_is_empty (home); + ephy_web_view_load_url (view, home); + + g_free (home); + + return is_empty; +} diff --git a/embed/ephy-web-view.h b/embed/ephy-web-view.h index b3ffb538b..323a8564f 100644 --- a/embed/ephy-web-view.h +++ b/embed/ephy-web-view.h @@ -190,6 +190,8 @@ void ephy_web_view_popups_manager_reset (EphyWebView void ephy_web_view_save (EphyWebView *view, const char *uri); +gboolean ephy_web_view_load_homepage (EphyWebView *view); + G_END_DECLS #endif diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 5e830dcdb..2c3e3e2d2 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -367,29 +367,6 @@ ephy_shell_get_default (void) return ephy_shell; } -static gboolean -load_homepage (EphyEmbed *embed) -{ - char *home; - gboolean is_empty; - - home = eel_gconf_get_string(CONF_GENERAL_HOMEPAGE); - - if (home == NULL || home[0] == '\0') - { - g_free (home); - - home = g_strdup ("about:blank"); - } - - is_empty = ephy_embed_utils_url_is_empty (home); - ephy_web_view_load_url (ephy_embed_get_web_view (embed), home); - - g_free (home); - - return is_empty; -} - /** * ephy_shell_new_tab_full: * @shell: a #EphyShell @@ -502,9 +479,10 @@ ephy_shell_new_tab_full (EphyShell *shell, if (flags & EPHY_NEW_TAB_HOME_PAGE || flags & EPHY_NEW_TAB_NEW_PAGE) { - ephy_web_view_set_typed_address (ephy_embed_get_web_view (embed), ""); + EphyWebView *view = ephy_embed_get_web_view (embed); + ephy_web_view_set_typed_address (view, ""); ephy_toolbar_activate_location (toolbar); - is_empty = load_homepage (embed); + is_empty = ephy_web_view_load_homepage (view); } else if (flags & EPHY_NEW_TAB_OPEN_PAGE) { |