]> spindle.queued.net Git - midori/commitdiff
Use accessors for window and allocation of a widget
authorChristian Dywan <christian@twotoasts.de>
Mon, 18 Oct 2010 20:42:10 +0000 (22:42 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 18 Oct 2010 22:53:01 +0000 (00:53 +0200)
midori/midori-browser.c
midori/midori-locationaction.c
midori/midori-view.c
midori/sokoke.h

index 9a0b6cec207b24ac1be58de77446a537544f54b7..f8ae1c2f47dbdd8fd76bca917b21a9825806a2f8 100644 (file)
@@ -3337,10 +3337,10 @@ _action_fullscreen_activate (GtkAction*     action,
 {
     GdkWindowState state;
 
-    if (!GTK_WIDGET (browser)->window)
+    if (!gtk_widget_get_window (GTK_WIDGET (browser)))
         return;
 
-    state = gdk_window_get_state (GTK_WIDGET (browser)->window);
+    state = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (browser)));
     if (state & GDK_WINDOW_STATE_FULLSCREEN)
         gtk_window_unfullscreen (GTK_WINDOW (browser));
     else
@@ -4610,7 +4610,11 @@ midori_panel_notify_right_aligned_cb (MidoriPanel*   panel,
     GtkWidget* hpaned = gtk_widget_get_parent (browser->panel);
     GtkWidget* vpaned = gtk_widget_get_parent (browser->notebook);
     gint paned_position = gtk_paned_get_position (GTK_PANED (hpaned));
-    gint paned_size = hpaned->allocation.width;
+    GtkAllocation allocation;
+    gint paned_size;
+
+    gtk_widget_get_allocation (hpaned, &allocation);
+    paned_size = allocation.width;
 
     g_object_set (browser->settings, "right-align-sidepanel", right_aligned, NULL);
 
@@ -5083,22 +5087,24 @@ static gboolean
 midori_browser_alloc_timeout (MidoriBrowser* browser)
 {
     GtkWidget* widget = GTK_WIDGET (browser);
-    GdkWindowState state = gdk_window_get_state (widget->window);
+    GdkWindowState state = gdk_window_get_state (gtk_widget_get_window (widget));
 
     if (!(state &
         (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)))
     {
-        if (widget->allocation.width != browser->last_window_width)
+        GtkAllocation allocation;
+        gtk_widget_get_allocation (widget, &allocation);
+        if (allocation.width != browser->last_window_width)
         {
-            browser->last_window_width = widget->allocation.width;
+            browser->last_window_width = allocation.width;
             g_object_set (browser->settings,
                 "last-window-width", browser->last_window_width, NULL);
         }
-        if (widget->allocation.height != browser->last_window_height)
+        if (allocation.height != browser->last_window_height)
         {
-            browser->last_window_height = widget->allocation.height;
+            browser->last_window_height = allocation.height;
             g_object_set (browser->settings,
-                "last-window-height", widget->allocation.height, NULL);
+                "last-window-height", allocation.height, NULL);
         }
     }
 
@@ -5276,7 +5282,7 @@ midori_browser_realize_cb (GtkStyle*      style,
     #ifdef HAVE_HILDON_2_2
     /* hildon_gtk_window_enable_zoom_keys */
     guint32 set = 1;
-    gdk_property_change (GTK_WIDGET (browser)->window,
+    gdk_property_change (gtk_widget_get_window (GTK_WIDGET (browser)),
                          gdk_atom_intern ("_HILDON_ZOOM_KEY_ATOM", FALSE),
                          gdk_x11_xatom_to_atom (XA_INTEGER),
                          32, GDK_PROP_MODE_REPLACE,
index 1ceb772fd687ec61d8841c0d0329e6bf5186018d..9785e196c6174293b12bf5777b67524c104c71dd 100644 (file)
@@ -276,19 +276,21 @@ static void
 midori_location_action_popup_position (GtkWidget* popup,
                                        GtkWidget* widget)
 {
+    GdkWindow* window = gtk_widget_get_window (widget);
     gint wx, wy;
     GtkRequisition menu_req;
     GtkRequisition widget_req;
     GdkScreen* screen;
     gint monitor_num;
     GdkRectangle monitor;
+    GtkAllocation allocation;
 
-    gdk_window_get_origin (widget->window, &wx, &wy);
+    gdk_window_get_origin (window, &wx, &wy);
     gtk_widget_size_request (popup, &menu_req);
     gtk_widget_size_request (widget, &widget_req);
 
     screen = gtk_widget_get_screen (widget);
-    monitor_num = gdk_screen_get_monitor_at_window (screen, widget->window);
+    monitor_num = gdk_screen_get_monitor_at_window (screen, window);
     gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
 
     if (wy + widget_req.height + menu_req.height <= monitor.y + monitor.height
@@ -297,7 +299,8 @@ midori_location_action_popup_position (GtkWidget* popup,
     else
         wy -= menu_req.height;
     gtk_window_move (GTK_WINDOW (popup),  wx, wy);
-    gtk_window_resize (GTK_WINDOW (popup), widget->allocation.width, 1);
+    gtk_widget_get_allocation (widget, &allocation);
+    gtk_window_resize (GTK_WINDOW (popup), allocation.width, 1);
 }
 
 static gboolean
index a72e57b8a7e663bc24ef10de2603bd8289badd41..bb04d90e38b6fac63e17e5e126bc06c2a0f971a8 100644 (file)
@@ -1585,12 +1585,12 @@ midori_view_ensure_link_uri (MidoriView* view,
     g_return_if_fail (MIDORI_IS_VIEW (view));
 
     #if WEBKIT_CHECK_VERSION (1, 1, 15)
-    if (view->web_view && view->web_view->window)
+    if (view->web_view && gtk_widget_get_window (view->web_view))
     {
         gint ex, ey;
         GdkEventButton event;
 
-        gdk_window_get_pointer (view->web_view->window, &ex, &ey, NULL);
+        gdk_window_get_pointer (gtk_widget_get_window (view->web_view), &ex, &ey, NULL);
         if (x != NULL)
             *x = ex;
         if (y != NULL)
@@ -2635,15 +2635,14 @@ midori_view_web_view_tap_and_hold_cb (GtkWidget*  web_view,
 
     /* Emulate a pointer motion above the tap position
       and a right click at the according position. */
-    gdk_window_get_pointer (web_view->window, &x, &y, NULL);
+    event.any.window = gtk_widget_get_window (web_view);
+    gdk_window_get_pointer (event.any.window, &x, &y, NULL);
     event.any.type = GDK_MOTION_NOTIFY;
-    event.any.window = web_view->window;
     event.motion.x = x;
     event.motion.y = y;
     g_signal_emit_by_name (web_view, "motion-notify-event", &event, &result);
 
     event.any.type = GDK_BUTTON_PRESS;
-    event.any.window = web_view->window;
     event.button.axes = NULL;
     event.button.x = x;
     event.button.y = y;
@@ -5090,6 +5089,8 @@ midori_view_get_snapshot (MidoriView* view,
                           gint        height)
 {
     GtkWidget* web_view;
+    GdkWindow* window;
+    GtkAllocation allocation;
     gboolean fast;
     gint x, y, w, h;
     GdkRectangle rect;
@@ -5101,12 +5102,14 @@ midori_view_get_snapshot (MidoriView* view,
 
     g_return_val_if_fail (MIDORI_IS_VIEW (view), NULL);
     web_view = view->web_view;
-    g_return_val_if_fail (web_view->window, NULL);
+    window = gtk_widget_get_window (web_view);
+    g_return_val_if_fail (window != NULL, NULL);
 
-    x = web_view->allocation.x;
-    y = web_view->allocation.y;
-    w = web_view->allocation.width;
-    h = web_view->allocation.height;
+    gtk_widget_get_allocation (web_view, &allocation);
+    x = allocation.x;
+    y = allocation.y;
+    w = allocation.width;
+    h = allocation.height;
 
     /* If width and height are both negative, we try to render faster at
        the cost of correctness or beauty. Only a part of the page is
@@ -5126,15 +5129,14 @@ midori_view_get_snapshot (MidoriView* view,
     rect.width = w;
     rect.height = h;
 
-    pixmap = gdk_pixmap_new (web_view->window, w, h,
-        gdk_drawable_get_depth (web_view->window));
+    pixmap = gdk_pixmap_new (window, w, h, gdk_drawable_get_depth (window));
     event.expose.type = GDK_EXPOSE;
     event.expose.window = pixmap;
     event.expose.send_event = FALSE;
     event.expose.count = 0;
     event.expose.area.x = 0;
     event.expose.area.y = 0;
-    gdk_drawable_get_size (GDK_DRAWABLE (web_view->window),
+    gdk_drawable_get_size (GDK_DRAWABLE (window),
         &event.expose.area.width, &event.expose.area.height);
     event.expose.region = gdk_region_rectangle (&event.expose.area);
 
index fa319601f249b910a7b72822c2d126fb7d245a27..5515486d139e301d306053234ee2dbfeb89067ca 100644 (file)
@@ -54,6 +54,7 @@
     #define gtk_widget_get_sensitive(widget) GTK_WIDGET_IS_SENSITIVE (widget)
     #define gtk_widget_set_can_focus(widget,flag) \
         GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS)
+    #define gtk_widget_get_allocation(wdgt, alloc) *alloc = wdgt->allocation
 #endif
 
 #if !GTK_CHECK_VERSION (2, 20, 0)