[Xfce4-commits] <midori:master> Move URI preparation to sokoke/ app (unique)

Christian Dywan noreply at xfce.org
Sun Nov 25 12:06:02 CET 2012


Updating branch refs/heads/master
         to c0ba85f04bd784a7c68225fd22c464092bf1501d (commit)
       from a1517f23d6f8f2457ce637ca96089311017f3c14 (commit)

commit c0ba85f04bd784a7c68225fd22c464092bf1501d
Author: Christian Dywan <christian at twotoasts.de>
Date:   Fri Nov 23 21:45:23 2012 +0100

    Move URI preparation to sokoke/ app (unique)
    
    And drop some unused code on the way out.

 midori/main.c       |   87 +++++----------------------------------------------
 midori/midori-app.c |   17 +++++++--
 midori/sokoke.c     |   19 +++++++++++
 midori/sokoke.h     |    3 ++
 4 files changed, 43 insertions(+), 83 deletions(-)

diff --git a/midori/main.c b/midori/main.c
index 54f236b..ec2a410 100644
--- a/midori/main.c
+++ b/midori/main.c
@@ -580,8 +580,6 @@ midori_show_diagnostic_dialog (MidoriWebSettings* settings,
 {
     GtkWidget* dialog;
     GtkWidget* content_area;
-    GdkScreen* screen;
-    GtkIconTheme* icon_theme;
     GtkWidget* align;
     GtkWidget* box;
     GtkWidget* button;
@@ -597,15 +595,6 @@ midori_show_diagnostic_dialog (MidoriWebSettings* settings,
     gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), FALSE);
     gtk_window_set_title (GTK_WINDOW (dialog), g_get_application_name ());
     content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
-    screen = gtk_widget_get_screen (dialog);
-    if (screen)
-    {
-        icon_theme = gtk_icon_theme_get_for_screen (screen);
-        if (gtk_icon_theme_has_icon (icon_theme, "midori"))
-            gtk_window_set_icon_name (GTK_WINDOW (dialog), "midori");
-        else
-            gtk_window_set_icon_name (GTK_WINDOW (dialog), "web-browser");
-    }
     align = gtk_alignment_new (0.5, 0.5, 0.5, 0.5);
     gtk_container_add (GTK_CONTAINER (content_area), align);
     box = gtk_hbox_new (FALSE, 0);
@@ -947,25 +936,6 @@ midori_web_app_browser_new_window_cb (MidoriBrowser* browser,
     return new_browser;
 }
 
-static gchar*
-midori_prepare_uri (const gchar *uri)
-{
-    gchar* uri_ready;
-
-    if (g_str_has_prefix(uri, "javascript:"))
-        return NULL;
-    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);
-}
-
 #ifdef HAVE_SIGNAL_H
 static void
 signal_handler (int signal_id)
@@ -1283,7 +1253,7 @@ main (int    argc,
         #endif
         g_signal_connect (web_view, "load-finished",
             G_CALLBACK (snapshot_load_finished_cb), filename);
-        uri = midori_prepare_uri (snapshot);
+        uri = sokoke_prepare_uri (snapshot);
         webkit_web_view_load_uri (WEBKIT_WEB_VIEW (web_view), uri);
         g_free (uri);
         gtk_main ();
@@ -1296,7 +1266,7 @@ main (int    argc,
         GtkWidget* window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
         GtkWidget* scrolled = gtk_scrolled_window_new (NULL, NULL);
         GtkWidget* web_view = webkit_web_view_new ();
-        gchar* uri = midori_prepare_uri (
+        gchar* uri = sokoke_prepare_uri (
             (uris != NULL && uris[0]) ? uris[0] : "http://www.example.com");
 
         gint width, height;
@@ -1447,7 +1417,7 @@ main (int    argc,
 
         if (webapp)
         {
-            gchar* tmp_uri = midori_prepare_uri (webapp);
+            gchar* tmp_uri = sokoke_prepare_uri (webapp);
             midori_browser_set_action_visible (browser, "Menubar", FALSE);
             midori_browser_set_action_visible (browser, "CompactMenu", FALSE);
             midori_browser_add_uri (browser, tmp_uri ? tmp_uri : webapp);
@@ -1489,7 +1459,7 @@ main (int    argc,
         {
             for (i = 0; uris[i] != NULL; i++)
             {
-                gchar* new_uri = midori_prepare_uri (uris[i]);
+                gchar* new_uri = sokoke_prepare_uri (uris[i]);
                 midori_browser_add_uri (browser, new_uri);
                 g_free (new_uri);
             }
@@ -1533,31 +1503,16 @@ main (int    argc,
         if (execute)
             result = midori_app_send_command (app, uris);
         else if (uris)
-        {
-            /* Encode any IDN addresses because libUnique doesn't like them */
-            i = 0;
-            while (uris[i] != NULL)
-            {
-                gchar* new_uri = midori_prepare_uri (uris[i]);
-                gchar* escaped_uri = g_uri_escape_string (
-                    new_uri ? new_uri : uris[i], NULL, FALSE);
-                g_free (new_uri);
-                katze_assign (uris[i], escaped_uri);
-                i++;
-            }
             result = midori_app_instance_send_uris (app, uris);
-        }
         else
             result = midori_app_instance_send_new_browser (app);
 
         if (result)
             return 0;
 
-        dialog = gtk_message_dialog_new (NULL,
-            0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s",
-            _("An instance of Midori is already running but not responding.\n"));
-        if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_DELETE_EVENT)
-            gtk_widget_destroy (dialog);
+        sokoke_message_dialog (GTK_MESSAGE_INFO,
+            _("An instance of Midori is already running but not responding.\n"),
+            "", TRUE);
         /* FIXME: Allow killing the existing instance */
         return 1;
     }
@@ -1646,22 +1601,9 @@ main (int    argc,
     /* In case of errors */
     if (error_messages->len)
     {
-        GdkScreen* screen;
-        GtkIconTheme* icon_theme;
         GtkWidget* dialog = gtk_message_dialog_new (
             NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE,
             _("The following errors occured:"));
-        gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), FALSE);
-        gtk_window_set_title (GTK_WINDOW (dialog), g_get_application_name ());
-        screen = gtk_widget_get_screen (dialog);
-        if (screen)
-        {
-            icon_theme = gtk_icon_theme_get_for_screen (screen);
-            if (gtk_icon_theme_has_icon (icon_theme, "midori"))
-                gtk_window_set_icon_name (GTK_WINDOW (dialog), "midori");
-            else
-                gtk_window_set_icon_name (GTK_WINDOW (dialog), "web-browser");
-        }
         gtk_message_dialog_format_secondary_text (
             GTK_MESSAGE_DIALOG (dialog), "%s", error_messages->str);
         gtk_dialog_add_buttons (GTK_DIALOG (dialog),
@@ -1669,16 +1611,7 @@ main (int    argc,
                                 _("_Ignore"), GTK_RESPONSE_ACCEPT,
                                 NULL);
         if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_ACCEPT)
-        {
-            g_object_unref (settings);
-            g_object_unref (search_engines);
-            g_object_unref (bookmarks);
-            g_object_unref (_session);
-            g_object_unref (trash);
-            g_object_unref (history);
-            g_string_free (error_messages, TRUE);
             return 0;
-        }
         gtk_widget_destroy (dialog);
         /* FIXME: Since we will overwrite files that could not be loaded
                   , would we want to make backups? */
@@ -1696,7 +1629,7 @@ main (int    argc,
         while (uri != NULL)
         {
             item = katze_item_new ();
-            uri_ready = midori_prepare_uri (uri);
+            uri_ready = sokoke_prepare_uri (uri);
             katze_item_set_uri (item, uri_ready ? uri_ready : uri);
             g_free (uri_ready);
             /* Never delay command line arguments */
@@ -1785,9 +1718,5 @@ main (int    argc,
         g_unlink (config_file);
     }
 
-    g_object_unref (settings);
-    g_object_unref (dial);
-    g_object_unref (app);
-    g_free (config_file);
     return 0;
 }
diff --git a/midori/midori-app.c b/midori/midori-app.c
index 507aa99..326dc26 100644
--- a/midori/midori-app.c
+++ b/midori/midori-app.c
@@ -1083,15 +1083,24 @@ midori_app_instance_send_uris (MidoriApp* app,
     UniqueResponse response;
     #endif
 
-    /* g_return_val_if_fail (MIDORI_IS_APP (app), FALSE); */
+    g_return_val_if_fail (MIDORI_IS_APP (app), FALSE);
     g_return_val_if_fail (midori_app_instance_is_running (app), FALSE);
     g_return_val_if_fail (uris != NULL, FALSE);
 
-    #if HAVE_HILDON
-    /* FIXME: Implement */
-    #elif HAVE_UNIQUE
+    #if HAVE_UNIQUE
     if (app->instance)
     {
+        /* Encode any IDN addresses because libUnique doesn't like them */
+        int i = 0;
+        while (uris[i] != NULL)
+        {
+            gchar* new_uri = sokoke_prepare_uri (uris[i]);
+            gchar* escaped_uri = g_uri_escape_string (new_uri ? new_uri : uris[i], NULL, FALSE);
+            g_free (new_uri);
+            katze_assign (uris[i], escaped_uri);
+            i++;
+        }
+
         message = unique_message_data_new ();
         unique_message_data_set_uris (message, uris);
         response = unique_app_send_message (app->instance, UNIQUE_OPEN, message);
diff --git a/midori/sokoke.c b/midori/sokoke.c
index 2faf092..c1d19f4 100644
--- a/midori/sokoke.c
+++ b/midori/sokoke.c
@@ -481,6 +481,25 @@ 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 NULL;
+    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
diff --git a/midori/sokoke.h b/midori/sokoke.h
index 1c86dfc..2019321 100644
--- a/midori/sokoke.h
+++ b/midori/sokoke.h
@@ -62,6 +62,9 @@ gboolean
 sokoke_external_uri                     (const gchar*    uri);
 
 gchar*
+sokoke_prepare_uri                      (const gchar*    uri);
+
+gchar*
 sokoke_magic_uri                        (const gchar*    uri);
 
 void


More information about the Xfce4-commits mailing list