]> spindle.queued.net Git - midori/commitdiff
Display source code in a tab if no editor is specified
authorChristian Dywan <christian@twotoasts.de>
Mon, 14 Sep 2009 21:57:57 +0000 (23:57 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 14 Sep 2009 22:53:50 +0000 (00:53 +0200)
This uses view source mode available since WebKitGTK+ 1.1.14.

midori/midori-browser.c

index ac58f11fb2bb08df24d1375c38a9fdd031494b67..f406d929b9848c940d105154854d17dd329d58e3 100644 (file)
@@ -3070,10 +3070,22 @@ _action_source_view_activate (GtkAction*     action,
         text_editor = NULL;
     uri = midori_view_get_display_uri (MIDORI_VIEW (view));
 
-    if (!g_strcmp0 (text_editor, ""))
+    if (!(text_editor && *text_editor))
     {
-        GFile* file = g_file_new_for_uri (uri);
+        #if WEBKIT_CHECK_VERSION (1, 1, 14)
+        GtkWidget* source;
+        GtkWidget* web_view;
 
+        source = midori_view_new (browser->net);
+        midori_view_set_uri (MIDORI_VIEW (source), "");
+        web_view = gtk_bin_get_child (GTK_BIN (source));
+        webkit_web_view_set_view_source_mode (WEBKIT_WEB_VIEW (web_view), TRUE);
+        webkit_web_view_load_uri (WEBKIT_WEB_VIEW (web_view), uri);
+        gtk_widget_show (source);
+        midori_browser_add_tab (browser, source);
+        return;
+        #else
+        GFile* file = g_file_new_for_uri (uri);
         gchar* content_type;
         GAppInfo* app_info;
         GList* files;
@@ -3104,6 +3116,7 @@ _action_source_view_activate (GtkAction*     action,
             g_free (text_editor);
             return;
         }
+        #endif
     }
 
     katze_net_load_uri (browser->net, uri, NULL,