[Xfce4-commits] <midori:master> Make Feed Panel build with WebKit2 (not loading feeds)

Christian Dywan noreply at xfce.org
Mon Apr 8 20:44:02 CEST 2013


Updating branch refs/heads/master
         to 2c1bce83272463737185eb094a178024eeaaf565 (commit)
       from df3ff7396ec18e612f3314a28e42f05711102143 (commit)

commit 2c1bce83272463737185eb094a178024eeaaf565
Author: Christian Dywan <christian at twotoasts.de>
Date:   Mon Apr 8 20:11:54 2013 +0200

    Make Feed Panel build with WebKit2 (not loading feeds)

 extensions/feed-panel/feed-panel.c |   19 ++++++++++---------
 midori/midori-view.c               |   10 ++--------
 midori/midori-view.h               |    6 ++++++
 midori/midori.vapi                 |    2 ++
 4 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/extensions/feed-panel/feed-panel.c b/extensions/feed-panel/feed-panel.c
index dcb049f..a34a212 100644
--- a/extensions/feed-panel/feed-panel.c
+++ b/extensions/feed-panel/feed-panel.c
@@ -387,8 +387,7 @@ feed_panel_cursor_or_row_changed_cb (GtkTreeView* treeview,
                         "<body><h3>%s</h3></body></html>", katze_item_get_uri (KATZE_ITEM (parent)));
                 }
             }
-            webkit_web_view_load_html_string (
-                WEBKIT_WEB_VIEW (panel->webview), text ? text : "", uri);
+            midori_view_set_html (MIDORI_VIEW (panel->webview), text ? text : "", uri, NULL);
             g_free ((gchar*) text);
 
             sensitive = TRUE;
@@ -396,8 +395,7 @@ feed_panel_cursor_or_row_changed_cb (GtkTreeView* treeview,
         else
         {
             text = katze_item_get_text (item);
-            webkit_web_view_load_html_string (
-                WEBKIT_WEB_VIEW (panel->webview), text ? text : "", uri);
+            midori_view_set_html (MIDORI_VIEW (panel->webview), text ? text : "", uri, NULL);
         }
         g_object_unref (item);
     }
@@ -600,6 +598,7 @@ webview_button_press_event_cb (GtkWidget*      widget,
     return MIDORI_EVENT_CONTEXT_MENU (event);
 }
 
+#ifndef HAVE_WEBKIT2
 static gboolean
 webview_navigation_request_cb (WebKitWebView*             web_view,
                                WebKitWebFrame*            frame,
@@ -622,6 +621,7 @@ webview_navigation_request_cb (WebKitWebView*             web_view,
 
     return FALSE;
 }
+#endif
 
 static const gchar*
 feed_panel_get_label (MidoriViewable* viewable)
@@ -760,7 +760,7 @@ feed_panel_init (FeedPanel* panel)
     GtkIconFactory *factory;
     GtkIconSource *icon_source;
     GtkIconSet *icon_set;
-    WebKitWebSettings* settings;
+    MidoriWebSettings* settings;
     PangoFontDescription* font_desc;
     const gchar* family;
     gint size;
@@ -812,7 +812,6 @@ feed_panel_init (FeedPanel* panel)
                       NULL);
     gtk_widget_show (treeview);
 
-    webview = webkit_web_view_new ();
 #if GTK_CHECK_VERSION(3,0,0)
     font_desc = (PangoFontDescription*)gtk_style_context_get_font (
         gtk_widget_get_style_context (treeview), GTK_STATE_FLAG_NORMAL);
@@ -821,14 +820,16 @@ feed_panel_init (FeedPanel* panel)
 #endif
     family = pango_font_description_get_family (font_desc);
     size = pango_font_description_get_size (font_desc) / PANGO_SCALE;
-    settings = webkit_web_settings_new ();
+    settings = midori_web_settings_new ();
     g_object_set (settings, "default-font-family", family,
                             "default-font-size", size, NULL);
-    g_object_set (webview, "settings", settings, NULL);
+    webview = midori_view_new_with_item (NULL, settings);
     gtk_widget_set_size_request (webview, -1, 50);
-    g_object_connect (webview,
+    g_object_connect (midori_tab_get_web_view (MIDORI_TAB (webview)),
+                      #ifndef HAVE_WEBKIT2
                       "signal::navigation-policy-decision-requested",
                       webview_navigation_request_cb, panel,
+                      #endif
                       "signal::button-press-event",
                       webview_button_press_event_cb, NULL,
                       "signal::button-release-event",
diff --git a/midori/midori-view.c b/midori/midori-view.c
index 3c99d62..f807fda 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -1380,11 +1380,7 @@ void
 midori_view_set_html (MidoriView*     view,
                       const gchar*    data,
                       const gchar*    uri,
-#ifndef HAVE_WEBKIT2
-                      WebKitWebFrame* web_frame)
-#else
                       void*           web_frame)
-#endif
 {
     g_return_if_fail (MIDORI_IS_VIEW (view));
     g_return_if_fail (data != NULL);
@@ -1392,13 +1388,11 @@ midori_view_set_html (MidoriView*     view,
     WebKitWebView* web_view = WEBKIT_WEB_VIEW (view->web_view);
     if (!uri)
         uri = "about:blank";
-#ifndef HAVE_WEBKIT2
-    if (!web_frame)
-        web_frame = webkit_web_view_get_main_frame (web_view);
-#endif
     katze_item_set_uri (view->item, uri);
     midori_tab_set_special (MIDORI_TAB (view), TRUE);
 #ifndef HAVE_WEBKIT2
+    if (!web_frame)
+        web_frame = webkit_web_view_get_main_frame (web_view);
     webkit_web_frame_load_alternate_string (
         web_frame, data, uri, uri);
 #else
diff --git a/midori/midori-view.h b/midori/midori-view.h
index 3192295..2c90eb7 100644
--- a/midori/midori-view.h
+++ b/midori/midori-view.h
@@ -83,6 +83,12 @@ midori_view_set_uri                    (MidoriView*        view,
                                         const gchar*       uri);
 
 void
+midori_view_set_html                   (MidoriView*        view,
+                                        const gchar*       data,
+                                        const gchar*       uri,
+                                        void*              web_frame);
+
+void
 midori_view_set_overlay_text           (MidoriView*        view,
                                         const gchar*       text);
 
diff --git a/midori/midori.vapi b/midori/midori.vapi
index 38f8a69..83871f5 100644
--- a/midori/midori.vapi
+++ b/midori/midori.vapi
@@ -108,6 +108,7 @@ namespace Midori {
         public signal void quit ();
     }
 
+    [CCode (cheader_filename = "midori/midori.h")]
     public class Extension : GLib.Object {
         [CCode (has_construct_function = false)]
         public Extension ();
@@ -217,6 +218,7 @@ namespace Midori {
         PENDING_UNDELAY,
     }
 
+    [CCode (cheader_filename = "midori/midori.h")]
     public class WebSettings : Midori.Settings {
         public WebSettings ();
         [NoAccessorMethod]


More information about the Xfce4-commits mailing list