[Xfce4-commits] <midori:master> Merge sokoke_prepare_uri into _magic_uri
Christian Dywan
noreply at xfce.org
Mon Mar 11 01:12:03 CET 2013
Updating branch refs/heads/master
to c382eb25af0b13debd047d44947adcb682e03181 (commit)
from 9da062efdd93d3eaf6bffcd1bd53c93ff920a6b9 (commit)
commit c382eb25af0b13debd047d44947adcb682e03181
Author: Christian Dywan <christian at twotoasts.de>
Date: Mon Mar 11 01:00:52 2013 +0100
Merge sokoke_prepare_uri into _magic_uri
Add flag to consider search an error.
midori/main.c | 6 +++---
midori/midori-app.c | 2 +-
midori/midori-browser.c | 4 ++--
midori/midori-frontend.c | 8 ++++----
midori/midori-session.c | 2 +-
midori/midori-view.c | 6 +++---
midori/sokoke.c | 36 ++++++++++++++++--------------------
midori/sokoke.h | 7 +++----
8 files changed, 33 insertions(+), 38 deletions(-)
diff --git a/midori/main.c b/midori/main.c
index e999b2d..f0ea8a0 100644
--- a/midori/main.c
+++ b/midori/main.c
@@ -266,7 +266,7 @@ main (int argc,
g_signal_connect (web_view, "load-finished",
G_CALLBACK (snapshot_load_finished_cb), filename);
#endif
- uri = sokoke_prepare_uri (snapshot);
+ uri = sokoke_magic_uri (snapshot, FALSE, TRUE);
webkit_web_view_load_uri (WEBKIT_WEB_VIEW (web_view), uri);
g_free (uri);
gtk_main ();
@@ -281,8 +281,8 @@ main (int argc,
GtkWidget* scrolled = gtk_scrolled_window_new (NULL, NULL);
#endif
GtkWidget* web_view = webkit_web_view_new ();
- gchar* uri = sokoke_prepare_uri (
- (uris != NULL && uris[0]) ? uris[0] : "http://www.example.com");
+ gchar* uri = sokoke_magic_uri (
+ (uris != NULL && uris[0]) ? uris[0] : "http://www.example.com", FALSE, TRUE);
katze_window_set_sensible_default_size (GTK_WINDOW (window));
#ifndef HAVE_WEBKIT2
diff --git a/midori/midori-app.c b/midori/midori-app.c
index 2a587c9..df2a060 100644
--- a/midori/midori-app.c
+++ b/midori/midori-app.c
@@ -1071,7 +1071,7 @@ midori_app_instance_send_uris (MidoriApp* app,
int i = 0;
while (uris[i] != NULL)
{
- gchar* new_uri = sokoke_prepare_uri (uris[i]);
+ gchar* new_uri = sokoke_magic_uri (uris[i], TRUE, TRUE);
gchar* escaped_uri = g_uri_escape_string (new_uri, NULL, FALSE);
g_free (new_uri);
katze_assign (uris[i], escaped_uri);
diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index ae716b3..d9b70f0 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -2929,7 +2929,7 @@ midori_browser_open_bookmark (MidoriBrowser* browser,
return;
/* Imported bookmarks may lack a protocol */
- uri_fixed = sokoke_magic_uri (uri);
+ uri_fixed = sokoke_magic_uri (uri, TRUE, FALSE);
if (!uri_fixed)
uri_fixed = g_strdup (uri);
@@ -3789,7 +3789,7 @@ _action_location_submit_uri (GtkAction* action,
}
uri = katze_skip_whitespace (uri);
- new_uri = sokoke_magic_uri (uri);
+ new_uri = sokoke_magic_uri (uri, TRUE, FALSE);
if (!new_uri)
{
const gchar* keywords = NULL;
diff --git a/midori/midori-frontend.c b/midori/midori-frontend.c
index a578042..963cb6a 100644
--- a/midori/midori-frontend.c
+++ b/midori/midori-frontend.c
@@ -79,7 +79,7 @@ midori_web_app_new (const gchar* config,
if (webapp != NULL)
{
- gchar* tmp_uri = sokoke_prepare_uri (webapp);
+ gchar* tmp_uri = sokoke_magic_uri (webapp, FALSE, TRUE);
g_object_set (settings, "homepage", tmp_uri, NULL);
midori_browser_add_uri (browser, tmp_uri);
g_free (tmp_uri);
@@ -92,7 +92,7 @@ midori_web_app_new (const gchar* config,
if (open_uris != NULL)
for (i = 0; open_uris[i] != NULL; i++)
{
- gchar* new_uri = sokoke_prepare_uri (open_uris[i]);
+ gchar* new_uri = sokoke_magic_uri (open_uris[i], FALSE, TRUE);
midori_browser_add_uri (browser, new_uri);
g_free (new_uri);
}
@@ -206,7 +206,7 @@ midori_private_app_new (const gchar* config,
if (webapp != NULL)
{
- gchar* tmp_uri = sokoke_prepare_uri (webapp);
+ gchar* tmp_uri = sokoke_magic_uri (webapp, FALSE, TRUE);
g_object_set (settings, "homepage", tmp_uri, NULL);
midori_browser_add_uri (browser, tmp_uri);
g_free (tmp_uri);
@@ -219,7 +219,7 @@ midori_private_app_new (const gchar* config,
if (open_uris != NULL)
for (i = 0; open_uris[i] != NULL; i++)
{
- gchar* new_uri = sokoke_prepare_uri (open_uris[i]);
+ gchar* new_uri = sokoke_magic_uri (open_uris[i], FALSE, TRUE);
midori_browser_add_uri (browser, new_uri);
g_free (new_uri);
}
diff --git a/midori/midori-session.c b/midori/midori-session.c
index 5808f0d..e194b4c 100644
--- a/midori/midori-session.c
+++ b/midori/midori-session.c
@@ -519,7 +519,7 @@ midori_load_session (gpointer data)
guint i = 0;
while (open_uris[i])
{
- gchar* uri = sokoke_prepare_uri (open_uris[i]);
+ gchar* uri = sokoke_magic_uri (open_uris[i], TRUE, TRUE);
midori_browser_add_uri (browser, uri);
g_free (uri);
i++;
diff --git a/midori/midori-view.c b/midori/midori-view.c
index 54b9000..079ef17 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -710,7 +710,7 @@ midori_view_web_view_navigation_decision_cb (WebKitWebView* web_view
const gchar* uri = webkit_network_request_get_uri (request);
if (g_str_has_prefix (uri, "geo:") && strstr (uri, ","))
{
- gchar* new_uri = sokoke_magic_uri (uri);
+ gchar* new_uri = sokoke_magic_uri (uri, TRUE, FALSE);
midori_view_set_uri (view, new_uri);
g_free (new_uri);
return TRUE;
@@ -1755,7 +1755,7 @@ midori_view_web_view_button_press_event_cb (WebKitWebView* web_view,
/* Hold Alt to search for the selected word */
if (event->state & GDK_MOD1_MASK)
{
- new_uri = sokoke_magic_uri (uri);
+ new_uri = sokoke_magic_uri (uri, TRUE, FALSE);
if (!new_uri)
{
gchar* search = katze_object_get_string (
@@ -2280,7 +2280,7 @@ midori_web_view_menu_new_tab_activate_cb (GtkWidget* widget,
}
else
{
- gchar* uri = sokoke_magic_uri (data);
+ gchar* uri = sokoke_magic_uri (data, TRUE, FALSE);
if (!uri)
uri = g_strdup (data);
g_signal_emit (view, signals[NEW_TAB], 0, uri,
diff --git a/midori/sokoke.c b/midori/sokoke.c
index 3a79807..0d76914 100644
--- a/midori/sokoke.c
+++ b/midori/sokoke.c
@@ -470,25 +470,6 @@ sokoke_external_uri (const gchar* uri)
return info != NULL;
}
-gchar*
-sokoke_prepare_uri (const gchar *uri)
-{
- gchar* uri_ready;
-
- if (g_str_has_prefix (uri, "javascript:"))
- return g_strdup (uri);
- else if (g_file_test (uri, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)
- && !g_path_is_absolute (uri))
- {
- GFile* file = g_file_new_for_commandline_arg (uri);
- uri_ready = g_file_get_uri (file);
- g_object_unref (file);
- return uri_ready;
- }
-
- return sokoke_magic_uri (uri);
-}
-
/**
* sokoke_magic_uri:
* @uri: a string typed by a user
@@ -501,7 +482,9 @@ sokoke_prepare_uri (const gchar *uri)
* Return value: a newly allocated URI, or %NULL
**/
gchar*
-sokoke_magic_uri (const gchar* uri)
+sokoke_magic_uri (const gchar* uri,
+ gboolean allow_search,
+ gboolean allow_relative)
{
gchar** parts;
gchar* search;
@@ -511,6 +494,14 @@ sokoke_magic_uri (const gchar* uri)
/* Add file:// if we have a local path */
if (g_path_is_absolute (uri))
return g_filename_to_uri (uri, NULL, NULL);
+ if (allow_relative
+ && g_file_test (uri, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR))
+ {
+ GFile* file = g_file_new_for_commandline_arg (uri);
+ gchar* uri_ready = g_file_get_uri (file);
+ g_object_unref (file);
+ return uri_ready;
+ }
/* Parse geo URI geo:48.202778,16.368472;crs=wgs84;u=40 as a location */
if (!strncmp (uri, "geo:", 4))
{
@@ -565,6 +556,11 @@ sokoke_magic_uri (const gchar* uri)
}
g_strfreev (parts);
}
+ if (!allow_search)
+ {
+ g_printerr ("%s - %s\n", _("Midori"), _("Invalid URI"));
+ exit (1);
+ }
return NULL;
}
diff --git a/midori/sokoke.h b/midori/sokoke.h
index aa5e5f9..7074b96 100644
--- a/midori/sokoke.h
+++ b/midori/sokoke.h
@@ -63,10 +63,9 @@ gboolean
sokoke_external_uri (const gchar* uri);
gchar*
-sokoke_prepare_uri (const gchar* uri);
-
-gchar*
-sokoke_magic_uri (const gchar* uri);
+sokoke_magic_uri (const gchar* uri,
+ gboolean allow_search,
+ gboolean allow_realtive);
void
sokoke_widget_set_visible (GtkWidget* widget,
More information about the Xfce4-commits
mailing list