Enable View Source only if GIO really supports HTTP

This commit is contained in:
Christian Dywan 2008-08-17 19:11:43 +02:00
parent 85dea9aa44
commit b9e19d79d6
3 changed files with 30 additions and 6 deletions

View file

@ -257,9 +257,8 @@ _midori_browser_update_interface (MidoriBrowser* browser)
_action_set_sensitive (browser, "ZoomOut", web_view != NULL); _action_set_sensitive (browser, "ZoomOut", web_view != NULL);
_action_set_sensitive (browser, "ZoomNormal", web_view != NULL _action_set_sensitive (browser, "ZoomNormal", web_view != NULL
&& webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (web_view)) != 1.0); && webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (web_view)) != 1.0);
#if GLIB_CHECK_VERSION (2, 16, 0) if (sokoke_gio_supports_http ())
_action_set_sensitive (browser, "SourceView", web_view != NULL); _action_set_sensitive (browser, "SourceView", web_view != NULL);
#endif
_action_set_sensitive (browser, "FindNext", web_view != NULL); _action_set_sensitive (browser, "FindNext", web_view != NULL);
_action_set_sensitive (browser, "FindPrevious", web_view != NULL); _action_set_sensitive (browser, "FindPrevious", web_view != NULL);
/* _action_set_sensitive (browser, "FindQuick", web_view != NULL); */ /* _action_set_sensitive (browser, "FindQuick", web_view != NULL); */
@ -3602,9 +3601,8 @@ midori_browser_init (MidoriBrowser* browser)
g_object_unref (ui_manager); g_object_unref (ui_manager);
#if !GLIB_CHECK_VERSION (2, 16, 0) _action_set_sensitive (browser, "SourceView", sokoke_gio_supports_http ());
_action_set_sensitive (browser, "SourceView", FALSE);
#endif
#ifndef WEBKIT_CHECK_VERSION #ifndef WEBKIT_CHECK_VERSION
_action_set_sensitive (browser, "ZoomIn", FALSE); _action_set_sensitive (browser, "ZoomIn", FALSE);
_action_set_sensitive (browser, "ZoomOut", FALSE); _action_set_sensitive (browser, "ZoomOut", FALSE);

View file

@ -625,3 +625,26 @@ sokoke_action_create_popup_menu_item (GtkAction* action)
return menuitem; return menuitem;
} }
gboolean
sokoke_gio_supports_http (void)
{
#if HAVE_GIO
static gboolean supports_http;
static gboolean tested;
const gchar* const* schemes = g_vfs_get_supported_uri_schemes (g_vfs_get_default ());
if (tested)
return supports_http;
while (*schemes)
{
if (!strcmp (*schemes, "http"))
supports_http = TRUE;
schemes++;
}
tested = TRUE;
return supports_http;
#else
return FALSE;
#endif
}

View file

@ -131,4 +131,7 @@ sokoke_object_get_boolean (gpointer object,
GtkWidget* GtkWidget*
sokoke_action_create_popup_menu_item (GtkAction* action); sokoke_action_create_popup_menu_item (GtkAction* action);
gboolean
sokoke_gio_supports_http (void );
#endif /* !__SOKOKE_H__ */ #endif /* !__SOKOKE_H__ */