GTK2 no longer supported
[geeqie.git] / src / cellrenderericon.c
index ed1e33a..9fd996c 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <stdlib.h>
 #include <gtk/gtk.h> /* To define GTK_CHECK_VERSION */
+#include "main.h"
 #include "cellrenderericon.h"
 #include "intl.h"
 
@@ -39,7 +40,6 @@ static void gqv_cell_renderer_icon_init(GQvCellRendererIcon *celltext);
 static void gqv_cell_renderer_icon_class_init_wrapper(void *, void *);
 static void gqv_cell_renderer_icon_class_init(GQvCellRendererIconClass *class);
 static void gqv_cell_renderer_icon_finalize(GObject *object);
-#if GTK_CHECK_VERSION(3,0,0)
 static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
                                            GtkWidget          *widget,
                                            const GdkRectangle *rectangle,
@@ -47,34 +47,14 @@ static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
                                            gint               *y_offset,
                                            gint               *width,
                                            gint               *height);
-#else
-static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
-                                           GtkWidget          *widget,
-                                           GdkRectangle       *rectangle,
-                                           gint               *x_offset,
-                                           gint               *y_offset,
-                                           gint               *width,
-                                           gint               *height);
-#endif
-#if GTK_CHECK_VERSION(3,0,0)
+
 static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
                                           cairo_t *cr,
                                           GtkWidget *widget,
                                           const GdkRectangle *background_area,
                                           const GdkRectangle *cell_area,
                                           GtkCellRendererState flags);
-#else
-static void gqv_cell_renderer_icon_render(GtkCellRenderer      *cell,
-                                          GdkWindow            *window,
-                                          GtkWidget            *widget,
-                                          GdkRectangle         *background_area,
-                                          GdkRectangle         *cell_area,
-                                          GdkRectangle         *expose_area,
-                                          GtkCellRendererState flags);
-#endif
-
-
-#if GTK_CHECK_VERSION(3,0,0)
+
 static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
                                                GdkEvent             *event,
                                                GtkWidget            *widget,
@@ -82,16 +62,6 @@ static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
                                                const GdkRectangle   *background_area,
                                                const GdkRectangle   *cell_area,
                                                GtkCellRendererState  flags);
-#else
-static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
-                                               GdkEvent             *event,
-                                               GtkWidget            *widget,
-                                               const gchar          *path,
-                                               GdkRectangle         *background_area,
-                                               GdkRectangle         *cell_area,
-                                               GtkCellRendererState  flags);
-#endif
-
 enum {
   TOGGLED,
   LAST_SIGNAL
@@ -150,7 +120,7 @@ gqv_cell_renderer_icon_get_type(void)
 }
 
 static void
-gqv_cell_renderer_icon_init_wrapper(void *data, void *user_data)
+gqv_cell_renderer_icon_init_wrapper(void *data, void *UNUSED(user_data))
 {
        gqv_cell_renderer_icon_init(data);
 }
@@ -163,7 +133,7 @@ gqv_cell_renderer_icon_init(GQvCellRendererIcon *cellicon)
 }
 
 static void
-gqv_cell_renderer_icon_class_init_wrapper(void *data, void *user_data)
+gqv_cell_renderer_icon_class_init_wrapper(void *data, void *UNUSED(user_data))
 {
        gqv_cell_renderer_icon_class_init(data);
 }
@@ -579,7 +549,6 @@ gqv_cell_renderer_icon_new(void)
        return g_object_new(GQV_TYPE_CELL_RENDERER_ICON, NULL);
 }
 
-#if GTK_CHECK_VERSION(3,0,0)
 static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
                                            GtkWidget          *widget,
                                            const GdkRectangle *cell_area,
@@ -587,15 +556,6 @@ static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
                                            gint               *y_offset,
                                            gint               *width,
                                            gint               *height)
-#else
-static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
-                                           GtkWidget          *widget,
-                                           GdkRectangle       *cell_area,
-                                           gint               *x_offset,
-                                           gint               *y_offset,
-                                           gint               *width,
-                                           gint               *height)
-#endif
 {
        GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
        gint calc_width;
@@ -667,52 +627,26 @@ static void gqv_cell_renderer_icon_get_size(GtkCellRenderer    *cell,
        if (height) *height = calc_height;
 }
 
-#if GTK_CHECK_VERSION(3,0,0)
 static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
                                           cairo_t *cr,
                                           GtkWidget *widget,
-                                          const GdkRectangle *background_area,
+                                          const GdkRectangle *UNUSED(background_area),
                                           const GdkRectangle *cell_area,
                                           GtkCellRendererState flags)
 
 {
        GtkStyleContext *context = gtk_widget_get_style_context(widget);
-#else
-static void
-gqv_cell_renderer_icon_render(GtkCellRenderer          *cell,
-                             GdkWindow                 *window,
-                             GtkWidget                 *widget,
-                             GdkRectangle              *background_area,
-                             GdkRectangle              *cell_area,
-                             GdkRectangle              *expose_area,
-                             GtkCellRendererState      flags)
-
-{
-       cairo_t *cr = gdk_cairo_create(window);
-#endif
        GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
        GdkPixbuf *pixbuf;
        const gchar *text;
        GdkRectangle cell_rect;
-#if GTK_CHECK_VERSION(3,0,0)
        GtkStateFlags state;
-#else
-       GtkStateType state;
-#endif
        gint xpad, ypad;
 
 
        pixbuf = cellicon->pixbuf;
        text = cellicon->text;
 
-       if (!pixbuf && !text)
-               {
-#if !GTK_CHECK_VERSION(3,0,0)
-               cairo_destroy(cr);
-#endif
-               return;
-               }
-
        gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
 
        gqv_cell_renderer_icon_get_size(cell, widget, cell_area,
@@ -727,33 +661,18 @@ gqv_cell_renderer_icon_render(GtkCellRenderer             *cell,
        if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
                {
                if (gtk_widget_has_focus(widget))
-#if GTK_CHECK_VERSION(3,0,0)
                        state = GTK_STATE_FLAG_SELECTED;
                else
                        state = GTK_STATE_FLAG_ACTIVE;
-#else
-                       state = GTK_STATE_SELECTED;
-               else
-                       state = GTK_STATE_ACTIVE;
-#endif
                }
        else
                {
                if (gtk_widget_get_state(widget) == GTK_STATE_INSENSITIVE)
-#if GTK_CHECK_VERSION(3,0,0)
                        state = GTK_STATE_FLAG_INSENSITIVE;
                else
                        state = GTK_STATE_FLAG_NORMAL;
-#else
-                       state = GTK_STATE_INSENSITIVE;
-               else
-                       state = GTK_STATE_NORMAL;
-#endif
                }
-
-#if GTK_CHECK_VERSION(3,0,0)
        gtk_style_context_set_state(context, state);
-#endif
 
        if (pixbuf)
                {
@@ -774,11 +693,7 @@ gqv_cell_renderer_icon_render(GtkCellRenderer              *cell,
                        pix_rect.y = cell_area->y + cell_rect.y;
                        }
 
-               if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
-#if !GTK_CHECK_VERSION(3,0,0)
-                   && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
-#endif
-                  )
+               if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect))
                        {
                        gdk_cairo_set_source_pixbuf(cr, pixbuf, pix_rect.x, pix_rect.y);
                        cairo_rectangle (cr,
@@ -810,23 +725,9 @@ gqv_cell_renderer_icon_render(GtkCellRenderer              *cell,
                        pix_rect.y -= TOGGLE_SPACING;
                        }
 
-               if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
-#if !GTK_CHECK_VERSION(3,0,0)
-                   && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
-#endif
-                   )
+               if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect))
                        {
-#if GTK_CHECK_VERSION(3,0,0)
                        gtk_render_layout(context, cr, pix_rect.x - text_rect.x, pix_rect.y, layout);
-#else
-
-                       gtk_paint_layout(gtk_widget_get_style(widget), window,
-                                        state, TRUE,
-                                        cell_area, widget,
-                                        "cellrenderertext",
-                                        pix_rect.x - text_rect.x, pix_rect.y,
-                                        layout);
-#endif
                        }
                g_object_unref(layout);
                }
@@ -842,26 +743,14 @@ gqv_cell_renderer_icon_render(GtkCellRenderer             *cell,
                pix_rect.x = cell_area->x + xpad + (cell_rect.width - pix_rect.width + 1) / 2 + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
                pix_rect.y = cell_area->y + ypad + (cell_rect.height - pix_rect.height) + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
 
-               if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
-#if !GTK_CHECK_VERSION(3,0,0)
-                   && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
-#endif
-                   )
+               if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect))
                        {
                        for (i = 0; i < cellicon->num_marks; i++)
                                {
-#if GTK_CHECK_VERSION(3,0,0)
-#if GTK_CHECK_VERSION(3,14,0)
                                state &= ~(GTK_STATE_FLAG_CHECKED);
 
                                if ((cellicon->marks & (1 << i)))
                                        state |= GTK_STATE_FLAG_CHECKED;
-#else
-                               state &= ~(GTK_STATE_FLAG_ACTIVE);
-
-                               if ((cellicon->marks & (1 << i)))
-                                       state |= GTK_STATE_FLAG_ACTIVE;
-#endif
                                cairo_save (cr);
 
                                cairo_rectangle(cr,
@@ -906,50 +795,18 @@ gqv_cell_renderer_icon_render(GtkCellRenderer             *cell,
                                        }
                                gtk_style_context_restore(context);
                                cairo_restore(cr);
-
-#else
-                               gtk_paint_check(gtk_widget_get_style(widget), window,
-                                        state, (cellicon->marks & (1 << i)) ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
-                                        cell_area, widget, "cellcheck",
-                                        pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
-                                        pix_rect.y,
-                                        TOGGLE_WIDTH, TOGGLE_WIDTH);
-#endif
                                }
                        }
                }
-
-#if !GTK_CHECK_VERSION(3,0,0)
-       if (cellicon->focused && gtk_widget_has_focus(widget))
-               {
-               gtk_paint_focus(gtk_widget_get_style(widget), window,
-                               state,
-                               cell_area, widget,
-                               "cellrendererfocus",
-                               cell_area->x, cell_area->y,
-                               cell_area->width, cell_area->height);
-               }
-       cairo_destroy(cr);
-#endif
 }
 
-#if GTK_CHECK_VERSION(3,0,0)
 static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
                                                GdkEvent             *event,
                                                GtkWidget            *widget,
                                                const gchar          *path,
-                                               const GdkRectangle   *background_area,
+                                               const GdkRectangle   *UNUSED(background_area),
                                                const GdkRectangle   *cell_area,
-                                               GtkCellRendererState  flags)
-#else
-static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
-                                               GdkEvent             *event,
-                                               GtkWidget            *widget,
-                                               const gchar          *path,
-                                               GdkRectangle         *background_area,
-                                               GdkRectangle         *cell_area,
-                                               GtkCellRendererState  flags)
-#endif
+                                               GtkCellRendererState  UNUSED(flags))
 {
        GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
        GdkEventButton *bevent = &event->button;