[dia] Remove fallback code for unsupported glib/gtk



commit 5fcae38699fcc363915d723b79f480288942e48a
Author: Zander Brown <zbrown gnome org>
Date:   Sat May 11 18:32:57 2019 +0100

    Remove fallback code for unsupported glib/gtk

 app/app_procs.c                        |  18 ---
 app/authors.h                          |   4 +
 app/commands.c                         |   7 +-
 app/confirm.c                          |  14 +--
 {data => app}/dia-splash.png           | Bin
 app/dia.gresource.xml                  |   3 +-
 app/diagram_tree_view.c                |   4 -
 app/disp_callbacks.c                   | 132 ++++++++++-----------
 app/display.c                          |  28 +----
 app/filedlg.c                          | 118 +++++++------------
 app/gtkhwrapbox.c                      |  29 -----
 app/gtkvwrapbox.c                      |  31 +----
 app/gtkwrapbox.c                       |  60 ----------
 app/interface.c                        | 132 ++++++++-------------
 app/layer_dialog.c                     |  16 +--
 app/load_save.c                        | 169 +++++++++++++--------------
 app/menus.c                            |  47 +-------
 app/preferences.c                      |  80 ++++++-------
 app/properties-dialog.c                |  22 ++--
 app/ruler.c                            |  26 +----
 app/sheets_dialog.c                    |  16 +--
 app/splash.c                           |  24 +---
 bindings/dia-extra.cpp                 |   9 +-
 data/meson.build                       |   3 -
 lib/dia_image.c                        |   1 +
 lib/diaarrowchooser.c                  |  28 ++---
 lib/dialinechooser.c                   |  10 +-
 lib/persistence.c                      |  99 +++++++---------
 lib/prop_inttypes.c                    | 206 ++++++++++++++++-----------------
 lib/widgets.c                          |  12 +-
 objects/AADL/edit_port_declaration.c   |  90 +++++++-------
 plug-ins/postscript/paginate_psprint.c |  52 ++++-----
 plug-ins/python/diamodule.c            |  25 ++--
 tests/test-objects.c                   |  27 ++---
 34 files changed, 564 insertions(+), 978 deletions(-)
---
diff --git a/app/app_procs.c b/app/app_procs.c
index afb4b129..232fe8b5 100644
--- a/app/app_procs.c
+++ b/app/app_procs.c
@@ -656,11 +656,6 @@ app_init (int argc, char **argv)
 
   argv0 = (argc > 0) ? argv[0] : "(none)";
 
-#if GTK_CHECK_VERSION(2,24,0)
-  /* ... use setlocale directly? */
-#else
-  gtk_set_locale();
-#endif
   setlocale(LC_NUMERIC, "C");
   _setup_textdomains ();
 
@@ -729,9 +724,6 @@ app_init (int argc, char **argv)
   if (argv && dia_is_interactive) {
     GdkPixbuf *pixbuf;
 
-#  if defined(G_THREADS_ENABLED) && !GLIB_CHECK_VERSION(2,32,0)
-    g_thread_init (NULL);
-#  endif
     g_set_application_name (_("Dia Diagram Editor"));
     gtk_init(&argc, &argv);
 
@@ -749,12 +741,6 @@ app_init (int argc, char **argv)
     }
   }
   else {
-#if defined(G_THREADS_ENABLED) && !GLIB_CHECK_VERSION(2,32,0)
-    g_thread_init (NULL);
-#endif
-#if !GLIB_CHECK_VERSION(2,36,0)
-    g_type_init();
-#endif
     /*
      * On Windows there is no command line without display so that gtk_init is harmless.
      * On X11 we need gtk_init_check() to avoid exit() just because there is no display
@@ -1013,11 +999,7 @@ app_exit(void)
 
     button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
     gtk_dialog_add_action_widget (GTK_DIALOG(dialog), button, GTK_RESPONSE_CANCEL);
-#if GTK_CHECK_VERSION(2,18,0)
     gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
-#endif
     gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
 
     button = gtk_button_new_from_stock (GTK_STOCK_QUIT);
diff --git a/app/authors.h b/app/authors.h
index 56393dec..157bb2ab 100644
--- a/app/authors.h
+++ b/app/authors.h
@@ -61,9 +61,13 @@ static const gchar *authors[] =      {
     "Alexander Larsson <alexl redhat com>",
 
     /* current maintainer */
+    "Zander Brown <zbrown gnome org>",
+
+    /* "out for lunch" maintainer */
     "Hans Breuer <hans breuer org>",
 
     /* other author(s) */
+    "Eduard Nicodei <eddnicodei gmail com>",
     "Lars R. Clausen <lrclause cs uiuc edu>",
     "Cyrille Chépélov <cyrille chepelov org>",
     "James Henstridge <james daa com au>",
diff --git a/app/commands.c b/app/commands.c
index a4c6b1b0..6efe5e89 100644
--- a/app/commands.c
+++ b/app/commands.c
@@ -39,6 +39,7 @@
 #include "confirm.h"
 #include "dia-application.h"
 #include "menus.h"
+#include "widgets.h"
 
 /** Functions called on menu selects.
  *  Note that GTK (at least up to 2.12) doesn't disable the keyboard shortcuts
@@ -1032,9 +1033,7 @@ help_about_callback (GtkAction *action)
        "along with this program; if not, write to the Free Software\n"
        "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n");
 
-  gchar *dirname = dia_get_data_directory("");
-  gchar *filename = g_build_filename (dirname, "dia-splash.png", NULL);
-  GdkPixbuf *logo = gdk_pixbuf_new_from_file(filename, NULL);
+  GdkPixbuf *logo = pixbuf_from_resource ("/org/gnome/Dia/dia-splash.png");
 
   gtk_show_about_dialog (NULL,
                          "logo", logo,
@@ -1050,8 +1049,6 @@ help_about_callback (GtkAction *action)
                                                 ? translators : NULL,
                          "license", license,
                          NULL);
-  g_free (dirname);
-  g_free (filename);
   if (logo)
     g_object_unref (logo);
 }
diff --git a/app/confirm.c b/app/confirm.c
index 89b0803e..1bbdc50b 100644
--- a/app/confirm.c
+++ b/app/confirm.c
@@ -25,12 +25,12 @@
 #include "confirm.h"
 #include "intl.h"
 
-static gint 
+static gint
 confirm_respond (GtkWidget *widget, gint response_id, gpointer data)
 {
   /* just close it in any case */
   gtk_widget_hide (widget);
-  return 0;  
+  return 0;
 }
 
 /*!
@@ -44,7 +44,7 @@ confirm_export_size (Diagram *dia, GtkWindow *parent, guint flags)
   gint64 bytes = 0;
   gchar *size, *msg;
   gboolean ret;
- 
+
   pages = ceil((dia->data->extents.right - dia->data->extents.left) / dia->data->paper.width)
         * ceil((dia->data->extents.bottom - dia->data->extents.top) /  dia->data->paper.height);
   /* three guesses: 4 bytes per pixel, 20 pixels per cm; using * dia->data->paper.scaling  */
@@ -58,13 +58,9 @@ confirm_export_size (Diagram *dia, GtkWindow *parent, guint flags)
     return TRUE; /* smaller than 100MB  */
   else if ((flags & CONFIRM_PAGES) && (pages < 50))
     return TRUE;
-  
+
   /* message and limits depend on the flags give */
-#if GLIB_CHECK_VERSION(2,30,0)
   size = g_format_size (bytes);
-#else
-  size = g_format_size_for_display (bytes);
-#endif
   /* See: https://live.gnome.org/TranslationProject/DevGuidelines/Plurals */
   if (flags & CONFIRM_PRINT)
     msg = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE,
@@ -84,7 +80,7 @@ confirm_export_size (Diagram *dia, GtkWindow *parent, guint flags)
                                   GTK_MESSAGE_WARNING,
                                   GTK_BUTTONS_OK_CANCEL,
                                   "%s", msg);
-  gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), 
+  gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                                            _("You can adjust the size of the diagram by changing "
                                              "the 'Scaling' in the 'Page Setup' dialog.\n"
                                              "Alternatively use 'Best Fit' "
diff --git a/data/dia-splash.png b/app/dia-splash.png
similarity index 100%
rename from data/dia-splash.png
rename to app/dia-splash.png
diff --git a/app/dia.gresource.xml b/app/dia.gresource.xml
index 43944c5f..a09e1561 100644
--- a/app/dia.gresource.xml
+++ b/app/dia.gresource.xml
@@ -23,5 +23,6 @@
     <file>icons/dia-layer-rename.png</file>
     <file>icons/dia-layer-move-above.png</file>
     <file>icons/dia-layer-move-below.png</file>
+    <file>dia-splash.png</file>
   </gresource>
-</gresources>
\ No newline at end of file
+</gresources>
diff --git a/app/diagram_tree_view.c b/app/diagram_tree_view.c
index 5a7d7c80..c49598af 100644
--- a/app/diagram_tree_view.c
+++ b/app/diagram_tree_view.c
@@ -571,11 +571,7 @@ diagram_tree_show (void)
 
     gtk_window_set_role (GTK_WINDOW (window), "diagram_tree");
 
-#if GTK_CHECK_VERSION(2,20,0)
     if (!gtk_widget_get_visible (window))
-#else
-    if (!GTK_WIDGET_VISIBLE (window))
-#endif
       gtk_widget_show_all (window);
 
     /* FIXME: remove flicker by removing gtk_widget_show from persistence_register_window() */
diff --git a/app/disp_callbacks.c b/app/disp_callbacks.c
index 030dd2e6..56b70869 100644
--- a/app/disp_callbacks.c
+++ b/app/disp_callbacks.c
@@ -56,7 +56,7 @@ typedef struct {
 
 static HoldTimeoutData hold_data = {NULL, NULL, 0};
 
-       
+
 
 static void
 object_menu_item_proxy(GtkWidget *widget, gpointer data)
@@ -99,7 +99,7 @@ object_menu_item_proxy(GtkWidget *widget, gpointer data)
 }
 
 static void
-dia_menu_free(DiaMenu *dia_menu) 
+dia_menu_free(DiaMenu *dia_menu)
 {
   if (dia_menu->app_data)
     gtk_object_destroy((GtkObject *)dia_menu->app_data);
@@ -114,8 +114,8 @@ dia_menu_free(DiaMenu *dia_menu)
   pass TRUE in separator if you want to insert a separator before the poperty
   menu item.
 */
-static void 
-add_properties_menu_item (GtkMenu *menu, gboolean separator) 
+static void
+add_properties_menu_item (GtkMenu *menu, gboolean separator)
 {
   GtkWidget *menu_item = NULL;
 
@@ -148,7 +148,7 @@ _follow_link_callback (GtkAction *action, gpointer data)
   if (strstr (url, "://") == NULL) {
     if (!g_path_is_absolute(url)) {
       gchar *p = NULL;
-      
+
       if (ddisp->diagram->filename)
         p = dia_absolutize_filename (ddisp->diagram->filename, url);
       if (p) {
@@ -259,10 +259,10 @@ add_combine_to_path_menu_items (GtkMenu *menu)
     const gchar    *name;
     PathCombineMode mode;
   } _ops[] = {
-    { N_("Union"), PATH_UNION }, 
-    { N_("Difference"), PATH_DIFFERENCE }, 
-    { N_("Intersection"), PATH_INTERSECTION }, 
-    { N_("Exclusion"), PATH_EXCLUSION }, 
+    { N_("Union"), PATH_UNION },
+    { N_("Difference"), PATH_DIFFERENCE },
+    { N_("Intersection"), PATH_INTERSECTION },
+    { N_("Exclusion"), PATH_EXCLUSION },
   };
   int i;
   for (i = 0; i < G_N_ELEMENTS (_ops); ++i) {
@@ -323,15 +323,15 @@ create_object_menu(DiaMenu *dia_menu, gboolean root_menu, gboolean combining)
           /* only connect signal handler if there is actually a callback */
       g_signal_connect (G_OBJECT (menu_item), "activate",
                         G_CALLBACK (object_menu_item_proxy), &dia_menu->items[i]);
-    } else { 
-      if ( item->callback_data ) { 
+    } else {
+      if ( item->callback_data ) {
             /* This menu item is a submenu if it has no callback, but does
              * Have callback_data. In this case the callback_data is a
              * DiaMenu pointer for the submenu. */
         if ( ((DiaMenu*)item->callback_data)->app_data == NULL ) {
               /* Create the popup menu items for the submenu. */
           create_object_menu((DiaMenu*)(item->callback_data), FALSE, FALSE) ;
-          gtk_menu_item_set_submenu( GTK_MENU_ITEM (menu_item), 
+          gtk_menu_item_set_submenu( GTK_MENU_ITEM (menu_item),
                                      GTK_WIDGET(((DiaMenu*)(item->callback_data))->app_data));
         }
       }
@@ -371,23 +371,23 @@ popup_object_menu(DDisplay *ddisp, GdkEvent *event)
   int i;
   int num_items;
   Point last_clicked_pos;
-  
+
   diagram = ddisp->diagram;
   if (g_list_length (diagram->data->selected) < 1)
     return;
-  
+
   selected_list = diagram->data->selected;
-  
+
   /* Have to have exactly one selected object */
   if (selected_list == NULL) {
     message_error("Selected list is %s while selected_count is %d\n",
                  (selected_list?"long":"empty"), g_list_length (diagram->data->selected));
     return;
   }
-  
+
   last_clicked_pos = ddisplay_get_clicked_position(ddisp);
   obj = (DiaObject *)g_list_first(selected_list)->data;
-  
+
   /* Possibly react differently at a handle? */
 
   /* Get its menu, and remember the # of object-generated items */
@@ -444,7 +444,7 @@ popup_object_menu(DDisplay *ddisp, GdkEvent *event)
 
   menu = GTK_MENU(dia_menu->app_data);
   /* add the properties menu item to raise the properties from the contextual menu */
-  
+
   if (event->type == GDK_BUTTON_PRESS)
     gtk_menu_popup(menu, NULL, NULL, NULL, NULL,
                   ((GdkEventButton *)event)->button, ((GdkEventButton *)event)->time);
@@ -465,14 +465,10 @@ ddisplay_focus_in_event(GtkWidget *widget, GdkEventFocus *event, gpointer data)
 
   ddisp = (DDisplay *)data;
 
-#if GTK_CHECK_VERSION(2,21,6)
   g_assert (event->in == TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
-#endif
 
   gtk_im_context_focus_in(GTK_IM_CONTEXT(ddisp->im_context));
-  
+
   return FALSE;
 }
 
@@ -481,7 +477,7 @@ ddisplay_focus_out_event(GtkWidget *widget, GdkEventFocus *event,gpointer data)
 {
   DDisplay *ddisp;
   int return_val;
-  
+
   g_return_val_if_fail (widget != NULL, FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
   g_return_val_if_fail (data != NULL, FALSE);
@@ -490,11 +486,7 @@ ddisplay_focus_out_event(GtkWidget *widget, GdkEventFocus *event,gpointer data)
 
   ddisp = (DDisplay *)data;
 
-#if GTK_CHECK_VERSION(2,21,6)
   g_assert (event->in == FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
-#endif
 
   gtk_im_context_focus_out(GTK_IM_CONTEXT(ddisp->im_context));
 
@@ -519,7 +511,7 @@ void
 ddisplay_unrealize (GtkWidget *widget, gpointer data)
 {
   DDisplay *ddisp;
-  
+
   g_return_if_fail (widget != NULL);
   g_return_if_fail (data != NULL);
 
@@ -540,10 +532,10 @@ ddisplay_popup_menu(DDisplay *ddisp, GdkEventButton *event)
   gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
                 event->button, event->time);
 }
-static void 
-handle_key_event(DDisplay *ddisp, Focus *focus, 
+static void
+handle_key_event(DDisplay *ddisp, Focus *focus,
                 guint keystate, guint keysym,
-                 const gchar *str, int strlen) 
+                 const gchar *str, int strlen)
 {
   DiaObject *obj = focus_get_object(focus);
   Point p = obj->position;
@@ -551,15 +543,15 @@ handle_key_event(DDisplay *ddisp, Focus *focus,
   gboolean modified;
 
   object_add_updates(obj, ddisp->diagram);
-  
+
   modified = (focus->key_event)(focus, keystate, keysym, str, strlen,
                                &obj_change);
 
   /* Make sure object updates its data and its connected: */
   p = obj->position;
-  (obj->ops->move)(obj,&p);  
+  (obj->ops->move)(obj,&p);
   diagram_update_connections_object(ddisp->diagram,obj,TRUE);
-         
+
   object_add_updates(obj, ddisp->diagram);
 
   if (modified) {
@@ -573,11 +565,11 @@ handle_key_event(DDisplay *ddisp, Focus *focus,
 
   diagram_flush(ddisp->diagram);
 }
-  
 
-void 
+
+void
 ddisplay_im_context_commit(GtkIMContext *context, const gchar  *str,
-                           DDisplay     *ddisp) 
+                           DDisplay     *ddisp)
 {
       /* When using IM, we'll not get many key events past the IM filter,
          mostly IM Commits.
@@ -585,24 +577,24 @@ ddisplay_im_context_commit(GtkIMContext *context, const gchar  *str,
          regardless of the platform, "str" should be a clean UTF8 string
          (the default IM on X should perform the local->UTF8 conversion)
       */
-      
+
   Focus *focus = get_active_focus((DiagramData *) ddisp->diagram);
 
   ddisplay_im_context_preedit_reset(ddisp, focus);
-  
+
   if (focus != NULL)
     handle_key_event(ddisp, focus, 0, 0, str, g_utf8_strlen(str,-1));
 }
 
-void 
+void
 ddisplay_im_context_preedit_changed(GtkIMContext *context,
-                                    DDisplay *ddisp) 
+                                    DDisplay *ddisp)
 {
   gint cursor_pos;
   Focus *focus = get_active_focus((DiagramData *) ddisp->diagram);
 
   ddisplay_im_context_preedit_reset(ddisp, focus);
-  
+
   gtk_im_context_get_preedit_string(context, &ddisp->preedit_string,
                                     &ddisp->preedit_attrs, &cursor_pos);
   if (ddisp->preedit_string != NULL) {
@@ -665,8 +657,8 @@ _scroll_step (DDisplay *ddisp, guint keyval)
 
 /** Cleanup/Remove Timeout Handler for Button Press and Hold
  */
-static void 
-hold_remove_handler(void) 
+static void
+hold_remove_handler(void)
 {
   if (hold_data.tag != 0) {
     g_source_remove(hold_data.tag);
@@ -681,8 +673,8 @@ hold_remove_handler(void)
  * the pointer (mouse).
  * Dynamic data is cleaned up in ddisplay_canvas_events
  */
-static gboolean 
-hold_timeout_handler(gpointer data) 
+static gboolean
+hold_timeout_handler(gpointer data)
 {
   if (active_tool->button_hold_func)
     (*active_tool->button_hold_func) (active_tool, (GdkEventButton *)(hold_data.event), hold_data.ddisp);
@@ -713,10 +705,10 @@ ddisplay_canvas_events (GtkWidget *canvas,
   int key_handled;
   int im_context_used;
   static gboolean moving = FALSE;
-  
+
   return_val = FALSE;
- 
-  if (!gtk_widget_get_window(canvas)) 
+
+  if (!gtk_widget_get_window(canvas))
     return FALSE;
 
   switch (event->type)
@@ -734,13 +726,13 @@ ddisplay_canvas_events (GtkWidget *canvas,
                  /* zooming with the wheel in small steps 1^(1/8) */
                   ddisplay_zoom_centered(ddisp, &middle, 1.090508);
               }
-              else 
+              else
                   ddisplay_scroll_up(ddisp);
               break;
             case GDK_SCROLL_DOWN:
               if (sevent->state & GDK_SHIFT_MASK)
                   ddisplay_scroll_right(ddisp);
-              else if (sevent->state & GDK_CONTROL_MASK) { 
+              else if (sevent->state & GDK_CONTROL_MASK) {
                   ddisplay_untransform_coords(ddisp, (int)sevent->x, (int)sevent->y, &middle.x, &middle.y);
                  /* zooming with the wheel in small steps 1/(1^(1/8)) */
                   ddisplay_zoom_centered(ddisp, &middle, 0.917004);
@@ -858,7 +850,7 @@ ddisplay_canvas_events (GtkWidget *canvas,
         {
             case 1:
              if (moving)
-               moving = FALSE;               
+               moving = FALSE;
               if (active_tool->button_release_func)
                 (*active_tool->button_release_func) (active_tool,
                                                      bevent, ddisp);
@@ -870,7 +862,7 @@ ddisplay_canvas_events (GtkWidget *canvas,
              if (transient_tool) {
                (*transient_tool->button_release_func) (transient_tool,
                                                     bevent, ddisp);
-                                                               
+
                tool_free(transient_tool);
                transient_tool = NULL;
              }
@@ -897,14 +889,14 @@ ddisplay_canvas_events (GtkWidget *canvas,
           mevent->state = tmask;
           mevent->is_hint = FALSE;
         }
-        if (transient_tool && (*transient_tool->motion_func)) 
+        if (transient_tool && (*transient_tool->motion_func))
           (*transient_tool->motion_func) (transient_tool, mevent, ddisp);
         else if (active_tool->motion_func)
           (*active_tool->motion_func) (active_tool, mevent, ddisp);
         break;
 
       case GDK_KEY_PRESS:
-       if (moving)     /*Disable Keyboard accels whilst draggin an object*/ 
+       if (moving)     /*Disable Keyboard accels whilst draggin an object*/
                break;
         display_set_active(ddisp);
         kevent = (GdkEventKey *)event;
@@ -922,7 +914,7 @@ ddisplay_canvas_events (GtkWidget *canvas,
 
            if (!gtk_im_context_filter_keypress(
                  GTK_IM_CONTEXT(ddisp->im_context), kevent)) {
-             
+
              switch (kevent->keyval) {
                  case GDK_Tab:
                    focus = textedit_move_focus(ddisp, focus,
@@ -938,7 +930,7 @@ ddisplay_canvas_events (GtkWidget *canvas,
                    /*! key event not swallowed by the input method ? */
                    handle_key_event(ddisp, focus, kevent->state, kevent->keyval,
                                     kevent->string, kevent->length);
-                   
+
                    diagram_flush(ddisp->diagram);
              }
            }
@@ -950,12 +942,12 @@ ddisplay_canvas_events (GtkWidget *canvas,
                * shouldn't break im_context handling. How to test?    --hb
                */
         if (!key_handled && (state & (GDK_CONTROL_MASK | GDK_MOD1_MASK))) {
-#else            
+#else
         if (!key_handled) {
 #endif
               /* IM doesn't need receive keys, take care of it ourselves. */
           return_val = TRUE;
-          
+
           switch(kevent->keyval) {
              case GDK_Home :
              case GDK_KP_Home :
@@ -968,8 +960,8 @@ ddisplay_canvas_events (GtkWidget *canvas,
              case GDK_KP_End :
                /* match lower right corner of the diagram with it's view */
                visible = &ddisp->visible;
-               ddisplay_set_origo(ddisp, 
-                                  ddisp->diagram->data->extents.right - (visible->right - visible->left), 
+               ddisplay_set_origo(ddisp,
+                                  ddisp->diagram->data->extents.right - (visible->right - visible->left),
                                   ddisp->diagram->data->extents.bottom - (visible->bottom - visible->top));
                ddisplay_update_scrollbars(ddisp);
                ddisplay_add_update_all(ddisp);
@@ -993,13 +985,13 @@ ddisplay_canvas_events (GtkWidget *canvas,
                                  GDK_Down == kevent->keyval ? DIR_DOWN :
                                  GDK_Right == kevent->keyval ? DIR_RIGHT : DIR_LEFT;
                  object_add_updates_list(objects, dia);
-                 object_list_nudge(objects, dia, dir, 
+                 object_list_nudge(objects, dia, dir,
                                    /* step one pixel or more with <ctrl> */
                                    ddisplay_untransform_length (ddisp, (state & GDK_SHIFT_MASK) ? 10 : 1));
                  diagram_update_connections_selection(dia);
                  object_add_updates_list(objects, dia);
                  diagram_modified(dia);
-                 diagram_flush(dia);     
+                 diagram_flush(dia);
 
                  undo_set_transactionpoint(dia->undo);
                } else {
@@ -1032,7 +1024,7 @@ ddisplay_canvas_events (GtkWidget *canvas,
               default:
                 if (kevent->string && kevent->keyval == ' ') {
                   tool_select_former();
-                } else if ((kevent->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) == 0 && 
+                } else if ((kevent->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) == 0 &&
                           kevent->length != 0) {
                  /* Find first editable? */
                 }
@@ -1041,7 +1033,7 @@ ddisplay_canvas_events (GtkWidget *canvas,
 
         if (!im_context_used)
           gtk_im_context_reset(GTK_IM_CONTEXT(ddisp->im_context));
-        
+
         break;
 
       case GDK_KEY_RELEASE:
@@ -1061,11 +1053,11 @@ ddisplay_canvas_events (GtkWidget *canvas,
           }
         }
         break;
-      
+
       default:
         break;
   }
-  
+
   return return_val;
 }
 
@@ -1095,7 +1087,7 @@ ddisplay_delete (GtkWidget *widget, GdkEvent  *event, gpointer data)
   DDisplay *ddisp;
 
   ddisp = (DDisplay *)data;
-  
+
   ddisplay_close(ddisp);
   return TRUE;
 }
@@ -1104,7 +1096,7 @@ void
 ddisplay_destroy (GtkWidget *widget, gpointer data)
 {
   DDisplay *ddisp;
-  
+
   ddisp = (DDisplay *) data;
 
   ddisplay_really_destroy(ddisp);
diff --git a/app/display.c b/app/display.c
index 909af87a..91a131be 100644
--- a/app/display.c
+++ b/app/display.c
@@ -1119,11 +1119,7 @@ ddisplay_close(DDisplay *ddisp)
   /* button = gtk_button_new_with_label (_("Save and Close")); */
   button = gtk_button_new_from_stock (GTK_STOCK_SAVE);
   gtk_dialog_add_action_widget (GTK_DIALOG(dialog), button, GTK_RESPONSE_YES);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
-#endif
   gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_YES);
 
   g_signal_connect (G_OBJECT (dialog), "response",
@@ -1150,29 +1146,25 @@ display_update_menu_state(DDisplay *ddisp)
   antialiased  = GTK_TOGGLE_ACTION (menus_get_action ("ViewAntialiased"));
 
   gtk_action_set_sensitive (menus_get_action ("ViewAntialiased"),
-                           g_type_from_name ("DiaCairoInteractiveRenderer") != 0);
+                            g_type_from_name ("DiaCairoInteractiveRenderer") != 0);
 
   ddisplay_do_update_menu_sensitivity (ddisp);
 
   gtk_toggle_action_set_active (rulers, display_get_rulers_showing(ddisp));
 
-#if GTK_CHECK_VERSION(2,20,0)
   scrollbars_shown = gtk_widget_get_visible (ddisp->hsb);
-#else
-  scrollbars_shown = GTK_WIDGET_VISIBLE (ddisp->hsb);
-#endif
   gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (menus_get_action ("ViewShowscrollbars")),
-                               scrollbars_shown);
+                                scrollbars_shown);
 
   gtk_toggle_action_set_active (visible_grid,
-                               ddisp->grid.visible);
+                                ddisp->grid.visible);
   gtk_toggle_action_set_active (snap_to_grid,
-                               ddisp->grid.snap);
+                                ddisp->grid.snap);
   gtk_toggle_action_set_active (show_cx_pts,
-                               ddisp->show_cx_pts);
+                                ddisp->show_cx_pts);
 
   gtk_toggle_action_set_active (antialiased,
-                               ddisp->aa_renderer);
+                                ddisp->aa_renderer);
 }
 
 void
@@ -1327,11 +1319,7 @@ void display_rulers_show (DDisplay *ddisp)
     gtk_widget_show (ddisp->hrule);
     gtk_widget_show (ddisp->vrule);
 
-#if GTK_CHECK_VERSION(2,20,0)
     if (gtk_widget_get_visible (parent))
-#else
-    if (GTK_WIDGET_VISIBLE (parent))
-#endif
       gtk_widget_queue_resize (parent);
 
     ddisp->rulers_are_showing = TRUE;
@@ -1355,11 +1343,7 @@ void display_rulers_hide (DDisplay *ddisp)
     gtk_widget_hide (ddisp->hrule);
     gtk_widget_hide (ddisp->vrule);
 
-#if GTK_CHECK_VERSION(2,20,0)
     if (gtk_widget_get_visible (parent))
-#else
-    if (GTK_WIDGET_VISIBLE (parent))
-#endif
       gtk_widget_queue_resize (parent);
 
     ddisp->rulers_are_showing = FALSE;
diff --git a/app/filedlg.c b/app/filedlg.c
index e4219412..3fbd9fec 100644
--- a/app/filedlg.c
+++ b/app/filedlg.c
@@ -80,7 +80,7 @@ ifilter_by_index (int index, const char* filename)
   return ifilter;
 }
 
-typedef void* (* FilterGuessFunc) (const gchar* filename); 
+typedef void* (* FilterGuessFunc) (const gchar* filename);
 
 /**
  * Respond to the file chooser filter facility, that is match
@@ -132,7 +132,7 @@ build_gtk_file_filter_from_index (int index)
   if (ifilter) {
     GString *pattern = g_string_new ("*.");
     int i = 0;
-    
+
     filter = gtk_file_filter_new ();
 
     while (ifilter->extensions[i] != NULL) {
@@ -159,7 +159,7 @@ build_gtk_file_filter_from_index (int index)
 static void
 import_adapt_extension_callback(GtkWidget *widget)
 {
-  int index = gtk_combo_box_get_active (GTK_COMBO_BOX(widget)); 
+  int index = gtk_combo_box_get_active (GTK_COMBO_BOX(widget));
   GtkFileFilter *former = NULL;
   GSList *list, *elem;
 
@@ -186,19 +186,11 @@ create_open_menu(void)
 {
   GtkWidget *menu;
   GList *tmp;
-  
 
-#if GTK_CHECK_VERSION(2,24,0)
+
   menu = gtk_combo_box_text_new ();
-#else
-  menu = gtk_combo_box_new_text ();
-#endif
-#if GTK_CHECK_VERSION(2,24,0)
-  gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(menu), _("By extension"));
-#else
-  gtk_combo_box_append_text(GTK_COMBO_BOX(menu), _("By extension"));
-#endif
-  
+  gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(menu), _("By extension"));
+
   for (tmp = filter_get_import_filters(); tmp != NULL; tmp = tmp->next) {
     DiaImportFilter *ifilter = tmp->data;
     gchar *filter_label;
@@ -206,24 +198,20 @@ create_open_menu(void)
     if (!ifilter)
       continue;
     filter_label = filter_get_import_filter_label(ifilter);
-#if GTK_CHECK_VERSION(2,24,0)
     gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(menu), filter_label);
-#else
-    gtk_combo_box_append_text (GTK_COMBO_BOX(menu), filter_label);
-#endif
     g_free(filter_label);
   }
-  g_signal_connect(G_OBJECT(menu), "changed",
-                  G_CALLBACK(import_adapt_extension_callback), NULL);
+  g_signal_connect (G_OBJECT (menu), "changed",
+                    G_CALLBACK (import_adapt_extension_callback), NULL);
   return menu;
 }
 
 /**
- * Respond to the user finishing the Open Dialog either accept or cancel/destroy 
+ * Respond to the user finishing the Open Dialog either accept or cancel/destroy
  */
 static void
-file_open_response_callback(GtkWidget *fs, 
-                            gint       response, 
+file_open_response_callback(GtkWidget *fs,
+                            gint       response,
                             gpointer   user_data)
 {
   char *filename;
@@ -235,15 +223,15 @@ file_open_response_callback(GtkWidget *fs,
     if (index >= 0) /* remember it */
       persistence_set_integer ("import-filter", index);
     filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fs));
-    
+
     diagram = diagram_load(filename, ifilter_by_index (index - 1, filename));
 
     g_free (filename);
-    
+
     if (diagram != NULL) {
       diagram_update_extents(diagram);
       layer_dialog_set_diagram(diagram);
-      
+
       if (diagram->displays == NULL) {
 /*     GSList *displays = diagram->displays;
        GSList *displays_head = displays;
@@ -276,10 +264,10 @@ file_open_callback(GtkAction *action)
     Diagram *dia = NULL;
     GtkWindow *parent_window;
     gchar *filename = NULL;
-    
+
     /* FIXME: we should not use ddisp_active but instead get the current diagram
      * from caller. Thus we could offer the option to "load into" if invoked by
-     * <Display/File/Open. It wouldn't make any sense if invoked by 
+     * <Display/File/Open. It wouldn't make any sense if invoked by
      * <Toolbox>/File/Open ...
      */
     ddisp = ddisplay_active();
@@ -308,18 +296,14 @@ file_open_callback(GtkAction *action)
       g_free(fnabs);
       g_free(filename);
     }
-    g_signal_connect(G_OBJECT(opendlg), "destroy",
-                    G_CALLBACK(gtk_widget_destroyed), &opendlg);
+    g_signal_connect (G_OBJECT (opendlg), "destroy",
+                      G_CALLBACK (gtk_widget_destroyed), &opendlg);
   } else {
-    gtk_widget_set_sensitive(opendlg, TRUE);
-#if GTK_CHECK_VERSION(2,20,0)
-    if (gtk_widget_get_visible(opendlg))
-#else
-    if (GTK_WIDGET_VISIBLE(opendlg))
-#endif
+    gtk_widget_set_sensitive (opendlg, TRUE);
+    if (gtk_widget_get_visible (opendlg))
       return;
   }
-  if (!gtk_file_chooser_get_extra_widget(GTK_FILE_CHOOSER(opendlg))) {
+  if (!gtk_file_chooser_get_extra_widget (GTK_FILE_CHOOSER (opendlg))) {
     GtkWidget *hbox, *label, *omenu, *options;
     GtkFileFilter* filter;
 
@@ -348,7 +332,7 @@ file_open_callback(GtkAction *action)
 
     /* set up the gtk file (name) filters */
     /* 0 = by extension */
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (opendlg), 
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (opendlg),
                                 build_gtk_file_filter_from_index (0));
     filter = gtk_file_filter_new ();
     gtk_file_filter_set_name (filter, _("All Files"));
@@ -365,8 +349,8 @@ file_open_callback(GtkAction *action)
  * Respond to a button press (also destroy) in the save as dialog.
  */
 static void
-file_save_as_response_callback(GtkWidget *fs, 
-                               gint       response, 
+file_save_as_response_callback(GtkWidget *fs,
+                               gint       response,
                                gpointer   user_data)
 {
   char *filename;
@@ -390,7 +374,7 @@ file_save_as_response_callback(GtkWidget *fs,
       if (!g_utf8_validate(filename, -1, NULL)) {
        utf8filename = g_filename_to_utf8(filename, -1, NULL, NULL, NULL);
        if (utf8filename == NULL) {
-         message_warning(_("Some characters in the filename are neither UTF-8\n" 
+         message_warning(_("Some characters in the filename are neither UTF-8\n"
                            "nor your local encoding.\nSome things will break."));
        }
       }
@@ -447,7 +431,7 @@ static GtkWidget *file_save_as_dialog_prepare (Diagram *dia, DDisplay *ddisp);
  * Respond to the File/Save As.. menu
  *
  * We have only one file save dialog at a time. So if the dialog alread exists
- * and the user tries to Save as once more only the diagram refernced will 
+ * and the user tries to Save as once more only the diagram refernced will
  * change. Maybe we should also indicate the refernced diagram in the dialog.
  */
 void
@@ -529,15 +513,11 @@ file_save_as_dialog_prepare (Diagram *dia, DDisplay *ddisp)
     g_signal_handlers_unblock_by_func(G_OBJECT(compressbutton), toggle_compress_callback, NULL);
     if (g_object_get_data (G_OBJECT (savedlg), "user_data") != NULL)
       g_object_unref (g_object_get_data (G_OBJECT (savedlg), "user_data"));
-#if GTK_CHECK_VERSION(2,20,0)
-    if (gtk_widget_get_visible(savedlg)) {
-#else
-    if (GTK_WIDGET_VISIBLE(savedlg)) {
-#endif
+    if (gtk_widget_get_visible (savedlg)) {
       /* keep a refernce to the diagram */
-      g_object_ref(dia);
+      g_object_ref (dia);
       g_object_set_data (G_OBJECT (savedlg), "user_data", dia);
-      gtk_window_present (GTK_WINDOW(savedlg));
+      gtk_window_present (GTK_WINDOW (savedlg));
       return savedlg;
     }
   }
@@ -596,7 +576,7 @@ efilter_by_index (int index, const gchar** ext)
 {
   DiaExportFilter *efilter = NULL;
 
-  /* the index in the selection list *is* the index of the filter, 
+  /* the index in the selection list *is* the index of the filter,
    * filters supporing multiple formats are multiple times in the list */
   if (index >= 0) {
     efilter = g_list_nth_data (filter_get_export_filters(), index);
@@ -642,7 +622,7 @@ export_adapt_extension (const gchar* name, int index)
 static void
 export_adapt_extension_callback(GtkWidget *widget)
 {
-  int index = gtk_combo_box_get_active (GTK_COMBO_BOX(widget)); 
+  int index = gtk_combo_box_get_active (GTK_COMBO_BOX(widget));
   gchar *name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(exportdlg));
 
   if (name && index > 0) /* Ignore "By Extension" */
@@ -654,38 +634,26 @@ export_adapt_extension_callback(GtkWidget *widget)
  * Create a new "option menu" for the export options
  */
 static GtkWidget *
-create_export_menu(void)
+create_export_menu (void)
 {
   GtkWidget *menu;
   GList *tmp;
 
-#if GTK_CHECK_VERSION(2,24,0)
   menu = gtk_combo_box_text_new ();
-#else
-  menu = gtk_combo_box_new_text ();
-#endif
-#if GTK_CHECK_VERSION(2,24,0)
-  gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(menu), _("By extension"));
-#else
-  gtk_combo_box_append_text(GTK_COMBO_BOX(menu), _("By extension"));
-#endif
-  
-  for (tmp = filter_get_export_filters(); tmp != NULL; tmp = tmp->next) {
+  gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (menu), _("By extension"));
+
+  for (tmp = filter_get_export_filters (); tmp != NULL; tmp = tmp->next) {
     DiaExportFilter *ef = tmp->data;
     gchar *filter_label;
 
     if (!ef)
       continue;
-    filter_label = filter_get_export_filter_label(ef);
-#if GTK_CHECK_VERSION(2,24,0)
+    filter_label = filter_get_export_filter_label (ef);
     gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(menu), filter_label);
-#else
-    gtk_combo_box_append_text (GTK_COMBO_BOX(menu), filter_label);
-#endif
-    g_free(filter_label);
+    g_free (filter_label);
   }
-  g_signal_connect(G_OBJECT(menu), "changed",
-                  G_CALLBACK(export_adapt_extension_callback), NULL);
+  g_signal_connect (G_OBJECT (menu), "changed",
+                    G_CALLBACK (export_adapt_extension_callback), NULL);
   return menu;
 }
 
@@ -693,8 +661,8 @@ create_export_menu(void)
  * A button hit in the Export Dialog
  */
 static void
-file_export_response_callback(GtkWidget *fs, 
-                              gint       response, 
+file_export_response_callback(GtkWidget *fs,
+                              gint       response,
                               gpointer   user_data)
 {
   char *filename;
@@ -716,7 +684,7 @@ file_export_response_callback(GtkWidget *fs,
       GtkWidget *dialog = NULL;
 
       dialog = gtk_message_dialog_new (GTK_WINDOW(fs),
-                                      GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, 
+                                      GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                                       GTK_MESSAGE_QUESTION,
                                       GTK_BUTTONS_YES_NO,
                                       _("File already exists"));
@@ -834,7 +802,7 @@ file_export_callback(GtkAction *action)
   }
   if (g_object_get_data (G_OBJECT(exportdlg), "user_data"))
     g_object_unref (g_object_get_data (G_OBJECT(exportdlg), "user_data"));
-  g_object_ref(dia); 
+  g_object_ref(dia);
   g_object_set_data (G_OBJECT (exportdlg), "user_data", dia);
   gtk_widget_set_sensitive(exportdlg, TRUE);
 
diff --git a/app/gtkhwrapbox.c b/app/gtkhwrapbox.c
index 85f0718b..10f2d3d8 100644
--- a/app/gtkhwrapbox.c
+++ b/app/gtkhwrapbox.c
@@ -141,11 +141,7 @@ get_layout_size (GtkHWrapBox *this,
       GtkRequisition child_requisition;
       guint row_width, row_height, n = 1;
 
-#if GTK_CHECK_VERSION(2,20,0)
       if (!gtk_widget_get_visible (child->widget))
-#else
-      if (!GTK_WIDGET_VISIBLE (child->widget))
-#endif
         continue;
 
       get_child_requisition (wbox, child->widget, &child_requisition);
@@ -155,11 +151,7 @@ get_layout_size (GtkHWrapBox *this,
       row_height = child_requisition.height;
       for (row_child = child->next; row_child && n < wbox->child_limit; row_child = row_child->next)
         {
-#if GTK_CHECK_VERSION(2,20,0)
           if (gtk_widget_get_visible (row_child->widget))
-#else
-          if (GTK_WIDGET_VISIBLE (row_child->widget))
-#endif
             {
               get_child_requisition (wbox, row_child->widget, &child_requisition);
               if (row_width + wbox->hspacing + child_requisition.width > max_width)
@@ -201,11 +193,7 @@ gtk_hwrap_box_size_request (GtkWidget      *widget,
 
   /* size_request all children */
   for (child = wbox->children; child; child = child->next)
-#if GTK_CHECK_VERSION(2,20,0)
     if (gtk_widget_get_visible (child->widget))
-#else
-    if (GTK_WIDGET_VISIBLE (child->widget))
-#endif
       {
         GtkRequisition child_requisition;
 
@@ -264,11 +252,7 @@ reverse_list_row_children (GtkWrapBox       *wbox,
   *max_child_size = 0;
   *expand_line = FALSE;
 
-#if GTK_CHECK_VERSION(2,20,0)
   while (child && !gtk_widget_get_visible (child->widget))
-#else
-  while (child && !GTK_WIDGET_VISIBLE (child->widget))
-#endif
     {
       *child_p = child->next;
       child = *child_p;
@@ -289,11 +273,7 @@ reverse_list_row_children (GtkWrapBox       *wbox,
 
       while (child && n < wbox->child_limit)
         {
-#if GTK_CHECK_VERSION(2,20,0)
           if (gtk_widget_get_visible (child->widget))
-#else
-          if (GTK_WIDGET_VISIBLE (child->widget))
-#endif
             {
               get_child_requisition (wbox, child->widget, &child_requisition);
               if (width + wbox->hspacing + child_requisition.width > row_width ||
@@ -489,11 +469,7 @@ layout_rows (GtkWrapBox    *wbox,
   children_per_line = g_slist_length (slist);
   while (slist)
     {
-#if GLIB_CHECK_VERSION(2,10,0)
       Line *line = g_slice_new (Line);
-#else
-      Line *line = g_new (Line, 1);
-#endif
 
       line->children = slist;
       line->min_size = min_height;
@@ -600,15 +576,10 @@ layout_rows (GtkWrapBox    *wbox,
                       line->expand);
 
           g_slist_free (line->children);
-#if (!GLIB_CHECK_VERSION(2,10,0))
-                 g_free (line);
-#endif
           line = next_line;
         }
 
-#if GLIB_CHECK_VERSION(2,10,0)
       g_slice_free_chain (Line, line_list, next);
-#endif
     }
 }
 
diff --git a/app/gtkvwrapbox.c b/app/gtkvwrapbox.c
index d5c0e259..6aaf765b 100644
--- a/app/gtkvwrapbox.c
+++ b/app/gtkvwrapbox.c
@@ -141,11 +141,7 @@ get_layout_size (GtkVWrapBox *this,
       GtkRequisition child_requisition;
       guint col_height, col_width, n = 1;
 
-#if GTK_CHECK_VERSION(2,20,0)
       if (!gtk_widget_get_visible (child->widget))
-#else
-      if (!GTK_WIDGET_VISIBLE (child->widget))
-#endif
         continue;
 
       get_child_requisition (wbox, child->widget, &child_requisition);
@@ -155,11 +151,7 @@ get_layout_size (GtkVWrapBox *this,
       col_width = child_requisition.width;
       for (col_child = child->next; col_child && n < wbox->child_limit; col_child = col_child->next)
         {
-#if GTK_CHECK_VERSION(2,20,0)
           if (gtk_widget_get_visible (col_child->widget))
-#else
-          if (GTK_WIDGET_VISIBLE (col_child->widget))
-#endif
             {
               get_child_requisition (wbox, col_child->widget, &child_requisition);
               if (col_height + wbox->vspacing + child_requisition.height > max_height)
@@ -201,11 +193,7 @@ gtk_vwrap_box_size_request (GtkWidget      *widget,
 
   /* size_request all children */
   for (child = wbox->children; child; child = child->next)
-#if GTK_CHECK_VERSION(2,20,0)
     if (gtk_widget_get_visible (child->widget))
-#else
-    if (GTK_WIDGET_VISIBLE (child->widget))
-#endif
       {
         GtkRequisition child_requisition;
 
@@ -264,11 +252,7 @@ reverse_list_col_children (GtkWrapBox       *wbox,
   *max_child_size = 0;
   *expand_line = FALSE;
 
-#if GTK_CHECK_VERSION(2,20,0)
   while (child && !gtk_widget_get_visible (child->widget))
-#else
-  while (child && !GTK_WIDGET_VISIBLE (child->widget))
-#endif
     {
       *child_p = child->next;
       child = *child_p;
@@ -289,11 +273,7 @@ reverse_list_col_children (GtkWrapBox       *wbox,
 
       while (child && n < wbox->child_limit)
         {
-#if GTK_CHECK_VERSION(2,20,0)
           if (gtk_widget_get_visible (child->widget))
-#else
-          if (GTK_WIDGET_VISIBLE (child->widget))
-#endif
             {
               get_child_requisition (wbox, child->widget, &child_requisition);
               if (height + wbox->vspacing + child_requisition.height > col_height ||
@@ -489,11 +469,7 @@ layout_cols (GtkWrapBox    *wbox,
   children_per_line = g_slist_length (slist);
   while (slist)
     {
-#if GLIB_CHECK_VERSION(2,10,0)
       Line *line = g_slice_new (Line);
-#else
-      Line *line = g_new (Line, 1);
-#endif
 
       line->children = slist;
       line->min_size = min_width;
@@ -600,15 +576,10 @@ layout_cols (GtkWrapBox    *wbox,
                       line->expand);
 
           g_slist_free (line->children);
-#if (!GLIB_CHECK_VERSION(2,10,0))
-                 g_free (line);
-#endif
-                 line = next_line;
+          line = next_line;
         }
 
-#if GLIB_CHECK_VERSION(2,10,0)
       g_slice_free_chain (Line, line_list, next);
-#endif
     }
 }
 
diff --git a/app/gtkwrapbox.c b/app/gtkwrapbox.c
index 6043de02..01d6851d 100644
--- a/app/gtkwrapbox.c
+++ b/app/gtkwrapbox.c
@@ -268,11 +268,7 @@ gtk_wrap_box_class_init (GtkWrapBoxClass *class)
 static void
 gtk_wrap_box_init (GtkWrapBox *wbox)
 {
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_has_window (GTK_WIDGET (wbox), FALSE);
-#else
-  GTK_WIDGET_SET_FLAGS (wbox, GTK_NO_WINDOW);
-#endif
 
   wbox->homogeneous = FALSE;
   wbox->hspacing = 0;
@@ -596,11 +592,7 @@ gtk_wrap_box_pack_wrapped (GtkWrapBox *wbox,
   g_return_if_fail (GTK_IS_WIDGET (child));
   g_return_if_fail (child->parent == NULL);
 
-#if GLIB_CHECK_VERSION(2,10,0)
   child_info = g_slice_new (GtkWrapBoxChild);
-#else
-  child_info = g_new (GtkWrapBoxChild, 1);
-#endif
 
   child_info->widget = child;
   child_info->hexpand = hexpand ? TRUE : FALSE;
@@ -623,24 +615,12 @@ gtk_wrap_box_pack_wrapped (GtkWrapBox *wbox,
 
   gtk_widget_set_parent (child, GTK_WIDGET (wbox));
 
-#if GTK_CHECK_VERSION(2,20,0)
   if (gtk_widget_get_realized (GTK_WIDGET (wbox)))
-#else
-  if (GTK_WIDGET_REALIZED (wbox))
-#endif
     gtk_widget_realize (child);
 
-#if GTK_CHECK_VERSION(2,20,0)
   if (gtk_widget_get_visible (GTK_WIDGET (wbox)) && gtk_widget_get_visible (child))
-#else
-  if (GTK_WIDGET_VISIBLE (wbox) && GTK_WIDGET_VISIBLE (child))
-#endif
     {
-#if GTK_CHECK_VERSION(2,20,0)
       if (gtk_widget_get_mapped (GTK_WIDGET (wbox)))
-#else
-      if (GTK_WIDGET_MAPPED (wbox))
-#endif
         gtk_widget_map (child);
 
       gtk_widget_queue_resize (child);
@@ -693,11 +673,7 @@ gtk_wrap_box_reorder_child (GtkWrapBox *wbox,
             wbox->children = child_info;
         }
 
-#if GTK_CHECK_VERSION(2,20,0)
       if (gtk_widget_get_visible (child) && gtk_widget_get_visible (GTK_WIDGET (wbox)))
-#else
-      if (GTK_WIDGET_VISIBLE (child) && GTK_WIDGET_VISIBLE (wbox))
-#endif
         gtk_widget_queue_resize (child);
     }
 }
@@ -770,11 +746,7 @@ gtk_wrap_box_set_child_packing (GtkWrapBox *wbox,
       child_info->vfill = vfill;
       child_info->wrapped = wrapped;
 
-#if GTK_CHECK_VERSION(2,20,0)
       if (gtk_widget_get_visible (child) && gtk_widget_get_visible (GTK_WIDGET (wbox)))
-#else
-      if (GTK_WIDGET_VISIBLE (child) && GTK_WIDGET_VISIBLE (wbox))
-#endif
         gtk_widget_queue_resize (child);
     }
 }
@@ -833,23 +805,11 @@ gtk_wrap_box_map (GtkWidget *widget)
   GtkWrapBox *wbox = GTK_WRAP_BOX (widget);
   GtkWrapBoxChild *child;
 
-#if GTK_CHECK_VERSION(2,20,0)
   gtk_widget_set_mapped (GTK_WIDGET (wbox), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (wbox, GTK_MAPPED);
-#endif
 
   for (child = wbox->children; child; child = child->next)
-#if GTK_CHECK_VERSION(2,20,0)
     if (gtk_widget_get_visible (child->widget) &&
-#else
-    if (GTK_WIDGET_VISIBLE (child->widget) &&
-#endif
-#if GTK_CHECK_VERSION(2,20,0)
         !gtk_widget_get_mapped (child->widget))
-#else
-        !GTK_WIDGET_MAPPED (child->widget))
-#endif
       gtk_widget_map (child->widget);
 }
 
@@ -859,23 +819,11 @@ gtk_wrap_box_unmap (GtkWidget *widget)
   GtkWrapBox *wbox = GTK_WRAP_BOX (widget);
   GtkWrapBoxChild *child;
 
-#if GTK_CHECK_VERSION(2,20,0)
   gtk_widget_set_mapped (GTK_WIDGET (wbox), FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS (wbox, GTK_MAPPED);
-#endif
 
   for (child = wbox->children; child; child = child->next)
-#if GTK_CHECK_VERSION(2,20,0)
     if (gtk_widget_get_visible (child->widget) &&
-#else
-    if (GTK_WIDGET_VISIBLE (child->widget) &&
-#endif
-#if GTK_CHECK_VERSION(2,20,0)
         gtk_widget_get_mapped (child->widget))
-#else
-        GTK_WIDGET_MAPPED (child->widget))
-#endif
       gtk_widget_unmap (child->widget);
 }
 
@@ -907,22 +855,14 @@ gtk_wrap_box_remove (GtkContainer *container,
         {
           gboolean was_visible;
 
-#if GTK_CHECK_VERSION(2,20,0)
           was_visible = gtk_widget_get_visible (widget);
-#else
-          was_visible = GTK_WIDGET_VISIBLE (widget);
-#endif
           gtk_widget_unparent (widget);
 
           if (last)
             last->next = child->next;
           else
             wbox->children = child->next;
-#if GLIB_CHECK_VERSION(2,10,0)
           g_slice_free (GtkWrapBoxChild, child);
-#else
-                 g_free (child);
-#endif
           wbox->n_children--;
 
           if (was_visible)
diff --git a/app/interface.c b/app/interface.c
index 381448d1..ec08c696 100644
--- a/app/interface.c
+++ b/app/interface.c
@@ -55,13 +55,9 @@ dia_dnd_file_drag_data_received (GtkWidget        *widget,
                                  GtkSelectionData *data,
                                  guint             info,
                                  guint             time,
-                                DDisplay         *ddisp)
+                                 DDisplay         *ddisp)
 {
-#if GTK_CHECK_VERSION(2,22,0)
   switch (gdk_drag_context_get_selected_action(context))
-#else
-  switch (context->action)
-#endif
     {
     case GDK_ACTION_DEFAULT:
     case GDK_ACTION_COPY:
@@ -249,39 +245,34 @@ create_zoom_widget(DDisplay *ddisp) {
   combo = gtk_hbox_new(FALSE, 0);
   entry = gtk_entry_new();
   g_signal_connect (G_OBJECT (entry), "activate",
-                   G_CALLBACK(zoom_activate_callback),
-                     ddisp);
-  gtk_box_pack_start(GTK_BOX(combo), entry, TRUE, TRUE, 0);
-  g_object_set_data (G_OBJECT(combo), "user_data", entry);
-  gtk_entry_set_width_chars(GTK_ENTRY(entry), 8);
-  gtk_widget_show(entry);
-
-  button = gtk_button_new();
-#if GTK_CHECK_VERSION(2,18,0)
+                    G_CALLBACK (zoom_activate_callback),
+                    ddisp);
+  gtk_box_pack_start (GTK_BOX (combo), entry, TRUE, TRUE, 0);
+  g_object_set_data (G_OBJECT (combo), "user_data", entry);
+  gtk_entry_set_width_chars (GTK_ENTRY (entry), 8);
+  gtk_widget_show (entry);
+
+  button = gtk_button_new ();
   gtk_widget_set_can_focus (GTK_WIDGET (button), FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS);
-#endif
-  arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_OUT);
-  gtk_container_add(GTK_CONTAINER(button), arrow);
-  gtk_box_pack_start(GTK_BOX(combo), button, TRUE, TRUE, 0);
-  g_object_set_data (G_OBJECT(combo), "user_data", entry);
-  gtk_widget_show_all(button);
-
-  menu = gtk_menu_new();
-  zoom_add_zoom_amount(menu, "800%", ddisp);
-  zoom_add_zoom_amount(menu, "400%", ddisp);
-  zoom_add_zoom_amount(menu, "200%", ddisp);
-  zoom_add_zoom_amount(menu, "100%", ddisp);
-  zoom_add_zoom_amount(menu, "50%", ddisp);
-  zoom_add_zoom_amount(menu, "25%", ddisp);
-  zoom_add_zoom_amount(menu, "12%", ddisp);
-
-  gtk_widget_show_all(menu);
+  arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
+  gtk_container_add (GTK_CONTAINER (button), arrow);
+  gtk_box_pack_start (GTK_BOX (combo), button, TRUE, TRUE, 0);
+  g_object_set_data (G_OBJECT (combo), "user_data", entry);
+  gtk_widget_show_all (button);
+
+  menu = gtk_menu_new ();
+  zoom_add_zoom_amount (menu, "800%", ddisp);
+  zoom_add_zoom_amount (menu, "400%", ddisp);
+  zoom_add_zoom_amount (menu, "200%", ddisp);
+  zoom_add_zoom_amount (menu, "100%", ddisp);
+  zoom_add_zoom_amount (menu, "50%", ddisp);
+  zoom_add_zoom_amount (menu, "25%", ddisp);
+  zoom_add_zoom_amount (menu, "12%", ddisp);
+
+  gtk_widget_show_all (menu);
 
   g_signal_connect (G_OBJECT (button), "button_press_event",
-                   G_CALLBACK(zoom_popup_menu),
-                     menu);
+                    G_CALLBACK (zoom_popup_menu), menu);
 
   return combo;
 }
@@ -456,29 +447,24 @@ create_canvas (DDisplay *ddisp)
   gtk_widget_set_double_buffered (canvas, FALSE);
 
   gtk_widget_set_events (canvas,
-                        GDK_EXPOSURE_MASK |
-                        GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
-                        GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
-                        GDK_STRUCTURE_MASK | GDK_ENTER_NOTIFY_MASK |
-                        GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
+                         GDK_EXPOSURE_MASK |
+                         GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
+                         GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+                         GDK_STRUCTURE_MASK | GDK_ENTER_NOTIFY_MASK |
+                         GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
   g_signal_connect (G_OBJECT (canvas), "configure-event",
-                   G_CALLBACK (canvas_configure_event), ddisp);
+                    G_CALLBACK (canvas_configure_event), ddisp);
   g_signal_connect (G_OBJECT (canvas), "expose-event",
-                   G_CALLBACK (canvas_expose_event), ddisp);
-#if GTK_CHECK_VERSION(2,18,0)
+                    G_CALLBACK (canvas_expose_event), ddisp);
   gtk_widget_set_can_focus (canvas, TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_FOCUS);
-#endif
   g_signal_connect (G_OBJECT (canvas), "event",
-                    G_CALLBACK(ddisplay_canvas_events),
-                    ddisp);
+                    G_CALLBACK (ddisplay_canvas_events), ddisp);
 
   canvas_setup_drag_dest (canvas);
   g_signal_connect (G_OBJECT (canvas), "drag_drop",
-                   G_CALLBACK(display_drop_callback), NULL);
+                    G_CALLBACK (display_drop_callback), NULL);
   g_signal_connect (G_OBJECT (canvas), "drag_data_received",
-                   G_CALLBACK(display_data_received_callback), ddisp);
+                    G_CALLBACK (display_data_received_callback), ddisp);
   g_object_set_data (G_OBJECT (canvas), "user_data", (gpointer) ddisp);
 
   return canvas;
@@ -523,23 +509,15 @@ _ddisplay_setup_scrollbars (DDisplay *ddisp, GtkWidget *table, int width, int he
   ddisp->vsbdata = GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, height, 1, (height-1)/4, height-1));
 
   ddisp->hsb = gtk_hscrollbar_new (ddisp->hsbdata);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_focus (ddisp->hsb, FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS (ddisp->hsb, GTK_CAN_FOCUS);
-#endif
   ddisp->vsb = gtk_vscrollbar_new (ddisp->vsbdata);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_focus (ddisp->vsb, FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS (ddisp->vsb, GTK_CAN_FOCUS);
-#endif
 
   /*  set up the scrollbar observers  */
   g_signal_connect (G_OBJECT (ddisp->hsbdata), "value_changed",
-                   G_CALLBACK(ddisplay_hsb_update), ddisp);
+                    G_CALLBACK (ddisplay_hsb_update), ddisp);
   g_signal_connect (G_OBJECT (ddisp->vsbdata), "value_changed",
-                   G_CALLBACK(ddisplay_vsb_update), ddisp);
+                    G_CALLBACK (ddisplay_vsb_update), ddisp);
 
   /* harder to change position in the table, but we did not do it for years ;) */
   gtk_table_attach (GTK_TABLE (table), ddisp->hsb, 0, 2, 2, 3,
@@ -757,18 +735,14 @@ create_display_shell(DDisplay *ddisp,
 
   /*  scrollbars, rulers, canvas, menu popup button  */
   if (!use_mbar) {
-      ddisp->origin = gtk_button_new();
-#if GTK_CHECK_VERSION(2,18,0)
+      ddisp->origin = gtk_button_new ();
       gtk_widget_set_can_focus (ddisp->origin, FALSE);
-#else
-      GTK_WIDGET_UNSET_FLAGS(ddisp->origin, GTK_CAN_FOCUS);
-#endif
-      widget = gtk_arrow_new(GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
-      gtk_container_add(GTK_CONTAINER(ddisp->origin), widget);
-      gtk_widget_set_tooltip_text(widget, _("Diagram menu."));
-      gtk_widget_show(widget);
-      g_signal_connect(G_OBJECT(ddisp->origin), "button_press_event",
-                    G_CALLBACK(origin_button_press), ddisp);
+      widget = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
+      gtk_container_add (GTK_CONTAINER (ddisp->origin), widget);
+      gtk_widget_set_tooltip_text (widget, _("Diagram menu."));
+      gtk_widget_show (widget);
+      g_signal_connect (G_OBJECT (ddisp->origin), "button_press_event",
+                        G_CALLBACK (origin_button_press), ddisp);
   }
   else {
       ddisp->origin = gtk_frame_new (NULL);
@@ -1168,13 +1142,8 @@ interface_get_toolbox_shell(void)
 gboolean
 integrated_ui_toolbar_is_showing (void)
 {
-  if (ui.toolbar)
-  {
-#if GTK_CHECK_VERSION(2,20,0)
-    return gtk_widget_get_visible (GTK_WIDGET (ui.toolbar))? TRUE : FALSE;
-#else
-    return GTK_WIDGET_VISIBLE (ui.toolbar)? TRUE : FALSE;
-#endif
+  if (ui.toolbar) {
+    return gtk_widget_get_visible (GTK_WIDGET (ui.toolbar));
   }
   return FALSE;
 }
@@ -1201,13 +1170,8 @@ integrated_ui_toolbar_show (gboolean show)
 gboolean
 integrated_ui_layer_view_is_showing (void)
 {
-  if (ui.layer_view)
-  {
-#if GTK_CHECK_VERSION(2,20,0)
+  if (ui.layer_view) {
     return gtk_widget_get_visible (GTK_WIDGET (ui.layer_view))? TRUE : FALSE;
-#else
-    return GTK_WIDGET_VISIBLE (ui.layer_view)? TRUE : FALSE;
-#endif
   }
   return FALSE;
 }
diff --git a/app/layer_dialog.c b/app/layer_dialog.c
index e1c1c122..359db1ef 100644
--- a/app/layer_dialog.c
+++ b/app/layer_dialog.c
@@ -1256,13 +1256,9 @@ layer_dialog_edit_layer (DiaLayerWidget *layer_widget, Diagram *dia, Layer *laye
   gtk_widget_show (hbox);
 
   button = gtk_button_new_from_stock (GTK_STOCK_OK);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
-#endif
   gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dialog->dialog))),
-                     button, TRUE, TRUE, 0);
+                      button, TRUE, TRUE, 0);
   if (layer_widget)
     g_signal_connect (G_OBJECT (button), "clicked",
                      G_CALLBACK(edit_layer_ok_callback), dialog);
@@ -1277,16 +1273,12 @@ layer_dialog_edit_layer (DiaLayerWidget *layer_widget, Diagram *dia, Layer *laye
   gtk_widget_show (button);
 
   button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
-#endif
   gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dialog->dialog))),
-                     button, TRUE, TRUE, 0);
+                      button, TRUE, TRUE, 0);
   g_signal_connect (G_OBJECT (button), "clicked",
-                   G_CALLBACK(edit_layer_cancel_callback),
-                   dialog);
+                    G_CALLBACK (edit_layer_cancel_callback),
+                    dialog);
   gtk_widget_show (button);
 
   gtk_widget_show (vbox);
diff --git a/app/load_save.c b/app/load_save.c
index 376907af..773dbeb4 100644
--- a/app/load_save.c
+++ b/app/load_save.c
@@ -66,7 +66,7 @@ static void GHFuncUnknownObjects(gpointer key,
                                 gpointer user_data);
 static GList *read_objects(xmlNodePtr objects,
                           GHashTable *objects_hash,
-                          DiaContext *ctx, 
+                          DiaContext *ctx,
                           DiaObject  *parent,
                           GHashTable *unknown_objects_hash);
 static void hash_free_string(gpointer       key,
@@ -76,7 +76,7 @@ static xmlNodePtr find_node_named (xmlNodePtr p, const char *name);
 static gboolean diagram_data_load(const gchar *filename, DiagramData *data,
                                  DiaContext *ctx, void* user_data);
 static gboolean write_objects(GList *objects, xmlNodePtr objects_node,
-                             GHashTable *objects_hash, int *obj_nr, 
+                             GHashTable *objects_hash, int *obj_nr,
                              const char *filename, DiaContext *ctx);
 static gboolean write_connections(GList *objects, xmlNodePtr layer_node,
                                  GHashTable *objects_hash);
@@ -104,19 +104,19 @@ GHFuncUnknownObjects(gpointer key,
  *   add the created objects to them as it does not know on which nesting level it
  *   is called. So the topmost caller must add the returned objects to the layer.
  * - Groups : groups in itself can have an arbitrary nesting level including other
- *   groups or objects or both of them. A group not containing any objects is by 
+ *   groups or objects or both of them. A group not containing any objects is by
  *   definition useless. So it is not created. This is to avoid trouble with some older
  *   diagrams which happen to be saved with empty groups.
  * - Parents : if the parent relations would have been there from the beginning of
- *   Dias file format they probably would have been added as nesting level 
+ *   Dias file format they probably would have been added as nesting level
  *   themselves. But to maintain forward compatibility (allow to let older versions
  *   of Dia to see as much as possible) they were added all on the same level and
  *   the parent child relation is reconstructed from additional attributes.
  */
 static GList *
-read_objects(xmlNodePtr objects, 
+read_objects(xmlNodePtr objects,
              GHashTable *objects_hash,
-            DiaContext *ctx, 
+            DiaContext *ctx,
             DiaObject *parent,
             GHashTable *unknown_objects_hash)
 {
@@ -146,7 +146,7 @@ read_objects(xmlNodePtr objects,
       typestr = (char *) xmlGetProp(obj_node, (const xmlChar *)"type");
       versionstr = (char *) xmlGetProp(obj_node, (const xmlChar *)"version");
       id = (char *) xmlGetProp(obj_node, (const xmlChar *)"id");
-      
+
       version = 0;
       if (versionstr != NULL) {
        version = atoi(versionstr);
@@ -154,7 +154,7 @@ read_objects(xmlNodePtr objects,
       }
 
       type = object_get_type((char *)typestr);
-      
+
       if (!type) {
        if (g_utf8_validate (typestr, -1, NULL) &&
            NULL == g_hash_table_lookup(unknown_objects_hash, typestr))
@@ -220,23 +220,23 @@ read_connections(GList *objects, xmlNodePtr layer_node,
   char *connstr;
   int handle, conn;
   DiaObject *to;
-  
+
   list = objects;
   obj_node = layer_node->xmlChildrenNode;
   while ((list != NULL) && (obj_node != NULL)) {
     DiaObject *obj = (DiaObject *) list->data;
 
     /* the obj and there node must stay in sync to properly setup connections */
-    while (obj_node && (xmlIsBlankNode(obj_node) || XML_COMMENT_NODE == obj_node->type)) 
+    while (obj_node && (xmlIsBlankNode(obj_node) || XML_COMMENT_NODE == obj_node->type))
       obj_node = obj_node->next;
     if (!obj_node) break;
-    
+
     if IS_GROUP(obj) {
       read_connections(group_objects(obj), obj_node, objects_hash);
     } else {
       gboolean broken = FALSE;
       /* an invalid bounding box is a good sign for some need of corrections */
-      gboolean wants_update = obj->bounding_box.right >= obj->bounding_box.left 
+      gboolean wants_update = obj->bounding_box.right >= obj->bounding_box.left
                            || obj->bounding_box.top >= obj->bounding_box.bottom;
       connections = obj_node->xmlChildrenNode;
       while ((connections!=NULL) &&
@@ -253,7 +253,7 @@ read_connections(GList *objects, xmlNodePtr layer_node,
          handlestr = (char * )xmlGetProp(connection, (const xmlChar *)"handle");
          tostr = (char *) xmlGetProp(connection, (const xmlChar *)"to");
          connstr = (char *) xmlGetProp(connection, (const xmlChar *)"connection");
-         
+
          handle = atoi(handlestr);
          conn = strtol(connstr, &donestr, 10);
          if (*donestr != '\0') { /* Didn't convert it all -- use string */
@@ -312,7 +312,7 @@ read_connections(GList *objects, xmlNodePtr layer_node,
        }
       }
     }
-    
+
     /* Now set up parent relationships. */
     connections = obj_node->xmlChildrenNode;
     while ((connections!=NULL) &&
@@ -323,7 +323,7 @@ read_connections(GList *objects, xmlNodePtr layer_node,
       if (tostr) {
        obj->parent = g_hash_table_lookup(objects_hash, tostr);
        if (obj->parent == NULL) {
-         message_error(_("Can't find parent %s of %s object\n"), 
+         message_error(_("Can't find parent %s of %s object\n"),
                        tostr, obj->type->name);
        } else {
          obj->parent->children = g_list_prepend(obj->parent->children, obj);
@@ -336,7 +336,7 @@ read_connections(GList *objects, xmlNodePtr layer_node,
   }
 }
 
-static void 
+static void
 hash_free_string(gpointer       key,
                 gpointer       value,
                 gpointer       user_data)
@@ -407,7 +407,7 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
     /* Couldn't read a single char?  Set to default. */
     data->is_compressed = prefs.new_diagram.compress_save;
   }
-  
+
   /* Note that this closing and opening means we can't read from a pipe */
   close(fd);
 
@@ -432,7 +432,7 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
 
   namespace = xmlSearchNs(doc, root, (const xmlChar *)"dia");
   if (xmlStrcmp (root->name, (const xmlChar *)"diagram") || (namespace == NULL)){
-    message_error(_("Error loading diagram %s.\nNot a Dia file."), 
+    message_error(_("Error loading diagram %s.\nNot a Dia file."),
                  dia_message_filename(filename));
     xmlFreeDoc (doc);
     return FALSE;
@@ -444,7 +444,7 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
     layer_destroy(data->active_layer);
   }
 
-  diagramdata = 
+  diagramdata =
     find_node_named (root->xmlChildrenNode, "diagramdata");
 
   /* Read in diagram data: */
@@ -478,7 +478,7 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
                                        &data->paper.bmargin,
                                        &data->paper.lmargin,
                                        &data->paper.rmargin);
-    
+
     attr = composite_find_attribute(paperinfo, "tmargin");
     if (attr != NULL)
       data->paper.tmargin = data_real(attribute_first_data(attr), ctx);
@@ -576,7 +576,7 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
         diagram->guides.nhguides = attribute_num_data(attr);
         g_free(diagram->guides.hguides);
         diagram->guides.hguides = g_new(real, diagram->guides.nhguides);
-    
+
         guide = attribute_first_data(attr);
         for (i = 0; i < diagram->guides.nhguides; i++, guide = data_next(guide))
          diagram->guides.hguides[i] = data_real(guide, ctx);
@@ -586,7 +586,7 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
         diagram->guides.nvguides = attribute_num_data(attr);
         g_free(diagram->guides.vguides);
         diagram->guides.vguides = g_new(real, diagram->guides.nvguides);
-    
+
         guide = attribute_first_data(attr);
         for (i = 0; i < diagram->guides.nvguides; i++, guide = data_next(guide))
          diagram->guides.vguides[i] = data_real(guide, ctx);
@@ -605,27 +605,27 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
 
       attr = composite_find_attribute(dispinfo, "antialiased");
       if (attr != NULL)
-       g_object_set_data(G_OBJECT(diagram), 
+       g_object_set_data(G_OBJECT(diagram),
          "antialiased", GINT_TO_POINTER (data_boolean(attribute_first_data(attr), ctx) ? 1 : -1));
 
       attr = composite_find_attribute(dispinfo, "snap-to-grid");
       if (attr != NULL)
-       g_object_set_data(G_OBJECT(diagram), 
+       g_object_set_data(G_OBJECT(diagram),
          "snap-to-grid", GINT_TO_POINTER (data_boolean(attribute_first_data(attr), ctx) ? 1 : -1));
 
       attr = composite_find_attribute(dispinfo, "snap-to-object");
       if (attr != NULL)
-        g_object_set_data(G_OBJECT(diagram), 
+        g_object_set_data(G_OBJECT(diagram),
          "snap-to-object", GINT_TO_POINTER (data_boolean(attribute_first_data(attr), ctx) ? 1 : -1));
 
       attr = composite_find_attribute(dispinfo, "show-grid");
       if (attr != NULL)
-        g_object_set_data(G_OBJECT(diagram), 
+        g_object_set_data(G_OBJECT(diagram),
          "show-grid", GINT_TO_POINTER (data_boolean(attribute_first_data(attr), ctx) ? 1 : -1));
 
       attr = composite_find_attribute(dispinfo, "show-connection-points");
       if (attr != NULL)
-        g_object_set_data(G_OBJECT(diagram), 
+        g_object_set_data(G_OBJECT(diagram),
          "show-connection-points", GINT_TO_POINTER (data_boolean(attribute_first_data(attr), ctx) ? 1 : -1));
     }
   }
@@ -638,14 +638,14 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
   while (layer_node != NULL) {
     gchar *name;
     gboolean active;
-    
+
     if (xmlIsBlankNode(layer_node)) {
       layer_node = layer_node->next;
       continue;
     }
 
     if (!layer_node) break;
-    
+
     name = (char *)xmlGetProp(layer_node, (const xmlChar *)"name");
     if (!name) break; /* name is mandatory */
 
@@ -691,9 +691,9 @@ diagram_data_load(const gchar *filename, DiagramData *data, DiaContext *ctx, voi
     data_set_active_layer(data, active_layer);
 
   xmlFreeDoc(doc);
-  
+
   g_hash_table_foreach(objects_hash, hash_free_string, NULL);
-  
+
   g_hash_table_destroy(objects_hash);
 
   if (data->layers->len < 1) {
@@ -743,11 +743,11 @@ write_objects(GList *objects, xmlNodePtr objects_node,
                    objects_hash, obj_nr, filename, ctx);
     } else {
       obj_node = xmlNewChild(objects_node, NULL, (const xmlChar *)"object", NULL);
-    
+
       xmlSetProp(obj_node, (const xmlChar *)"type", (xmlChar *)obj->type->name);
       g_snprintf(buffer, 30, "%d", obj->type->version);
       xmlSetProp(obj_node, (const xmlChar *)"version", (xmlChar *)buffer);
-      
+
       g_snprintf(buffer, 30, "O%d", *obj_nr);
       xmlSetProp(obj_node, (const xmlChar *)"id", (xmlChar *)buffer);
 
@@ -756,7 +756,7 @@ write_objects(GList *objects, xmlNodePtr objects_node,
       /* Add object -> obj_nr to hash table */
       g_hash_table_insert(objects_hash, obj, GINT_TO_POINTER(*obj_nr));
       (*obj_nr)++;
-      
+
       /*
       if (object_flags_set(obj, DIA_OBJECT_CAN_PARENT) && obj->children)
       {
@@ -775,7 +775,7 @@ write_objects(GList *objects, xmlNodePtr objects_node,
 }
 
 /* Parents broke assumption that both objects and xml nodes are laid out
- * linearly.  
+ * linearly.
  */
 
 static gboolean
@@ -801,20 +801,20 @@ write_connections(GList *objects, xmlNodePtr layer_node,
       write_connections(group_objects(obj), obj_node, objects_hash);
     } else {
       connections = NULL;
-    
+
       for (i=0;i<obj->num_handles;i++) {
        ConnectionPoint *con_point;
        Handle *handle;
-       
+
        handle = obj->handles[i];
        con_point = handle->connected_to;
-       
+
        if ( con_point != NULL ) {
          DiaObject *other_obj;
          int con_point_nr;
-         
+
          other_obj = con_point->object;
-         
+
          con_point_nr=0;
          while (other_obj->connections[con_point_nr] != con_point) {
            con_point_nr++;
@@ -823,10 +823,10 @@ write_connections(GList *objects, xmlNodePtr layer_node,
              return FALSE;
            }
          }
-         
+
          if (connections == NULL)
            connections = xmlNewChild(obj_node, NULL, (const xmlChar *)"connections", NULL);
-         
+
          connection = xmlNewChild(connections, NULL, (const xmlChar *)"connection", NULL);
          /* from what handle on this object*/
          g_snprintf(buffer, 30, "%d", i);
@@ -852,7 +852,7 @@ write_connections(GList *objects, xmlNodePtr layer_node,
       parent = xmlNewChild(obj_node, NULL, (const xmlChar *)"childnode", NULL);
       xmlSetProp(parent, (const xmlChar *)"parent", (xmlChar *)buffer);
     }
-    
+
     list = g_list_next(list);
     obj_node = obj_node->next;
   }
@@ -882,13 +882,13 @@ diagram_data_write_doc(DiagramData *data, const char *filename, DiaContext *ctx)
   doc->encoding = xmlStrdup((const xmlChar *)"UTF-8");
   doc->xmlRootNode = xmlNewDocNode(doc, NULL, (const xmlChar *)"diagram", NULL);
 
-  name_space = xmlNewNs(doc->xmlRootNode, 
+  name_space = xmlNewNs(doc->xmlRootNode,
                         (const xmlChar *)DIA_XML_NAME_SPACE_BASE,
                        (const xmlChar *)"dia");
   xmlSetNs(doc->xmlRootNode, name_space);
 
   tree = xmlNewChild(doc->xmlRootNode, name_space, (const xmlChar *)"diagramdata", NULL);
-  
+
   attr = new_attribute((ObjectNode)tree, "background");
   data_add_color(attr, &data->bg_color, ctx);
 
@@ -937,7 +937,7 @@ diagram_data_write_doc(DiagramData *data, const char *filename, DiaContext *ctx)
     attr = new_attribute((ObjectNode)tree, "color");
     data_add_composite(gridinfo, "color", ctx);
     data_add_color(attr, &diagram->grid.colour, ctx);
-  
+
     attr = new_attribute((ObjectNode)tree, "guides");
     guideinfo = data_add_composite(attr, "guides", ctx);
     attr = composite_add_attribute(guideinfo, "hguides");
@@ -983,10 +983,10 @@ diagram_data_write_doc(DiagramData *data, const char *filename, DiaContext *ctx)
 
     if (layer == data->active_layer)
       xmlSetProp(layer_node, (const xmlChar *)"active", (const xmlChar *)"true");
-      
+
     write_objects(layer->objects, layer_node,
                  objects_hash, &obj_nr, filename, ctx);
- 
+
   }
   /* The connections are stored per layer in the file format, but connections are not any longer
    * restricted to objects on the same layer. So we iterate over all the layer (nodes) again to
@@ -1056,7 +1056,7 @@ diagram_data_save(DiagramData *data, DiaContext *ctx, const char *user_filename)
   /* not going to work with 'My Docments' - read-only but still useable, see bug #504469 */
   if (   g_file_test(filename, G_FILE_TEST_EXISTS)
       && g_access(filename, W_OK) != 0) {
-    dia_context_add_message (ctx, _("Not allowed to write to output file %s\n"), 
+    dia_context_add_message (ctx, _("Not allowed to write to output file %s\n"),
                             dia_context_get_filename(ctx));
     goto CLEANUP;
   }
@@ -1086,9 +1086,9 @@ diagram_data_save(DiagramData *data, DiaContext *ctx, const char *user_filename)
 
 #if !defined G_OS_WIN32
   /* Check that we can create the other files */
-  if (   g_file_test(dirname, G_FILE_TEST_EXISTS) 
+  if (   g_file_test(dirname, G_FILE_TEST_EXISTS)
       && g_access(dirname, W_OK) != 0) {
-    dia_context_add_message (ctx, _("Not allowed to write temporary files in %s\n"), 
+    dia_context_add_message (ctx, _("Not allowed to write temporary files in %s\n"),
                            dia_message_filename(dirname));
     goto CLEANUP;
   }
@@ -1103,7 +1103,7 @@ diagram_data_save(DiagramData *data, DiaContext *ctx, const char *user_filename)
 #ifndef G_OS_WIN32
   ret = fchmod(fildes,mode);
 #else
-  ret = 0; /* less paranoia on windoze */ 
+  ret = 0; /* less paranoia on windoze */
 #endif
   file = fdopen(fildes,"wb");
 
@@ -1127,13 +1127,13 @@ diagram_data_save(DiagramData *data, DiaContext *ctx, const char *user_filename)
     g_unlink(tmpname);
     goto CLEANUP;
   }
-  /* save succeeded. We kill the old backup file, move the old file into 
+  /* save succeeded. We kill the old backup file, move the old file into
      backup, and the temp file into the new saved file. */
   g_unlink(bakname);
   g_rename(filename,bakname);
   ret = g_rename(tmpname,filename);
   if (ret < 0) {
-    dia_context_add_message_with_errno(ctx, errno, _("Can't rename %s to final output file %s"), 
+    dia_context_add_message_with_errno(ctx, errno, _("Can't rename %s to final output file %s"),
                                       dia_message_filename(tmpname),
                                       dia_context_get_filename(ctx));
   }
@@ -1174,7 +1174,7 @@ diagram_cleanup_autosave(Diagram *dia)
   savefile = dia->autosavefilename;
   if (savefile == NULL) return;
 #ifdef TRACES
-  g_print("Cleaning up autosave %s for %s\n", 
+  g_print("Cleaning up autosave %s for %s\n",
           savefile, dia->filename ? dia->filename : "<no name>");
 #endif
   if (g_stat(savefile, &statbuf) == 0) { /* Success */
@@ -1233,49 +1233,46 @@ diagram_autosave(Diagram *dia)
   GList *diagrams = dia_open_diagrams();
   Diagram *diagram;
   while (diagrams != NULL) {
-    diagram = (Diagram *)diagrams->data;
+    diagram = (Diagram *) diagrams->data;
     if (diagram == dia &&
-       diagram_is_modified(diagram) && 
-       !diagram->autosaved) {
-      save_filename = g_strdup_printf("%s.autosave", dia->filename);
+        diagram_is_modified (diagram) &&
+        !diagram->autosaved) {
+      save_filename = g_strdup_printf ("%s.autosave", dia->filename);
+
+      if (dia->autosavefilename != NULL)
+        g_free(dia->autosavefilename);
 
-      if (dia->autosavefilename != NULL) 
-       g_free(dia->autosavefilename);
       dia->autosavefilename = save_filename;
 #ifdef G_THREADS_ENABLED
       if (g_thread_supported ()) {
-       AutoSaveInfo *asi = g_new (AutoSaveInfo, 1);
-       GError *error = NULL;
+        AutoSaveInfo *asi = g_new (AutoSaveInfo, 1);
+        GError *error = NULL;
 
-       asi->clone = diagram_data_clone (dia->data);
-       asi->filename = g_strdup (save_filename);
-       asi->ctx = dia_context_new (_("Auto save"));
+        asi->clone = diagram_data_clone (dia->data);
+        asi->filename = g_strdup (save_filename);
+        asi->ctx = dia_context_new (_("Auto save"));
 
-#if GLIB_CHECK_VERSION(2,32,0)
-       if (!g_thread_try_new ("Autosave", _autosave_in_thread, asi, &error)) {
-#else
-       if (!g_thread_create (_autosave_in_thread, asi, FALSE, &error)) {
-#endif
-         message_error ("%s", error->message);
-         g_error_free (error);
-       }
-       /* FIXME: need better synchronization */
+        if (!g_thread_try_new ("Autosave", _autosave_in_thread, asi, &error)) {
+          message_error ("%s", error->message);
+          g_error_free (error);
+        }
+        /* FIXME: need better synchronization */
         dia->autosaved = TRUE;
       } else {
-       /* no extra threads supported, stay in this one */
-       DiaContext *ctx = dia_context_new (_("Auto save"));
-       dia_context_set_filename (ctx, save_filename);
-       diagram_data_raw_save(dia->data, save_filename, ctx);
-       dia->autosaved = TRUE;
-       dia_context_release (ctx);
+        /* no extra threads supported, stay in this one */
+        DiaContext *ctx = dia_context_new (_("Auto save"));
+        dia_context_set_filename (ctx, save_filename);
+        diagram_data_raw_save (dia->data, save_filename, ctx);
+        dia->autosaved = TRUE;
+        dia_context_release (ctx);
       }
 #else
       {
-       DiaContext *ctx = dia_context_new (_("Auto save"));
-       dia_context_set_filename (ctx, save_filename);
-       diagram_data_raw_save(dia->data, save_filename, ctx);
-       dia->autosaved = TRUE;
-       dia_context_release (ctx);
+        DiaContext *ctx = dia_context_new (_("Auto save"));
+        dia_context_set_filename (ctx, save_filename);
+        diagram_data_raw_save (dia->data, save_filename, ctx);
+        dia->autosaved = TRUE;
+        dia_context_release (ctx);
       }
 #endif
       return;
diff --git a/app/menus.c b/app/menus.c
index 487fe823..8b690134 100644
--- a/app/menus.c
+++ b/app/menus.c
@@ -354,21 +354,6 @@ load_accels(void)
   }
 }
 
-/* FIXME: Apparently unused
-static gint
-save_accels(gpointer data)
-{
-  gchar *accelfilename;
-
-  accelfilename = dia_config_filename("menurc");
-  if (accelfilename) {
-    gtk_accel_map_save (accelfilename);
-    g_free (accelfilename);
-  }
-  return TRUE;
-}
-*/
-
 /**
  * Synchronized the Object snap property button with the display.
  * @param param Display to synchronize to.
@@ -501,12 +486,7 @@ integrated_ui_toolbar_zoom_combo_selection_changed (GtkComboBox *combo,
     if (gtk_combo_box_get_active (combo) != -1)
     {
         float zoom_percent;
-        gchar * text;
-#if GTK_CHECK_VERSION(2,24,0)
-       text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT (combo));
-#else
-       text = gtk_combo_box_get_active_text (combo);
-#endif
+        gchar *text = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (combo));
         if (sscanf (text, "%f", &zoom_percent) == 1)
         {
             view_zoom_set (zoom_percent * 10.0);
@@ -583,18 +563,13 @@ create_integrated_ui_toolbar (void)
   g_free (uifile);
 
   /* Zoom Combo Box Entry */
-#if GTK_CHECK_VERSION(2,24,0)
   w = gtk_combo_box_text_new_with_entry ();
-#else
-  w = gtk_combo_box_entry_new_text ();
-#endif
 
   g_object_set_data (G_OBJECT (toolbar),
                      DIA_INTEGRATED_TOOLBAR_ZOOM_COMBO,
                      w);
   integrated_ui_toolbar_add_custom_item (toolbar, w);
 
-#if GTK_CHECK_VERSION(2,24,0)
   gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), ZOOM_FIT);
   gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), _("800%"));
   gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), _("400%"));
@@ -606,23 +581,10 @@ create_integrated_ui_toolbar (void)
   gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), _("50%"));
   gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), _("25%"));
   gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w), _("10%"));
-#else
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), ZOOM_FIT);
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("800%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("400%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("300%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("200%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("150%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("100%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("75%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("50%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("25%"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (w), _("10%"));
-#endif
 
   g_signal_connect (G_OBJECT (w),
                     "changed",
-                           G_CALLBACK (integrated_ui_toolbar_zoom_combo_selection_changed),
+                    G_CALLBACK (integrated_ui_toolbar_zoom_combo_selection_changed),
                     NULL);
 
   /* Get the combo's GtkEntry child to set the width for the widget */
@@ -1018,11 +980,6 @@ menus_init(void)
 
   /* after creating all menu items */
   load_accels ();
-#if GTK_CHECK_VERSION(2,24,0)
-  g_print ("TODO: Check accels being saved ...");
-#else
-  gtk_quit_add(1, save_accels, NULL);
-#endif
 }
 
 void
diff --git a/app/preferences.c b/app/preferences.c
index c45cd38d..e22042cb 100644
--- a/app/preferences.c
+++ b/app/preferences.c
@@ -160,19 +160,19 @@ set_favored_exporter (DiaPrefData *pref, gpointer ptr)
 
 DiaPrefData prefs_data[] =
 {
-  { "reset_tools_after_create", PREF_BOOLEAN, PREF_OFFSET(reset_tools_after_create), 
+  { "reset_tools_after_create", PREF_BOOLEAN, PREF_OFFSET(reset_tools_after_create),
     &default_true, UI_TAB, N_("Reset tools after create") },
 
-  { "undo_depth",               PREF_UINT,    PREF_OFFSET(undo_depth), 
+  { "undo_depth",               PREF_UINT,    PREF_OFFSET(undo_depth),
     &default_undo_depth, UI_TAB, N_("Number of undo levels:") },
 
-  { "reverse_rubberbanding_intersects", PREF_BOOLEAN, PREF_OFFSET(reverse_rubberbanding_intersects), 
+  { "reverse_rubberbanding_intersects", PREF_BOOLEAN, PREF_OFFSET(reverse_rubberbanding_intersects),
     &default_true, UI_TAB, N_("Reverse dragging selects\nintersecting objects") },
 
-  { "recent_documents_list_size", PREF_UINT, PREF_OFFSET(recent_documents_list_size), 
+  { "recent_documents_list_size", PREF_UINT, PREF_OFFSET(recent_documents_list_size),
     &default_recent_documents, 0, N_("Recent documents list size:") },
 
-  { "use_menu_bar", PREF_BOOLEAN, PREF_OFFSET(new_view.use_menu_bar), 
+  { "use_menu_bar", PREF_BOOLEAN, PREF_OFFSET(new_view.use_menu_bar),
     &default_true, UI_TAB, N_("Use menu bar") },
 
   { "toolbox_on_top", PREF_BOOLEAN, PREF_OFFSET(toolbox_on_top),
@@ -184,14 +184,14 @@ DiaPrefData prefs_data[] =
   { "fontsize_unit", PREF_CHOICE, PREF_OFFSET(fontsize_unit),
     &default_fontsize_unit, UI_TAB, N_("Font size unit:"), NULL, FALSE,
     _get_units_name_list, update_internal_prefs },
-  
+
   { NULL, PREF_NONE, 0, NULL, DIA_TAB, N_("New diagram:") },
   { "is_portrait", PREF_BOOLEAN, PREF_OFFSET(new_diagram.is_portrait), &default_true, DIA_TAB, 
N_("Portrait") },
   { "new_diagram_papertype", PREF_CHOICE, PREF_OFFSET(new_diagram.papertype),
     &default_paper_name, DIA_TAB, N_("Paper type:"), NULL, FALSE, _get_paper_name_list },
   { "new_diagram_bgcolour", PREF_COLOUR, PREF_OFFSET(new_diagram.bg_color),
     &color_white, DIA_TAB, N_("Background Color:") },
-  { "compress_save",            PREF_BOOLEAN, PREF_OFFSET(new_diagram.compress_save), 
+  { "compress_save",            PREF_BOOLEAN, PREF_OFFSET(new_diagram.compress_save),
     &default_true, DIA_TAB, N_("Compress saved files") },
   { NULL, PREF_END_GROUP, 0, NULL, DIA_TAB, NULL },
 
@@ -211,22 +211,22 @@ DiaPrefData prefs_data[] =
   { "pagebreak_colour", PREF_COLOUR, PREF_OFFSET(new_diagram.pagebreak_color), &pbreak_colour, VIEW_TAB, 
N_("Color:") },
   { "pagebreak_solid", PREF_BOOLEAN, PREF_OFFSET(pagebreak.solid), &default_true, VIEW_TAB, N_("Solid 
lines") },
   { NULL, PREF_END_GROUP, 0, NULL, VIEW_TAB, NULL },
-  
+
   { NULL, PREF_NONE, 0, NULL, VIEW_TAB, N_("Antialias:") },
   { "view_antialiased", PREF_BOOLEAN, PREF_OFFSET(view_antialiased), &default_false, VIEW_TAB, N_("view 
antialiased") },
   { NULL, PREF_END_GROUP, 0, NULL, VIEW_TAB, NULL },
 
   /* Favored Filter */
   { NULL, PREF_NONE, 0, NULL, FAVOR_TAB, N_("Export") },
-  { "favored_png_export", PREF_CHOICE, PREF_OFFSET(favored_filter.png), &default_favored_filter, 
+  { "favored_png_export", PREF_CHOICE, PREF_OFFSET(favored_filter.png), &default_favored_filter,
     FAVOR_TAB, N_("Portable Network Graphics"), NULL, FALSE, get_exporter_names, set_favored_exporter, "PNG" 
},
-  { "favored_svg_export", PREF_CHOICE, PREF_OFFSET(favored_filter.svg), &default_favored_filter, 
+  { "favored_svg_export", PREF_CHOICE, PREF_OFFSET(favored_filter.svg), &default_favored_filter,
     FAVOR_TAB, N_("Scalable Vector Graphics"), NULL, FALSE, get_exporter_names, set_favored_exporter, "SVG" 
},
-  { "favored_ps_export", PREF_CHOICE, PREF_OFFSET(favored_filter.ps), &default_favored_filter, 
+  { "favored_ps_export", PREF_CHOICE, PREF_OFFSET(favored_filter.ps), &default_favored_filter,
     FAVOR_TAB, N_("PostScript"), NULL, FALSE, get_exporter_names, set_favored_exporter, "PS" },
-  { "favored_wmf_export", PREF_CHOICE, PREF_OFFSET(favored_filter.wmf), &default_favored_filter, 
+  { "favored_wmf_export", PREF_CHOICE, PREF_OFFSET(favored_filter.wmf), &default_favored_filter,
     FAVOR_TAB, N_("Windows Metafile"), NULL, FALSE, get_exporter_names, set_favored_exporter, "WMF" },
-  { "favored_emf_export", PREF_CHOICE, PREF_OFFSET(favored_filter.emf), &default_favored_filter, 
+  { "favored_emf_export", PREF_CHOICE, PREF_OFFSET(favored_filter.emf), &default_favored_filter,
     FAVOR_TAB, N_("Enhanced Metafile"), NULL, FALSE, get_exporter_names, set_favored_exporter, "EMF" },
   { NULL, PREF_END_GROUP, 0, NULL, FAVOR_TAB, NULL },
 
@@ -266,7 +266,7 @@ prefs_show(void)
 {
   prefs_create_dialog();
   gtk_widget_show(prefs_dialog);
-  
+
   prefs_update_dialog_from_prefs();
 }
 
@@ -305,7 +305,7 @@ prefs_set_defaults(void)
       *(Color *)ptr = *persistence_register_color(prefs_data[i].name, (Color *)ptr);
       break;
     case PREF_CHOICE:
-    case PREF_STRING: 
+    case PREF_STRING:
       *(gchar **)ptr = *(gchar **)prefs_data[i].default_value;
       *(gchar **)ptr = persistence_register_string(prefs_data[i].name, *(gchar **)ptr);
       break;
@@ -328,7 +328,7 @@ prefs_save(void)
   for (i=0;i<NUM_PREFS_DATA;i++) {
     if ((prefs_data[i].type == PREF_NONE) || (prefs_data[i].type == PREF_END_GROUP))
       continue;
-    
+
     ptr = (char *)&prefs + prefs_data[i].offset;
 
     switch (prefs_data[i].type) {
@@ -341,7 +341,7 @@ prefs_save(void)
       break;
     case PREF_REAL:
     case PREF_UREAL:
-      
+
       persistence_set_real(prefs_data[i].name, *(real *)ptr);
       break;
     case PREF_COLOUR:
@@ -380,7 +380,7 @@ prefs_set_value_in_widget(GtkWidget * widget, DiaPrefData *data,
                              (gfloat) (*((int *)ptr)));
     break;
   case PREF_REAL:
-  case PREF_UREAL: 
+  case PREF_UREAL:
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
                              (gfloat) (*((real *)ptr)));
     break;
@@ -475,7 +475,7 @@ prefs_get_property_widget(DiaPrefData *data)
 {
   GtkWidget *widget = NULL;
   GtkAdjustment *adj;
-  
+
   switch(data->type) {
   case PREF_BOOLEAN:
     widget = gtk_toggle_button_new_with_label (_("No"));
@@ -522,19 +522,11 @@ prefs_get_property_widget(DiaPrefData *data)
     break;
   case PREF_CHOICE: {
     GList *names;
-#if GTK_CHECK_VERSION(2,24,0)
     widget = gtk_combo_box_text_new ();
-#else
-    widget = gtk_combo_box_new_text ();
-#endif
-    for (names = (data->choice_list_function)(data); 
+    for (names = (data->choice_list_function)(data);
          names != NULL;
-        names = g_list_next(names)) {
-#if GTK_CHECK_VERSION(2,24,0)
+         names = g_list_next(names)) {
       gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), (gchar *)names->data);
-#else
-      gtk_combo_box_append_text (GTK_COMBO_BOX (widget), (gchar *)names->data);
-#endif
     }
     break;
   }
@@ -549,11 +541,11 @@ prefs_get_property_widget(DiaPrefData *data)
 }
 
 static gint
-prefs_respond(GtkWidget *widget, 
+prefs_respond(GtkWidget *widget,
                    gint       response_id,
                    gpointer   data)
 {
-  if (   response_id == GTK_RESPONSE_APPLY 
+  if (   response_id == GTK_RESPONSE_APPLY
       || response_id == GTK_RESPONSE_OK) {
     prefs_update_prefs_from_dialog();
     prefs_save();
@@ -592,7 +584,7 @@ prefs_create_dialog(void)
   gtk_window_set_resizable (GTK_WINDOW (prefs_dialog), TRUE);
 
   dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG (prefs_dialog));
-  
+
   gtk_window_set_role (GTK_WINDOW (prefs_dialog), "preferences_window");
 
   g_signal_connect(G_OBJECT (prefs_dialog), "response",
@@ -620,7 +612,7 @@ prefs_create_dialog(void)
     prefs_tabs[i].table = GTK_TABLE(table);
     gtk_widget_set_size_request(table, -1, -1);
     gtk_widget_show(table);
-    
+
 #ifdef SCROLLED_PAGES
     notebook_page = gtk_scrolled_window_new (NULL, NULL);
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (notebook_page),
@@ -647,7 +639,7 @@ prefs_create_dialog(void)
     GtkWidget *widget = NULL;
     int row;
 
-    if (prefs_data[i].hidden) 
+    if (prefs_data[i].hidden)
       continue;
 
     if (tab_idx != prefs_data[i].tab) {
@@ -681,11 +673,11 @@ prefs_create_dialog(void)
       label = gtk_label_new (gettext(prefs_data[i].label_text));
       gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.3);
       gtk_widget_show (label);
-      
+
       gtk_table_attach (current_table, label, 0, 1,
                        row, row + 1,
                        GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1);
-      
+
       widget = prefs_get_property_widget(&prefs_data[i]);
       if (widget != NULL) {
        gtk_table_attach (current_table, widget, 1, 2,
@@ -695,7 +687,7 @@ prefs_create_dialog(void)
       break;
     }
     prefs_data[i].widget = widget;
-    
+
   }
 
   gtk_widget_show (prefs_dialog);
@@ -707,12 +699,12 @@ prefs_update_prefs_from_dialog(void)
   GtkWidget *widget;
   int i;
   gpointer ptr;
-  
+
   for (i=0;i<NUM_PREFS_DATA;i++) {
     if (prefs_data[i].hidden) continue;
     widget = prefs_data[i].widget;
     ptr = (char *)&prefs + prefs_data[i].offset;
-    
+
     prefs_get_value_from_widget(widget, &prefs_data[i],  ptr);
   }
 }
@@ -723,12 +715,12 @@ prefs_update_dialog_from_prefs(void)
   GtkWidget *widget;
   int i;
   gpointer ptr;
-  
+
   for (i=0;i<NUM_PREFS_DATA;i++) {
     if (prefs_data[i].hidden) continue;
     widget = prefs_data[i].widget;
     ptr = (char *)&prefs + prefs_data[i].offset;
-    
+
     prefs_set_value_in_widget(widget, &prefs_data[i],  ptr);
   }
 }
@@ -741,7 +733,7 @@ update_internal_prefs(DiaPrefData *pref, gpointer ptr)
 {
 #if 0
   char *val = NULL;
-  
+
   if (!ptr)
     return;
   val = *(char **)ptr;
@@ -763,11 +755,11 @@ update_floating_toolbox(DiaPrefData *pref, gpointer ptr)
   if (prefs.toolbox_on_top) {
     /* Go through all diagrams and set toolbox transient for all displays */
     GList *diagrams;
-    for (diagrams = dia_open_diagrams(); diagrams != NULL; 
+    for (diagrams = dia_open_diagrams(); diagrams != NULL;
         diagrams = g_list_next(diagrams)) {
       Diagram *diagram = (Diagram *)diagrams->data;
       GSList *displays;
-      for (displays = diagram->displays; displays != NULL; 
+      for (displays = diagram->displays; displays != NULL;
           displays = g_slist_next(displays)) {
        DDisplay *ddisp = (DDisplay *)displays->data;
        gtk_window_set_transient_for(GTK_WINDOW(interface_get_toolbox_shell()),
diff --git a/app/properties-dialog.c b/app/properties-dialog.c
index 265a38ce..a9adc70a 100644
--- a/app/properties-dialog.c
+++ b/app/properties-dialog.c
@@ -42,7 +42,7 @@ static Diagram *current_dia = NULL;
 
 static GtkWidget *no_properties_dialog = NULL;
 
-static gint properties_respond(GtkWidget *widget, 
+static gint properties_respond(GtkWidget *widget,
                                gint       response_id,
                                gpointer   data);
 static gboolean properties_key_event(GtkWidget *widget,
@@ -50,7 +50,7 @@ static gboolean properties_key_event(GtkWidget *widget,
                                     gpointer data);
 static void properties_dialog_hide(void);
 
-static void 
+static void
 create_dialog(GtkWidget *parent)
 {
 /*   GtkWidget *actionbox; */
@@ -58,7 +58,7 @@ create_dialog(GtkWidget *parent)
 
   dialog = gtk_dialog_new_with_buttons(
              _("Object properties"),
-             parent ? GTK_WINDOW (parent) : NULL, 
+             parent ? GTK_WINDOW (parent) : NULL,
              GTK_DIALOG_DESTROY_WITH_PARENT,
              GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
              GTK_STOCK_APPLY, GTK_RESPONSE_APPLY,
@@ -119,7 +119,7 @@ properties_key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
 }
 
 static gint
-properties_respond(GtkWidget *widget, 
+properties_respond(GtkWidget *widget,
                    gint       response_id,
                    gpointer   data)
 {
@@ -127,7 +127,7 @@ properties_respond(GtkWidget *widget,
   gboolean set_tp = TRUE;
   GList *tmp;
 
-  if (   response_id == GTK_RESPONSE_APPLY 
+  if (   response_id == GTK_RESPONSE_APPLY
       || response_id == GTK_RESPONSE_OK) {
     if ((current_objects != NULL) && (current_dia != NULL)) {
       object_add_updates_list(current_objects, current_dia);
@@ -137,7 +137,7 @@ properties_respond(GtkWidget *widget,
        obj_change = current_obj->ops->apply_properties_from_dialog(current_obj, object_part);
        object_add_updates(current_obj, current_dia);
        diagram_update_connections_object(current_dia, current_obj, TRUE);
-    
+
        if (obj_change != NULL) {
          undo_object_change(current_dia, current_obj, obj_change);
          set_tp = set_tp && TRUE;
@@ -146,10 +146,10 @@ properties_respond(GtkWidget *widget,
 
        diagram_object_modified(current_dia, current_obj);
       }
-    
+
       diagram_modified(current_dia);
       diagram_update_extents(current_dia);
-      
+
       if (set_tp) {
        undo_set_transactionpoint(current_dia->undo);
       }  else {
@@ -181,11 +181,7 @@ properties_respond(GtkWidget *widget,
 static void
 properties_give_focus(GtkWidget *widget, gpointer data)
 {
-#if GTK_CHECK_VERSION(2,20,0)
   if (gtk_widget_get_can_focus(widget)) {
-#else
-  if (GTK_WIDGET_CAN_FOCUS(widget)) {
-#endif
     gtk_widget_grab_focus(widget);
   } else {
     if (GTK_IS_CONTAINER(widget)) {
@@ -244,7 +240,7 @@ object_list_properties_show(Diagram *dia, GList *objects)
   if (one_obj) {
     DiaObjectType *otype = one_obj->type;
     gchar *buf;
-    
+
     buf = g_strconcat(_("Properties: "), _(otype->name), NULL);
     gtk_window_set_title(GTK_WINDOW(dialog), buf);
     g_free(buf);
diff --git a/app/ruler.c b/app/ruler.c
index c26b0551..c03796fc 100644
--- a/app/ruler.c
+++ b/app/ruler.c
@@ -20,8 +20,8 @@
 
 #include <config.h>
 
-/* GtkRuler is deprecated by gtk-2-24, gone with gtk-3-0 because it is 
- * deemed to be too specialized for maintenance in Gtk. Maybe Dia is 
+/* GtkRuler is deprecated by gtk-2-24, gone with gtk-3-0 because it is
+ * deemed to be too specialized for maintenance in Gtk. Maybe Dia is
  * too specialized to be ported?
  *
  * Or maybe not - at least the ruler part can be reimplemented quite
@@ -62,11 +62,7 @@ dia_ruler_draw (GtkWidget *widget,
 {
   DiaRuler *ruler = DIA_RULER(widget);
 
-#if GTK_CHECK_VERSION(2,18,0)
   if (gtk_widget_is_drawable (widget))
-#else
-  if (GTK_WIDGET_DRAWABLE (widget))
-#endif
     {
       GtkStyle *style = gtk_widget_get_style (widget);
       PangoLayout *layout;
@@ -84,11 +80,7 @@ dia_ruler_draw (GtkWidget *widget,
       dx = (ruler->orientation == GTK_ORIENTATION_VERTICAL) ? width/3 : 0;
       dy = (ruler->orientation == GTK_ORIENTATION_HORIZONTAL) ? height/3 : 0;
 
-#if GTK_CHECK_VERSION(2,18,0)
       gdk_cairo_set_source_color (cr, &style->text[gtk_widget_get_state(widget)]);
-#else
-      gdk_cairo_set_source_color (cr, &style->text[GTK_WIDGET_STATE(widget)]);
-#endif
       cairo_set_line_width (cr, 1);
 
       pos = ruler->lower;
@@ -163,11 +155,7 @@ static gboolean
 dia_ruler_expose_event (GtkWidget      *widget,
                         GdkEventExpose *event)
 {
-#if GTK_CHECK_VERSION(2,18,0)
   if (gtk_widget_is_drawable (widget))
-#else
-  if (GTK_WIDGET_DRAWABLE (widget))
-#endif
     {
       GdkWindow *window = gtk_widget_get_window(widget);
       cairo_t *cr = gdk_cairo_create (window);
@@ -224,11 +212,7 @@ dia_ruler_motion_notify (GtkWidget      *widget,
       y = MAX(y - width/2, 0);
       height = width;
     }
-#if GTK_CHECK_VERSION(2,18,0)
   if (gtk_widget_is_drawable (GTK_WIDGET (ruler)))
-#else
-  if (GTK_WIDGET_DRAWABLE (ruler))
-#endif
     {
 #if 0
       /* this is a bit too expensive - on a slow enough computer the indicators lags */
@@ -280,7 +264,7 @@ dia_ruler_new (GtkOrientation orientation, GtkWidget *shell, DDisplay *ddisp)
   return rule;
 }
 
-void 
+void
 dia_ruler_set_range (GtkWidget *self,
                      gdouble    lower,
                      gdouble    upper,
@@ -294,11 +278,7 @@ dia_ruler_set_range (GtkWidget *self,
   ruler->position = position;
   ruler->max_size = max_size;
 
-#  if GTK_CHECK_VERSION(2,18,0)
   if (gtk_widget_is_drawable (GTK_WIDGET (ruler)))
-#  else
-  if (GTK_WIDGET_DRAWABLE (ruler))
-#  endif
     {
       gtk_widget_queue_draw (GTK_WIDGET (ruler));
       /* XXX: draw arrow at mouse position */
diff --git a/app/sheets_dialog.c b/app/sheets_dialog.c
index ce5358f5..5a9714b9 100644
--- a/app/sheets_dialog.c
+++ b/app/sheets_dialog.c
@@ -3,21 +3,21 @@
  *
  * sheets_dialog.c : a sheets and objects dialog
  * Copyright (C) 2002 M.C. Nelson
- *  
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- *  
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *  
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *  
+ *
  */
 
 /*
@@ -257,20 +257,12 @@ create_sheets_shapeselection_dialog (void)
   ok_button = GTK_FILE_SELECTION (sheets_shapeselection_dialog)->ok_button;
   gtk_object_set_data (GTK_OBJECT (sheets_shapeselection_dialog), "ok_button", ok_button);
   gtk_widget_show (ok_button);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (ok_button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT);
-#endif
 
   cancel_button1 = GTK_FILE_SELECTION (sheets_shapeselection_dialog)->cancel_button;
   gtk_object_set_data (GTK_OBJECT (sheets_shapeselection_dialog), "cancel_button1", cancel_button1);
   gtk_widget_show (cancel_button1);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (cancel_button1), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
-#endif
 
   g_signal_connect (G_OBJECT (ok_button), "clicked",
                     G_CALLBACK (on_sheets_shapeselection_dialog_button_ok_clicked),
diff --git a/app/splash.c b/app/splash.c
index ae586eb9..41cc2cd2 100644
--- a/app/splash.c
+++ b/app/splash.c
@@ -6,24 +6,7 @@
 #include "intl.h"
 #include "dia_dirs.h"
 #include "app_procs.h"
-
-static GtkWidget*
-get_logo_pixmap (void)
-{
-  GdkPixbuf *logo = NULL;
-  GtkWidget* gpixmap = NULL;
-  gchar *path = g_build_filename (dia_get_data_directory(""),
-                                  "dia-splash.png",
-                                  NULL);
-  logo = gdk_pixbuf_new_from_file (path, NULL);
-  g_free(path);
-
-  if (logo) {
-    gpixmap = gtk_image_new_from_pixbuf (logo);
-    g_object_unref (logo);
-  }
-  return gpixmap;
-}
+#include "widgets.h"
 
 static GtkWidget* splash = NULL;
 
@@ -54,15 +37,14 @@ app_splash_init (const gchar* fname)
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
   gtk_container_add (GTK_CONTAINER(splash), vbox);
 
-  gpixmap = get_logo_pixmap();
+  gpixmap = gtk_image_new_from_pixbuf (pixbuf_from_resource ("/org/gnome/Dia/dia-splash.png"));
 
   frame = gtk_frame_new (NULL);
   gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
   gtk_container_set_border_width (GTK_CONTAINER (frame), 1);
   gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, TRUE, 1);
 
-  if (gpixmap)
-    gtk_container_add (GTK_CONTAINER(frame), gpixmap);
+  gtk_container_add (GTK_CONTAINER(frame), gpixmap);
 
   g_snprintf(str, sizeof(str), _("Dia v %s"), VERSION);
   label = gtk_label_new (str);
diff --git a/bindings/dia-extra.cpp b/bindings/dia-extra.cpp
index f386824a..7e66d312 100644
--- a/bindings/dia-extra.cpp
+++ b/bindings/dia-extra.cpp
@@ -38,7 +38,7 @@
 #include "group.h"
 
 /*!
- * 
+ *
  *
  * \todo Dia's init function needs to be cleaned. E.g. it would be useful
  * to just initialize the plug-ins needed and not everything. Also this
@@ -47,9 +47,6 @@
  */
 void dia::register_plugins ()
 {
-#if !GLIB_CHECK_VERSION(2,36,0)
-    g_type_init();
-#endif    
     libdia_init (DIA_MESSAGE_STDERR);
 
     dia_register_plugins ();
@@ -62,10 +59,10 @@ void dia::message (int severity, const char* msg)
 
 /*!
  * \brief factory function for Group
- * 
+ *
  * Dia's group_create eats the given list, so this should to do the same,
  * i.e. passing ownership of the Object in in objects.
- * But 
+ * But
  */
 dia::Object*
 dia::group_create (Objects* objects)
diff --git a/data/meson.build b/data/meson.build
index 7c984944..8350799e 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,5 +1,2 @@
 subdir('icons')
 subdir('ui')
-
-install_data('dia-splash.png', install_dir: pkgdatadir)
-
diff --git a/lib/dia_image.c b/lib/dia_image.c
index 8c8dfc93..1c6612f4 100644
--- a/lib/dia_image.c
+++ b/lib/dia_image.c
@@ -24,6 +24,7 @@
 #include "dia_image.h"
 #include "message.h"
 #include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gtk/gtk.h>
 
 #define SCALING_CACHE
 
diff --git a/lib/diaarrowchooser.c b/lib/diaarrowchooser.c
index 9fbb7ae6..e9d51032 100644
--- a/lib/diaarrowchooser.c
+++ b/lib/diaarrowchooser.c
@@ -19,7 +19,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-/** \file diaarrowchooser.c  A widget to choose arrowhead.  This only select arrowhead, not width  and 
height. 
+/** \file diaarrowchooser.c  A widget to choose arrowhead.  This only select arrowhead, not width  and 
height.
  * \ingroup diawidgets
  */
 #include <config.h>
@@ -37,7 +37,7 @@ static const gchar*
 _dia_translate (const gchar* term, gpointer data)
 {
   const gchar* trans = term;
-  
+
   if (term && *term) {
     /* first try our own ... */
     trans = dgettext (GETTEXT_PACKAGE, term);
@@ -49,7 +49,7 @@ _dia_translate (const gchar* term, gpointer data)
 }
 
 /* --------------- DiaArrowPreview -------------------------------- */
-static void dia_arrow_preview_set(DiaArrowPreview *arrow, 
+static void dia_arrow_preview_set(DiaArrowPreview *arrow,
                                   ArrowType atype, gboolean left);
 
 static void dia_arrow_preview_class_init (DiaArrowPreviewClass  *klass);
@@ -102,11 +102,7 @@ dia_arrow_preview_class_init(DiaArrowPreviewClass *class)
 static void
 dia_arrow_preview_init(DiaArrowPreview *arrow)
 {
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_has_window (GTK_WIDGET (arrow), FALSE);
-#else
-  GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
-#endif
 
   GTK_WIDGET (arrow)->requisition.width = 40 + GTK_MISC (arrow)->xpad * 2;
   GTK_WIDGET (arrow)->requisition.height = 20 + GTK_MISC (arrow)->ypad * 2;
@@ -141,11 +137,7 @@ dia_arrow_preview_set(DiaArrowPreview *arrow, ArrowType atype, gboolean left)
   if (arrow->atype != atype || arrow->left != left) {
     arrow->atype = atype;
     arrow->left = left;
-#if GTK_CHECK_VERSION(2,18,0)
     if (gtk_widget_is_drawable(GTK_WIDGET(arrow)))
-#else
-    if (GTK_WIDGET_DRAWABLE(arrow))
-#endif
       gtk_widget_queue_draw(GTK_WIDGET(arrow));
   }
 }
@@ -159,11 +151,7 @@ dia_arrow_preview_set(DiaArrowPreview *arrow, ArrowType atype, gboolean left)
 static gint
 dia_arrow_preview_expose(GtkWidget *widget, GdkEventExpose *event)
 {
-#if GTK_CHECK_VERSION(2,18,0)
   if (gtk_widget_is_drawable(widget)) {
-#else
-  if (GTK_WIDGET_DRAWABLE(widget)) {
-#endif
     Point from, to;
     Point move_arrow, move_line, arrow_head;
     DiaCairoRenderer *renderer;
@@ -198,9 +186,9 @@ dia_arrow_preview_expose(GtkWidget *widget, GdkEventExpose *event)
      * variable
      */
     arrow_type.type = arrow->atype;
-    arrow_type.length = .75*((real)height-linewidth); 
+    arrow_type.length = .75*((real)height-linewidth);
     arrow_type.width = .75*((real)height-linewidth);
-    
+
     /* and here we calculate new arrow start and end of line points */
     calculate_arrow_point(&arrow_type, &from, &to,
                           &move_arrow, &move_line,
@@ -228,9 +216,9 @@ dia_arrow_preview_expose(GtkWidget *widget, GdkEventExpose *event)
       GDK_COLOR_TO_DIA(bg, color_bg);
       GDK_COLOR_TO_DIA(fg, color_fg);
       renderer_ops->draw_line(DIA_RENDERER (renderer), &from, &to, &color_fg);
-      arrow_draw (DIA_RENDERER (renderer), arrow_type.type, 
-                  &arrow_head, &from, 
-                 arrow_type.length, 
+      arrow_draw (DIA_RENDERER (renderer), arrow_type.type,
+                  &arrow_head, &from,
+                 arrow_type.length,
                  arrow_type.width,
                   linewidth, &color_fg, &color_bg);
     }
diff --git a/lib/dialinechooser.c b/lib/dialinechooser.c
index 506d94a2..467d946c 100644
--- a/lib/dialinechooser.c
+++ b/lib/dialinechooser.c
@@ -76,11 +76,7 @@ dia_line_preview_class_init (DiaLinePreviewClass *class)
 static void
 dia_line_preview_init (DiaLinePreview *line)
 {
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_has_window (GTK_WIDGET (line), FALSE);
-#else
-  GTK_WIDGET_SET_FLAGS (line, GTK_NO_WINDOW);
-#endif
 
   GTK_WIDGET (line)->requisition.width = 30 + GTK_MISC (line)->xpad * 2;
   GTK_WIDGET (line)->requisition.height = 15 + GTK_MISC (line)->ypad * 2;
@@ -102,11 +98,7 @@ dia_line_preview_set(DiaLinePreview *line, LineStyle lstyle)
 {
   if (line->lstyle != lstyle) {
     line->lstyle = lstyle;
-#if GTK_CHECK_VERSION(2,18,0)
     if (gtk_widget_is_drawable(GTK_WIDGET(line)))
-#else
-    if (GTK_WIDGET_DRAWABLE(line))
-#endif
       gtk_widget_queue_draw(GTK_WIDGET(line));
   }
 }
@@ -267,7 +259,7 @@ dia_line_chooser_change_line_style(GtkMenuItem *mi, DiaLineChooser *lchooser)
 }
 
 void
-dia_line_chooser_set_line_style(DiaLineChooser *lchooser, 
+dia_line_chooser_set_line_style(DiaLineChooser *lchooser,
                                LineStyle lstyle,
                                real dashlength)
 {
diff --git a/lib/persistence.c b/lib/persistence.c
index ee16bdc9..df977292 100644
--- a/lib/persistence.c
+++ b/lib/persistence.c
@@ -17,7 +17,7 @@
  */
 
 /*!
- * \file persistence.c -- functions that handle persistent stores, such as 
+ * \file persistence.c -- functions that handle persistent stores, such as
  * window positions and sizes, font menu, document history etc.
  */
 
@@ -122,7 +122,7 @@ persistence_load_entrystring(gchar *role, xmlNodePtr node, DiaContext *ctx)
   attr = composite_find_attribute(node, "stringvalue");
   if (attr != NULL)
     string = data_string(attribute_first_data(attr), ctx);
-  else 
+  else
     return;
 
   if (string != NULL)
@@ -139,7 +139,7 @@ persistence_load_list(gchar *role, xmlNodePtr node, DiaContext *ctx)
   attr = composite_find_attribute(node, "listvalue");
   if (attr != NULL)
     string = data_string(attribute_first_data(attr), ctx);
-  else 
+  else
     return;
 
   if (string != NULL) {
@@ -253,7 +253,7 @@ persistence_load_type(xmlNodePtr node, DiaContext *ctx)
   if (name == NULL) {
     return;
   }
-  
+
   (*func)(name, node, ctx);
 }
 
@@ -356,7 +356,7 @@ persistence_save_window(gpointer key, gpointer value, gpointer data)
   ObjectNode window;
 
   window = (ObjectNode)xmlNewChild(tree, NULL, (const xmlChar *)"window", NULL);
-  
+
   xmlSetProp(window, (const xmlChar *)"role", (xmlChar *) key);
   data_add_int(new_attribute(window, "xpos"), window_pos->x, ctx);
   data_add_int(new_attribute(window, "ypos"), window_pos->y, ctx);
@@ -385,10 +385,10 @@ persistence_save_list(gpointer key, gpointer value, gpointer data)
   for (items = ((PersistentList*)value)->glist; items != NULL;
        items = g_list_next(items)) {
     g_string_append(buf, (gchar *)items->data);
-    if (g_list_next(items) != NULL) 
+    if (g_list_next(items) != NULL)
       g_string_append(buf, "\n");
   }
-  
+
   data_add_string(new_attribute(listnode, "listvalue"), buf->str, ctx);
   g_string_free(buf, TRUE);
 }
@@ -489,7 +489,7 @@ persistence_save()
   doc->encoding = xmlStrdup((const xmlChar *)"UTF-8");
   doc->xmlRootNode = xmlNewDocNode(doc, NULL, (const xmlChar *)"persistence", NULL);
 
-  name_space = xmlNewNs(doc->xmlRootNode, 
+  name_space = xmlNewNs(doc->xmlRootNode,
                         (const xmlChar *) DIA_XML_NAME_SPACE_BASE,
                        (const xmlChar *)"dia");
   xmlSetNs(doc->xmlRootNode, name_space);
@@ -557,10 +557,10 @@ persistence_update_window(GtkWindow *window, gboolean isclosed)
 
   if (persistent_windows == NULL) {
     persistent_windows = _dia_hash_table_str_any_new();
-  }    
+  }
   wininfo = (PersistentWindow *)g_hash_table_lookup(persistent_windows, name);
 
-  if (wininfo != NULL) {  
+  if (wininfo != NULL) {
     persistence_store_window_info(window, wininfo, isclosed);
   } else {
     wininfo = g_new0(PersistentWindow, 1);
@@ -584,7 +584,7 @@ persistence_update_window(GtkWindow *window, gboolean isclosed)
  *
  * Handler for window-related events that should cause persistent storage changes.
  * @param window The GTK window to store for.
- * @param event the GDK event that caused us to be called.  Note that the 
+ * @param event the GDK event that caused us to be called.  Note that the
  * window state hasn't been updated by the event yet.
  * @param data Userdata passed when adding signal handler.
  * @return Always FALSE to continue processing of events
@@ -593,24 +593,21 @@ static gboolean
 persistence_window_event_handler(GtkWindow *window, GdkEvent *event, gpointer data)
 {
   switch (event->type) {
-  case GDK_UNMAP : 
-    dia_log_message ("unmap (%s)", persistence_get_window_name(window)); 
+  case GDK_UNMAP :
+    dia_log_message ("unmap (%s)", persistence_get_window_name(window));
     break;
-  case GDK_MAP : 
-    dia_log_message  ("map (%s)", persistence_get_window_name(window)); 
+  case GDK_MAP :
+    dia_log_message  ("map (%s)", persistence_get_window_name(window));
     break;
-  case GDK_CONFIGURE : 
-    dia_log_message ("configure (%s)", persistence_get_window_name(window)); 
+  case GDK_CONFIGURE :
+    dia_log_message ("configure (%s)", persistence_get_window_name(window));
     break;
   default :
     /* silence gcc */
     break;
   }
-#if GTK_CHECK_VERSION(2,20,0)
-  persistence_update_window(window, !gtk_widget_get_mapped(GTK_WIDGET(window)));
-#else
-  persistence_update_window(window, !(GTK_WIDGET_MAPPED(window)));
-#endif
+  persistence_update_window (window,
+                             !gtk_widget_get_mapped (GTK_WIDGET (window)));
   /* continue processing */
   return FALSE;
 }
@@ -624,11 +621,9 @@ persistence_window_event_handler(GtkWindow *window, GdkEvent *event, gpointer da
 static gboolean
 persistence_hide_show_window(GtkWindow *window, gpointer data)
 {
-#if GTK_CHECK_VERSION(2,20,0)
-  persistence_update_window(window, !(gtk_widget_get_mapped(GTK_WIDGET(window))));
-#else
-  persistence_update_window(window, !GTK_WIDGET_MAPPED(window));
-#endif
+  persistence_update_window (window,
+                             !(gtk_widget_get_mapped (GTK_WIDGET(window))));
+
   return FALSE;
 }
 
@@ -646,12 +641,12 @@ wininfo_in_range (const PersistentWindow *wininfo)
   gint num_monitors = gdk_screen_get_n_monitors (screen), i;
   GdkRectangle rwin = {wininfo->x, wininfo->y, wininfo->width, wininfo->height};
   GdkRectangle rres = {0, 0, 0, 0};
-  
+
   for (i = 0; i < num_monitors; ++i) {
     GdkRectangle rmon;
-    
+
     gdk_screen_get_monitor_geometry (screen, i, &rmon);
-    
+
     gdk_rectangle_intersect (&rwin, &rmon, &rres);
     if (rres.width * rres.height > 0)
       break;
@@ -675,7 +670,7 @@ persistence_register_window(GtkWindow *window)
   if (name == NULL) return;
   if (persistent_windows == NULL) {
     persistent_windows = _dia_hash_table_str_any_new();
-  }    
+  }
   wininfo = (PersistentWindow *)g_hash_table_lookup(persistent_windows, name);
   if (wininfo != NULL) {
     if (wininfo_in_range (wininfo)) {
@@ -689,11 +684,7 @@ persistence_register_window(GtkWindow *window)
     gtk_window_get_position(window, &wininfo->x, &wininfo->y);
     gtk_window_get_size(window, &wininfo->width, &wininfo->height);
     /* Drawable means visible & mapped, what we usually think of as open. */
-#if GTK_CHECK_VERSION(2,18,0)
     wininfo->isopen = gtk_widget_is_drawable(GTK_WIDGET(window));
-#else
-    wininfo->isopen = GTK_WIDGET_DRAWABLE(GTK_WIDGET(window));
-#endif
     g_hash_table_insert(persistent_windows, (gchar *)name, wininfo);
   }
   if (wininfo->window != NULL && wininfo->window != window) {
@@ -799,7 +790,7 @@ persistence_register_string_entry(gchar *role, GtkWidget *entry)
   if (role == NULL) return;
   if (persistent_entrystrings == NULL) {
     persistent_entrystrings = _dia_hash_table_str_any_new();
-  }    
+  }
   string = (gchar *)g_hash_table_lookup(persistent_entrystrings, role);
   if (string != NULL) {
     gtk_entry_set_text(GTK_ENTRY(entry), string);
@@ -807,12 +798,12 @@ persistence_register_string_entry(gchar *role, GtkWidget *entry)
     string = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
     g_hash_table_insert(persistent_entrystrings, role, string);
   }
-  g_signal_connect(G_OBJECT(entry), "event", 
+  g_signal_connect(G_OBJECT(entry), "event",
                   G_CALLBACK(persistence_update_string_entry), role);
 }
 
 /* ********* LISTS ********** */
-/* Lists are used for e.g. recent files, selected fonts, etc. 
+/* Lists are used for e.g. recent files, selected fonts, etc.
  * Anywhere where the user occasionally picks from a long list and
  * is likely to reuse the items.
  */
@@ -824,7 +815,7 @@ persistence_register_list(const gchar *role)
   if (role == NULL) return NULL;
   if (persistent_lists == NULL) {
     persistent_lists = _dia_hash_table_str_any_new();
-  } else {   
+  } else {
     list = (PersistentList *)g_hash_table_lookup(persistent_lists, role);
     if (list != NULL) {
       return list;
@@ -966,7 +957,7 @@ typedef struct {
  * @param userdata Data passed back into the callback function.
  */
 void
-persistent_list_add_listener(const gchar *role, PersistenceCallback func, 
+persistent_list_add_listener(const gchar *role, PersistenceCallback func,
                             GObject *watch, gpointer userdata)
 {
   PersistentList *plist = persistent_list_get(role);
@@ -1003,7 +994,7 @@ persistence_register_integer(gchar *role, int defaultvalue)
   if (role == NULL) return 0;
   if (persistent_integers == NULL) {
     persistent_integers = _dia_hash_table_str_any_new();
-  }    
+  }
   integer = (gint *)g_hash_table_lookup(persistent_integers, role);
   if (integer == NULL) {
     integer = g_new(gint, 1);
@@ -1036,9 +1027,9 @@ persistence_set_integer(gchar *role, gint newvalue)
     return;
   }
   integer = (gint *)g_hash_table_lookup(persistent_integers, role);
-  if (integer != NULL) 
+  if (integer != NULL)
     *integer = newvalue;
-  else 
+  else
     g_warning("No integer to set for %s", role);
 }
 
@@ -1050,7 +1041,7 @@ persistence_register_real(gchar *role, real defaultvalue)
   if (role == NULL) return 0;
   if (persistent_reals == NULL) {
     persistent_reals = _dia_hash_table_str_any_new();
-  }    
+  }
   realval = (real *)g_hash_table_lookup(persistent_reals, role);
   if (realval == NULL) {
     realval = g_new(real, 1);
@@ -1083,9 +1074,9 @@ persistence_set_real(gchar *role, real newvalue)
     return;
   }
   realval = (real *)g_hash_table_lookup(persistent_reals, role);
-  if (realval != NULL) 
+  if (realval != NULL)
     *realval = newvalue;
-  else 
+  else
     g_warning("No real to set for %s", role);
 }
 
@@ -1099,7 +1090,7 @@ persistence_boolean_is_registered(const gchar *role)
   if (role == NULL) return 0;
   if (persistent_booleans == NULL) {
     persistent_booleans = _dia_hash_table_str_any_new();
-  }    
+  }
   booleanval = (gboolean *)g_hash_table_lookup(persistent_booleans, role);
   return booleanval != NULL;
 }
@@ -1111,7 +1102,7 @@ persistence_register_boolean(const gchar *role, gboolean defaultvalue)
   if (role == NULL) return 0;
   if (persistent_booleans == NULL) {
     persistent_booleans = _dia_hash_table_str_any_new();
-  }    
+  }
   booleanval = (gboolean *)g_hash_table_lookup(persistent_booleans, role);
   if (booleanval == NULL) {
     booleanval = g_new(gboolean, 1);
@@ -1144,9 +1135,9 @@ persistence_set_boolean(const gchar *role, gboolean newvalue)
     return;
   }
   booleanval = (gboolean *)g_hash_table_lookup(persistent_booleans, role);
-  if (booleanval != NULL) 
+  if (booleanval != NULL)
     *booleanval = newvalue;
-  else 
+  else
     g_warning("No boolean to set for %s", role);
 }
 
@@ -1167,7 +1158,7 @@ persistence_register_string(gchar *role, gchar *defaultvalue)
   if (role == NULL) return 0;
   if (persistent_strings == NULL) {
     persistent_strings = _dia_hash_table_str_any_new();
-  }    
+  }
   stringval = (gchar *)g_hash_table_lookup(persistent_strings, role);
   if (stringval == NULL) {
     stringval = g_strdup(defaultvalue);
@@ -1219,7 +1210,7 @@ persistence_register_color(gchar *role, Color *defaultvalue)
   if (role == NULL) return 0;
   if (persistent_colors == NULL) {
     persistent_colors = _dia_hash_table_str_any_new();
-  }    
+  }
   colorval = (Color *)g_hash_table_lookup(persistent_colors, role);
   if (colorval == NULL) {
     colorval = g_new(Color, 1);
@@ -1252,8 +1243,8 @@ persistence_set_color(gchar *role, Color *newvalue)
     return;
   }
   colorval = (Color *)g_hash_table_lookup(persistent_colors, role);
-  if (colorval != NULL) 
+  if (colorval != NULL)
     *colorval = *newvalue;
-  else 
+  else
     g_warning("No color to set for %s", role);
 }
diff --git a/lib/prop_inttypes.c b/lib/prop_inttypes.c
index 67f1ec75..5cecf9da 100644
--- a/lib/prop_inttypes.c
+++ b/lib/prop_inttypes.c
@@ -6,7 +6,7 @@
  * Copyright (C) 2001 Cyrille Chepelov
  * Major restructuration done in August 2001 by C. Chepelov
  *
- * Property types for integral types (and arrays thereof). 
+ * Property types for integral types (and arrays thereof).
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -49,9 +49,9 @@ charprop_new(const PropDescription *pdesc, PropDescToPropPredicate reason)
 }
 
 static CharProperty *
-charprop_copy(CharProperty *src) 
+charprop_copy(CharProperty *src)
 {
-  CharProperty *prop = 
+  CharProperty *prop =
     (CharProperty *)src->common.ops->new_prop(src->common.descr,
                                                src->common.reason);
   copy_init_property(&prop->common,&src->common);
@@ -60,15 +60,15 @@ charprop_copy(CharProperty *src)
 }
 
 static WIDGET *
-charprop_get_widget(CharProperty *prop, PropDialog *dialog) 
-{ 
+charprop_get_widget(CharProperty *prop, PropDialog *dialog)
+{
   GtkWidget *ret = gtk_entry_new();
   gtk_entry_set_activates_default(GTK_ENTRY(ret), TRUE);
   prophandler_connect(&prop->common, G_OBJECT(ret), "changed");
   return ret;
 }
 
-static void 
+static void
 charprop_reset_widget(CharProperty *prop, WIDGET *widget)
 {
   gchar ch[7];
@@ -77,30 +77,30 @@ charprop_reset_widget(CharProperty *prop, WIDGET *widget)
   gtk_entry_set_text(GTK_ENTRY(widget), ch);
 }
 
-static void 
-charprop_set_from_widget(CharProperty *prop, WIDGET *widget) 
+static void
+charprop_set_from_widget(CharProperty *prop, WIDGET *widget)
 {
   gchar *buf = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, 1);
   prop->char_data = g_utf8_get_char(buf);
   g_free(buf);
 }
 
-static void 
+static void
 charprop_load(CharProperty *prop, AttributeNode attr, DataNode data, DiaContext *ctx)
 {
   gchar *str = data_string(data, ctx);
-  
+
   if (str && str[0]) {
     prop->char_data = g_utf8_get_char(str);
     g_free(str);
   } else {
-    g_warning("Could not read character data for attribute %s", 
+    g_warning("Could not read character data for attribute %s",
               prop->common.descr->name);
   }
 }
 
-static void 
-charprop_save(CharProperty *prop, AttributeNode attr, DiaContext *ctx) 
+static void
+charprop_save(CharProperty *prop, AttributeNode attr, DiaContext *ctx)
 {
   gchar utf[7];
   gint n = g_unichar_to_utf8 (prop->char_data, utf);
@@ -108,21 +108,21 @@ charprop_save(CharProperty *prop, AttributeNode attr, DiaContext *ctx)
   data_add_string (attr, utf, ctx);
 }
 
-static void 
+static void
 charprop_get_from_offset(CharProperty *prop,
-                         void *base, guint offset, guint offset2) 
+                         void *base, guint offset, guint offset2)
 {
   prop->char_data = struct_member(base,offset,gunichar);
 }
 
-static void 
+static void
 charprop_set_from_offset(CharProperty *prop,
                          void *base, guint offset, guint offset2)
 {
   struct_member(base,offset,gunichar) = prop->char_data;
 }
 
-static int 
+static int
 charprop_get_data_size(CharProperty *prop)
 {
   return sizeof (prop->char_data);
@@ -171,9 +171,9 @@ boolprop_new(const PropDescription *pdesc, PropDescToPropPredicate reason)
 }
 
 static BoolProperty *
-boolprop_copy(BoolProperty *src) 
+boolprop_copy(BoolProperty *src)
 {
-  BoolProperty *prop = 
+  BoolProperty *prop =
     (BoolProperty *)src->common.ops->new_prop(src->common.descr,
                                                src->common.reason);
   copy_init_property(&prop->common,&src->common);
@@ -182,8 +182,8 @@ boolprop_copy(BoolProperty *src)
 }
 
 static WIDGET *
-boolprop_get_widget(BoolProperty *prop, PropDialog *dialog) 
-{ 
+boolprop_get_widget(BoolProperty *prop, PropDialog *dialog)
+{
   GtkWidget *ret = gtk_toggle_button_new_with_label(_("No"));
   g_signal_connect(G_OBJECT(ret), "toggled",
                    G_CALLBACK (bool_toggled), NULL);
@@ -191,45 +191,45 @@ boolprop_get_widget(BoolProperty *prop, PropDialog *dialog)
   return ret;
 }
 
-static void 
+static void
 boolprop_reset_widget(BoolProperty *prop, WIDGET *widget)
 {
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),prop->bool_data);
 }
 
-static void 
-boolprop_set_from_widget(BoolProperty *prop, WIDGET *widget) 
+static void
+boolprop_set_from_widget(BoolProperty *prop, WIDGET *widget)
 {
   prop->bool_data = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget));
 }
 
-static void 
+static void
 boolprop_load(BoolProperty *prop, AttributeNode attr, DataNode data, DiaContext *ctx)
 {
   prop->bool_data = data_boolean(data,ctx);
 }
 
-static void 
-boolprop_save(BoolProperty *prop, AttributeNode attr, DiaContext *ctx) 
+static void
+boolprop_save(BoolProperty *prop, AttributeNode attr, DiaContext *ctx)
 {
   data_add_boolean(attr, prop->bool_data, ctx);
 }
 
-static void 
+static void
 boolprop_get_from_offset(BoolProperty *prop,
-                         void *base, guint offset, guint offset2) 
+                         void *base, guint offset, guint offset2)
 {
   prop->bool_data = struct_member(base,offset,gboolean);
 }
 
-static void 
+static void
 boolprop_set_from_offset(BoolProperty *prop,
                          void *base, guint offset, guint offset2)
 {
   struct_member(base,offset,gboolean) = prop->bool_data;
 }
 
-static int 
+static int
 boolprop_get_data_size(BoolProperty *prop)
 {
   return sizeof (prop->bool_data);
@@ -266,9 +266,9 @@ intprop_new(const PropDescription *pdesc, PropDescToPropPredicate reason)
 }
 
 static IntProperty *
-intprop_copy(IntProperty *src) 
+intprop_copy(IntProperty *src)
 {
-  IntProperty *prop = 
+  IntProperty *prop =
     (IntProperty *)src->common.ops->new_prop(src->common.descr,
                                               src->common.reason);
   copy_init_property(&prop->common,&src->common);
@@ -277,19 +277,19 @@ intprop_copy(IntProperty *src)
 }
 
 static WIDGET *
-intprop_get_widget(IntProperty *prop, PropDialog *dialog) 
-{ 
+intprop_get_widget(IntProperty *prop, PropDialog *dialog)
+{
   GtkAdjustment *adj = GTK_ADJUSTMENT(gtk_adjustment_new(prop->int_data,
                                                          G_MININT, G_MAXINT,
                                                          1.0, 10.0, 0));
   GtkWidget *ret = gtk_spin_button_new(adj, 1.0, 0);
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(ret),TRUE);
   prophandler_connect(&prop->common, G_OBJECT(ret), "value_changed");
-  
+
   return ret;
 }
 
-static void 
+static void
 intprop_reset_widget(IntProperty *prop, WIDGET *widget)
 {
   GtkAdjustment *adj = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON(widget));
@@ -308,39 +308,39 @@ intprop_reset_widget(IntProperty *prop, WIDGET *widget)
   gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE);
 }
 
-static void 
-intprop_set_from_widget(IntProperty *prop, WIDGET *widget) 
+static void
+intprop_set_from_widget(IntProperty *prop, WIDGET *widget)
 {
   prop->int_data = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
 }
 
-static void 
+static void
 intprop_load(IntProperty *prop, AttributeNode attr, DataNode data, DiaContext *ctx)
 {
   prop->int_data = data_int(data,ctx);
 }
 
-static void 
-intprop_save(IntProperty *prop, AttributeNode attr, DiaContext *ctx) 
+static void
+intprop_save(IntProperty *prop, AttributeNode attr, DiaContext *ctx)
 {
   data_add_int(attr, prop->int_data, ctx);
 }
 
-static void 
+static void
 intprop_get_from_offset(IntProperty *prop,
-                        void *base, guint offset, guint offset2) 
+                        void *base, guint offset, guint offset2)
 {
   prop->int_data = struct_member(base,offset,gint);
 }
 
-static void 
+static void
 intprop_set_from_offset(IntProperty *prop,
                         void *base, guint offset, guint offset2)
 {
   struct_member(base,offset,gint) = prop->int_data;
 }
 
-static int 
+static int
 intprop_get_data_size(IntProperty *prop)
 {
   return sizeof (prop->int_data);
@@ -367,7 +367,7 @@ static const PropertyOps intprop_ops = {
 /********************************/
 
 static IntarrayProperty *
-intarrayprop_new(const PropDescription *pdesc, 
+intarrayprop_new(const PropDescription *pdesc,
                  PropDescToPropPredicate reason)
 {
   IntarrayProperty *prop = g_new0(IntarrayProperty,1);
@@ -376,63 +376,63 @@ intarrayprop_new(const PropDescription *pdesc,
   return prop;
 }
 
-static void 
-intarrayprop_free(IntarrayProperty *prop) 
+static void
+intarrayprop_free(IntarrayProperty *prop)
 {
   g_array_free(prop->intarray_data,TRUE);
   g_free(prop);
 }
 
 static IntarrayProperty *
-intarrayprop_copy(IntarrayProperty *src) 
+intarrayprop_copy(IntarrayProperty *src)
 {
   guint i;
-  IntarrayProperty *prop = 
+  IntarrayProperty *prop =
     (IntarrayProperty *)src->common.ops->new_prop(src->common.descr,
                                                    src->common.reason);
   copy_init_property(&prop->common,&src->common);
   g_array_set_size(prop->intarray_data,src->intarray_data->len);
-  for (i = 0 ; i < src->intarray_data->len; i++) 
-    g_array_index(prop->intarray_data,gint,i) = 
+  for (i = 0 ; i < src->intarray_data->len; i++)
+    g_array_index(prop->intarray_data,gint,i) =
       g_array_index(src->intarray_data,gint,i);
   return prop;
 }
 
-static void 
+static void
 intarrayprop_load(IntarrayProperty *prop, AttributeNode attr, DataNode data, DiaContext *ctx)
 {
   guint nvals = attribute_num_data(attr);
   guint i;
   g_array_set_size(prop->intarray_data,nvals);
-  for (i=0; (i < nvals) && data; i++, data = data_next(data)) 
+  for (i=0; (i < nvals) && data; i++, data = data_next(data))
     g_array_index(prop->intarray_data,gint,i) = data_int(data,ctx);
-  if (i != nvals) 
+  if (i != nvals)
     g_warning("attribute_num_data() and actual data count mismatch "
               "(shouldn't happen)");
 }
 
-static void 
-intarrayprop_save(IntarrayProperty *prop, AttributeNode attr, DiaContext *ctx) 
+static void
+intarrayprop_save(IntarrayProperty *prop, AttributeNode attr, DiaContext *ctx)
 {
   guint i;
   for (i = 0; i < prop->intarray_data->len; i++)
     data_add_int(attr, g_array_index(prop->intarray_data,gint,i), ctx);
 }
 
-static void 
+static void
 intarrayprop_get_from_offset(IntarrayProperty *prop,
-                             void *base, guint offset, guint offset2) 
+                             void *base, guint offset, guint offset2)
 {
   guint nvals = struct_member(base,offset2,guint);
   guint i;
   void *ofs_val = struct_member(base,offset,void *);
   g_array_set_size(prop->intarray_data,nvals);
   for (i = 0; i < nvals; i++)
-    g_array_index(prop->intarray_data,gint,i) = 
+    g_array_index(prop->intarray_data,gint,i) =
       struct_member(ofs_val,i * sizeof(gint),gint);
 }
 
-static void 
+static void
 intarrayprop_set_from_offset(IntarrayProperty *prop,
                              void *base, guint offset, guint offset2)
 {
@@ -473,9 +473,9 @@ enumprop_new(const PropDescription *pdesc, PropDescToPropPredicate reason)
 }
 
 static EnumProperty *
-enumprop_copy(EnumProperty *src) 
+enumprop_copy(EnumProperty *src)
 {
-  EnumProperty *prop = 
+  EnumProperty *prop =
     (EnumProperty *)src->common.ops->new_prop(src->common.descr,
                                                src->common.reason);
   copy_init_property(&prop->common,&src->common);
@@ -484,33 +484,27 @@ enumprop_copy(EnumProperty *src)
 }
 
 static WIDGET *
-enumprop_get_widget(EnumProperty *prop, PropDialog *dialog) 
-{ 
+enumprop_get_widget(EnumProperty *prop, PropDialog *dialog)
+{
   GtkWidget *ret;
 
   if (prop->common.descr->extra_data) {
     PropEnumData *enumdata = prop->common.descr->extra_data;
     guint i;
 
-#if GTK_CHECK_VERSION(2,24,0)
     ret = gtk_combo_box_text_new ();
-#else
-    ret = gtk_combo_box_new_text ();
-#endif
+
     for (i = 0; enumdata[i].name != NULL; i++)
-#if GTK_CHECK_VERSION(2,24,0)
-      gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (ret), _(enumdata[i].name)); 
-#else
-      gtk_combo_box_append_text (GTK_COMBO_BOX (ret), _(enumdata[i].name)); 
-#endif
+      gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (ret), _(enumdata[i].name));
+
     prophandler_connect(&prop->common, G_OBJECT (ret), "changed");
   } else {
     ret = gtk_entry_new(); /* should use spin button/option menu */
-  }  
+  }
   return ret;
 }
 
-static void 
+static void
 enumprop_reset_widget(EnumProperty *prop, WIDGET *widget)
 {
   if (prop->common.descr->extra_data) {
@@ -531,22 +525,22 @@ enumprop_reset_widget(EnumProperty *prop, WIDGET *widget)
   }
 }
 
-static void 
-enumprop_set_from_widget(EnumProperty *prop, WIDGET *widget) 
+static void
+enumprop_set_from_widget(EnumProperty *prop, WIDGET *widget)
 {
   if (GTK_IS_COMBO_BOX (widget)) {
     guint pos = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
     PropEnumData *enumdata = prop->common.descr->extra_data;
-    
+
     g_return_if_fail (enumdata != NULL);
-    
+
     prop->enum_data = enumdata[pos].enumv;
   } else {
     prop->enum_data = strtol(gtk_entry_get_text(GTK_ENTRY(widget)), NULL, 0);
   }
 }
 
-static void 
+static void
 enumprop_load(EnumProperty *prop, AttributeNode attr, DataNode data, DiaContext *ctx)
 {
   DataType dt = data_type (data, ctx);
@@ -570,15 +564,15 @@ enumprop_load(EnumProperty *prop, AttributeNode attr, DataNode data, DiaContext
   }
 }
 
-static void 
-enumprop_save(EnumProperty *prop, AttributeNode attr, DiaContext *ctx) 
+static void
+enumprop_save(EnumProperty *prop, AttributeNode attr, DiaContext *ctx)
 {
   data_add_enum(attr, prop->enum_data, ctx);
 }
 
-static void 
+static void
 enumprop_get_from_offset(EnumProperty *prop,
-                         void *base, guint offset, guint offset2) 
+                         void *base, guint offset, guint offset2)
 {
   if (offset2 == 0) {
     prop->enum_data = struct_member(base,offset,gint);
@@ -589,7 +583,7 @@ enumprop_get_from_offset(EnumProperty *prop,
   }
 }
 
-static void 
+static void
 enumprop_set_from_offset(EnumProperty *prop,
                          void *base, guint offset, guint offset2)
 {
@@ -614,7 +608,7 @@ static const PropertyOps enumprop_ops = {
   (PropertyType_ResetWidget) enumprop_reset_widget,
   (PropertyType_SetFromWidget) enumprop_set_from_widget,
 
-  (PropertyType_CanMerge) noopprop_can_merge, 
+  (PropertyType_CanMerge) noopprop_can_merge,
   (PropertyType_GetFromOffset) enumprop_get_from_offset,
   (PropertyType_SetFromOffset) enumprop_set_from_offset
 };
@@ -624,7 +618,7 @@ static const PropertyOps enumprop_ops = {
 /********************************/
 
 static EnumarrayProperty *
-enumarrayprop_new(const PropDescription *pdesc, 
+enumarrayprop_new(const PropDescription *pdesc,
                   PropDescToPropPredicate reason)
 {
   EnumarrayProperty *prop = g_new0(EnumarrayProperty,1);
@@ -633,64 +627,64 @@ enumarrayprop_new(const PropDescription *pdesc,
   return prop;
 }
 
-static void 
-enumarrayprop_free(EnumarrayProperty *prop) 
+static void
+enumarrayprop_free(EnumarrayProperty *prop)
 {
   g_array_free(prop->enumarray_data,TRUE);
   g_free(prop);
 }
 
 static EnumarrayProperty *
-enumarrayprop_copy(EnumarrayProperty *src) 
+enumarrayprop_copy(EnumarrayProperty *src)
 {
   guint i;
-  EnumarrayProperty *prop = 
+  EnumarrayProperty *prop =
     (EnumarrayProperty *)src->common.ops->new_prop(src->common.descr,
                                                     src->common.reason);
   copy_init_property(&prop->common,&src->common);
   g_array_set_size(prop->enumarray_data,src->enumarray_data->len);
-  for (i = 0 ; i < src->enumarray_data->len; i++) 
-    g_array_index(prop->enumarray_data,gint,i) = 
+  for (i = 0 ; i < src->enumarray_data->len; i++)
+    g_array_index(prop->enumarray_data,gint,i) =
       g_array_index(src->enumarray_data,gint,i);
   return prop;
 }
 
-static void 
+static void
 enumarrayprop_load(EnumarrayProperty *prop, AttributeNode attr, DataNode data, DiaContext *ctx)
 {
   guint nvals = attribute_num_data(attr);
   guint i;
   g_array_set_size(prop->enumarray_data,nvals);
 
-  for (i=0; (i < nvals) && data; i++, data = data_next(data)) 
+  for (i=0; (i < nvals) && data; i++, data = data_next(data))
     g_array_index(prop->enumarray_data,gint,i) = data_enum(data, ctx);
-  if (i != nvals) 
+  if (i != nvals)
     g_warning("attribute_num_data() and actual data count mismatch "
               "(shouldn't happen)");
 }
 
-static void 
-enumarrayprop_save(EnumarrayProperty *prop, AttributeNode attr, DiaContext *ctx) 
+static void
+enumarrayprop_save(EnumarrayProperty *prop, AttributeNode attr, DiaContext *ctx)
 {
   guint i;
   for (i = 0; i < prop->enumarray_data->len; i++)
     data_add_enum(attr, g_array_index(prop->enumarray_data,gint,i), ctx);
 }
 
-static void 
+static void
 enumarrayprop_get_from_offset(EnumarrayProperty *prop,
-                              void *base, guint offset, guint offset2) 
+                              void *base, guint offset, guint offset2)
 {
   guint nvals = struct_member(base,offset2,guint);
   guint i;
   void *ofs_val = struct_member(base,offset,void *);
   g_array_set_size(prop->enumarray_data,nvals);
   for (i = 0; i < nvals; i++)
-    g_array_index(prop->enumarray_data,gint,i) = 
+    g_array_index(prop->enumarray_data,gint,i) =
       struct_member(ofs_val,i * sizeof(gint),gint);
 }
 
-static void 
+static void
 enumarrayprop_set_from_offset(EnumarrayProperty *prop,
                               void *base, guint offset, guint offset2)
 {
@@ -717,9 +711,9 @@ static const PropertyOps enumarrayprop_ops = {
   (PropertyType_SetFromOffset) enumarrayprop_set_from_offset
 };
 
-/* ************************************************************** */ 
+/* ************************************************************** */
 
-void 
+void
 prop_inttypes_register(void)
 {
   prop_type_register(PROP_TYPE_CHAR,&charprop_ops);
diff --git a/lib/widgets.c b/lib/widgets.c
index 6398ee23..a1f4f8bf 100644
--- a/lib/widgets.c
+++ b/lib/widgets.c
@@ -741,18 +741,10 @@ dia_toggle_button_new(GtkWidget *on_widget, GtkWidget *off_widget)
   gtk_widget_show(images->off);
 
   /* Make border as small as possible */
-  gtk_misc_set_padding(GTK_MISC(images->on), 0, 0);
-  gtk_misc_set_padding(GTK_MISC(images->off), 0, 0);
-#if GTK_CHECK_VERSION(2,18,0)
+  gtk_misc_set_padding (GTK_MISC (images->on), 0, 0);
+  gtk_misc_set_padding (GTK_MISC (images->off), 0, 0);
   gtk_widget_set_can_focus (GTK_WIDGET (button), FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS);
-#endif
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (button), FALSE);
-#else
-  GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_DEFAULT);
-#endif
 
   rcstyle = gtk_rc_style_new ();
   rcstyle->xthickness = rcstyle->ythickness = 0;
diff --git a/objects/AADL/edit_port_declaration.c b/objects/AADL/edit_port_declaration.c
index fcc9171e..e4ec7d36 100644
--- a/objects/AADL/edit_port_declaration.c
+++ b/objects/AADL/edit_port_declaration.c
@@ -33,45 +33,45 @@ int aadlbox_point_near_port(Aadlbox *aadlbox, Point *p);
  **           U N D O  /  R E D O             **
  ***********************************************/
 
-struct EditPortDeclarationChange 
+struct EditPortDeclarationChange
 {
   ObjectChange obj_change;
-  
+
   int applied;
-  
+
   int port_num;
-  
+
   gchar *oldvalue;
   gchar *newvalue;
 };
 
-static void edit_port_declaration_apply 
+static void edit_port_declaration_apply
                      (struct EditPortDeclarationChange *change, DiaObject *obj)
 {
   Aadlbox *aadlbox = (Aadlbox *) obj;
   int port_num = change->port_num;
-  
+
   change->applied = 1;
   aadlbox->ports[port_num]->declaration = change->newvalue;
-  
+
 }
 
-static void edit_port_declaration_revert 
+static void edit_port_declaration_revert
                      (struct EditPortDeclarationChange *change, DiaObject *obj)
 {
   Aadlbox *aadlbox = (Aadlbox *) obj;
   int port_num = change->port_num;
-  
+
   change->applied = 0;
   aadlbox->ports[port_num]->declaration = change->oldvalue;
-  
+
 }
 
 static void edit_port_declaration_free (struct EditPortDeclarationChange *change)
 {
-  if (change->applied) 
+  if (change->applied)
     g_free(change->oldvalue);
-  else 
+  else
     g_free(change->newvalue);
 }
 
@@ -81,10 +81,10 @@ static void edit_port_declaration_free (struct EditPortDeclarationChange *change
  **          G T K    W I N D O W             **
  ***********************************************/
 
-static GtkWidget *entry; 
+static GtkWidget *entry;
 static gchar *text;
 
-static void save_text() 
+static void save_text()
 {
   text = (gchar *) g_malloc (strlen(gtk_entry_get_text (GTK_ENTRY (entry)))+1);
   strcpy(text, gtk_entry_get_text (GTK_ENTRY (entry)));
@@ -95,7 +95,7 @@ static gboolean delete_event ( GtkWidget *widget,
                               gpointer   data )
 {
   save_text();
-  return FALSE; 
+  return FALSE;
 }
 
 
@@ -106,7 +106,7 @@ static void enter_callback( GtkWidget *widget,
   gtk_widget_destroy(window);
 }
 
-static gboolean focus_out_event( GtkWidget      *widget, 
+static gboolean focus_out_event( GtkWidget      *widget,
                                 GdkEventButton *event,
                                 GtkWidget *window )
 {
@@ -116,7 +116,7 @@ static gboolean focus_out_event( GtkWidget      *widget,
 }
 
 
-/* I have to write this little GTK code, because there's no way to know 
+/* I have to write this little GTK code, because there's no way to know
    which point was clicked if I use the properties functions (get_props, ...)*/
 
 ObjectChange *edit_port_declaration_callback (DiaObject *obj,
@@ -131,16 +131,16 @@ ObjectChange *edit_port_declaration_callback (DiaObject *obj,
   int port_num;
 
   gtk_init (0, NULL);
-    
+
   port_num = aadlbox_point_near_port(aadlbox, clicked);
   port = aadlbox->ports[port_num];
-  
-    
+
+
   window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
   gtk_widget_set_size_request(window,400,50);
   gtk_window_set_title(GTK_WINDOW(window) , "Port Declaration");
-  gtk_container_set_border_width(GTK_CONTAINER(window),5);    
+  gtk_container_set_border_width(GTK_CONTAINER(window),5);
 
   vbox = gtk_vbox_new (FALSE, 0);
   gtk_container_add (GTK_CONTAINER (window), vbox);
@@ -149,68 +149,62 @@ ObjectChange *edit_port_declaration_callback (DiaObject *obj,
   entry = gtk_entry_new ();
   gtk_entry_set_max_length (GTK_ENTRY (entry), 1024);
   gtk_entry_set_text (GTK_ENTRY (entry), port->declaration);
-  gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);  
-  gtk_widget_show(entry);  
+  gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
+  gtk_widget_show(entry);
 
   button = gtk_button_new_from_stock (GTK_STOCK_OK);
   gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
-#if GTK_CHECK_VERSION(2,18,0)
   gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
-#endif
   gtk_widget_grab_default (button);
   gtk_widget_show (button);
-  
 
-  
   g_signal_connect (G_OBJECT (window), "destroy",
                    G_CALLBACK (gtk_main_quit), NULL);
-  
-  g_signal_connect_swapped (G_OBJECT (window), "delete_event", 
-                           G_CALLBACK(delete_event), 
+
+  g_signal_connect_swapped (G_OBJECT (window), "delete_event",
+                           G_CALLBACK(delete_event),
                            G_OBJECT (window) );
-  
+
   g_signal_connect (G_OBJECT (entry), "activate",
                    G_CALLBACK (enter_callback),
                    (gpointer) window);
-  
+
   g_signal_connect (G_OBJECT (button), "clicked",
                    G_CALLBACK (enter_callback),
                    (gpointer) window);
-  
-  
+
+
   /* avoid bug when quitting DIA with this window opened */
   g_signal_connect (G_OBJECT (window), "focus_out_event",
                    G_CALLBACK (focus_out_event),
                    (gpointer) window);
-  
+
 
   gtk_widget_show (window);
-  
+
   gtk_main();
-  
+
   /* Text has been edited - widgets destroyed  */
-  
-  change = (struct EditPortDeclarationChange *) 
+
+  change = (struct EditPortDeclarationChange *)
                            g_malloc (sizeof(struct EditPortDeclarationChange));
-  
-  change->obj_change.apply = 
+
+  change->obj_change.apply =
     (ObjectChangeApplyFunc) edit_port_declaration_apply;
 
-  change->obj_change.revert = 
+  change->obj_change.revert =
     (ObjectChangeRevertFunc) edit_port_declaration_revert;
 
-  change->obj_change.free = 
+  change->obj_change.free =
     (ObjectChangeFreeFunc) edit_port_declaration_free;
-  
+
   change->port_num = port_num;
-  
+
   change->newvalue = text;
   change->oldvalue = aadlbox->ports[port_num]->declaration;
 
   change->obj_change.apply((ObjectChange *)change, obj);
-    
+
   return (ObjectChange *) change;
 }
 
diff --git a/plug-ins/postscript/paginate_psprint.c b/plug-ins/postscript/paginate_psprint.c
index f36db526..321eef47 100644
--- a/plug-ins/postscript/paginate_psprint.c
+++ b/plug-ins/postscript/paginate_psprint.c
@@ -54,7 +54,7 @@ typedef struct _dia_print_options {
   int printer;
 } dia_print_options;
 
-static dia_print_options last_print_options = 
+static dia_print_options last_print_options =
 {
     1
 };
@@ -129,7 +129,7 @@ print_page(DiagramData *data, DiaRenderer *diarend, Rectangle *bounds)
          g_ascii_formatd(d2_buf, sizeof(d2_buf), "%f", bounds->top) );
   /* Tip from Dov Grobgeld: Clip does not destroy the path, so we should
      do a newpath afterwards */
-  fprintf(rend->file, "clip n\n"); 
+  fprintf(rend->file, "clip n\n");
 
   /* render the region */
   data_render(data, diarend, bounds, NULL, NULL);
@@ -246,11 +246,11 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
   gchar *dot = NULL;
   gboolean done = FALSE;
   gboolean write_file = TRUE;  /* Used in prompt to overwrite existing file */
-  
+
   FILE *file;
   gboolean is_pipe;
 #ifndef G_OS_WIN32
-  /* all the signal stuff below doesn't compile on win32, but it isn't 
+  /* all the signal stuff below doesn't compile on win32, but it isn't
    * needed anymore because the pipe handling - which never worked on win32
    * anyway - is replace by "native" postscript printing now ...
    */
@@ -311,26 +311,18 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
 
   box = gtk_dialog_get_action_area(GTK_DIALOG(dialog));
 
-  button = gtk_button_new_with_label(_("OK"));
-  g_signal_connect(G_OBJECT(button), "clicked", 
-                  G_CALLBACK(ok_pressed), &cont);
-#if GTK_CHECK_VERSION(2,18,0)
+  button = gtk_button_new_with_label (_("OK"));
+  g_signal_connect (G_OBJECT (button), "clicked",
+                    G_CALLBACK (ok_pressed), &cont);
   gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
-#endif
-  gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
-  gtk_widget_grab_default(button);
-  gtk_widget_show(button);
+  gtk_box_pack_start (GTK_BOX (box), button, TRUE, TRUE, 0);
+  gtk_widget_grab_default (button);
+  gtk_widget_show (button);
 
   button = gtk_button_new_with_label(_("Cancel"));
-  g_signal_connect(G_OBJECT(button), "clicked", 
-                  G_CALLBACK(gtk_main_quit), NULL);
-#if GTK_CHECK_VERSION(2,18,0)
+  g_signal_connect (G_OBJECT (button), "clicked",
+                    G_CALLBACK (gtk_main_quit), NULL);
   gtk_widget_set_can_default (GTK_WIDGET (button), TRUE);
-#else
-  GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
-#endif
   gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
   gtk_widget_show(button);
 
@@ -340,13 +332,13 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
 #else
   {
     const gchar *printer = g_getenv("PRINTER");
-    
+
     if (printer) {
       printcmd = g_strdup_printf("lpr -P%s", printer);
     } else {
       printcmd = g_strdup("lpr");
     }
-    
+
     gtk_entry_set_text(GTK_ENTRY(cmd), printcmd);
     g_free(printcmd);
     printcmd = NULL;
@@ -368,13 +360,13 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
   gtk_entry_set_text(GTK_ENTRY(ofile), printer_filename);
   g_free(printer_filename);
   orig_file = g_strdup(gtk_entry_get_text(GTK_ENTRY(ofile)));
-    
+
   /* Scaling is already set at creation. */
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(iscmd), last_print_options.printer);
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(isofile), !last_print_options.printer);
-  
+
   gtk_widget_show(dialog);
-  
+
   do {
     cont = FALSE;
     write_file = TRUE;
@@ -384,7 +376,7 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
       gtk_widget_destroy(dialog);
       return;
     }
-  
+
     if (!cont) {
       persistence_change_string_entry("printer-command", orig_command, cmd);
       gtk_widget_destroy(dialog);
@@ -418,7 +410,7 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
           }
         }
 
-        if (utf8filename == NULL) 
+        if (utf8filename == NULL)
          utf8filename = g_strdup(filename);
         confirm_overwrite_dialog = gtk_message_dialog_new(GTK_WINDOW (dialog),
                        GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION,
@@ -426,12 +418,12 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
                        _("The file '%s' already exists.\n"
                          "Do you want to overwrite it?"), utf8filename);
         g_free(utf8filename);
-        gtk_window_set_title(GTK_WINDOW (confirm_overwrite_dialog), 
+        gtk_window_set_title(GTK_WINDOW (confirm_overwrite_dialog),
                           _("File already exists"));
         gtk_dialog_set_default_response (GTK_DIALOG (confirm_overwrite_dialog),
                           GTK_RESPONSE_NO);
 
-        if (gtk_dialog_run(GTK_DIALOG(confirm_overwrite_dialog)) 
+        if (gtk_dialog_run(GTK_DIALOG(confirm_overwrite_dialog))
                           != GTK_RESPONSE_YES) {
           write_file = FALSE;
                  file = 0;
@@ -457,7 +449,7 @@ diagram_print_ps(DiagramData *dia, const gchar* original_filename)
 
     /* Store dialog values */
     last_print_options.printer = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(iscmd));
-  
+
     if (write_file) {
       if (!file) {
         if (is_pipe) {
diff --git a/plug-ins/python/diamodule.c b/plug-ins/python/diamodule.c
index 72ffa347..b431d291 100644
--- a/plug-ins/python/diamodule.c
+++ b/plug-ins/python/diamodule.c
@@ -263,7 +263,7 @@ PyDia_RegisterExport(PyObject *self, PyObject *args)
     filter = g_new0 (DiaExportFilter, 1);
     filter->description = g_strdup (name);
     /* the following is usually declared as a static const string array, but we can't
-     * cause there needs to be one for every export filter defined in Python. Silence gcc. 
+     * cause there needs to be one for every export filter defined in Python. Silence gcc.
      */
     filter->extensions = (const gchar**)g_new (gchar*, 2);
     filter->extensions[0] = g_strdup (ext);
@@ -282,7 +282,7 @@ PyDia_RegisterExport(PyObject *self, PyObject *args)
 
 /*
  * This function gets called by Dia as a reaction to file import.
- * It needs to be registered before via Python function 
+ * It needs to be registered before via Python function
  * dia.register_import
  */
 static gboolean
@@ -302,7 +302,7 @@ PyDia_import_data (const gchar* filename, DiagramData *dia, DiaContext *ctx, voi
         diaobj = Py_None;
         Py_INCREF (diaobj);
     }
-      
+
     Py_INCREF(func);
 
     /* Python tries to guarantee this, make it work for these plugins too */
@@ -357,7 +357,7 @@ PyDia_RegisterImport(PyObject *self, PyObject *args)
 
 /*
  * This function gets called by Dia as a reaction to a menu item.
- * It needs to be registered before via Python function 
+ * It needs to be registered before via Python function
  * dia.register_action (or dia.register_callback)
  */
 static ObjectChange *
@@ -368,14 +368,14 @@ PyDia_callback_func (DiagramData *dia, const gchar *filename, guint flags, void
         g_warning ("Callback called without valid callback function.");
         return NULL;
     }
-  
+
     if (dia)
         diaobj = PyDiaDiagramData_New (dia);
     else {
         diaobj = Py_None;
         Py_INCREF (diaobj);
     }
-      
+
     Py_INCREF(func);
 
     arg = Py_BuildValue ("(Oi)", diaobj, flags);
@@ -403,7 +403,7 @@ _strip_non_alphanum (gchar* in)
   int i, o;
   int len = strlen (in);
   gchar *out = g_new (gchar, len);
-  
+
   for (i = 0, o = 0; i < len; ++i) {
     if (g_ascii_isalnum (in[i])) {
       out[o] = in[i];
@@ -609,9 +609,9 @@ initdia(void)
     m = Py_InitModule3("dia", dia_methods, dia_module_doc);
     d = PyModule_GetDict(m);
 
-    /* 
+    /*
      * The postfix 'Type' should not be there (one obvious exception, but there
-     * it isn't a Postfix). That is: names here and in the respective 
+     * it isn't a Postfix). That is: names here and in the respective
      * PyTypeObject must match.
      * The extra namespacing (prefix 'Dia') isn't necessary either, we use the
      * pythonesque namespacing instead.
@@ -668,13 +668,10 @@ initdia(void)
     PyDict_SetItemString(d, "Sheet",
                         (void *)&PyDiaSheet_Type);
 
-    if (PyErr_Occurred())
-       Py_FatalError("can't initialize module dia");
+    if (PyErr_Occurred ())
+      Py_FatalError ("can't initialize module dia");
     else {
       /* should all be no-ops when used embedded */
-#if !GLIB_CHECK_VERSION(2,36,0)
-      g_type_init ();
-#endif
       libdia_init (DIA_MESSAGE_STDERR);
     }
 }
diff --git a/tests/test-objects.c b/tests/test-objects.c
index c4f2f592..6ff4ee04 100644
--- a/tests/test-objects.c
+++ b/tests/test-objects.c
@@ -61,7 +61,7 @@ _test_creation (gconstpointer user_data)
             && o->ops->move_handle != NULL
            && o->ops->apply_properties_from_dialog != NULL
            );
-  
+
   /* can we really assume everything complies with standard props nowadays? */
   g_assert (   o->ops->describe_props
             && o->ops->get_props
@@ -118,7 +118,7 @@ _test_creation (gconstpointer user_data)
       /* handles properly set up? */
       g_assert (o->handles[i] != NULL);
       g_assert (o->handles[i]->connected_to == NULL); /* starts not connected */
-      g_assert (   o->handles[i]->type != HANDLE_NON_MOVABLE 
+      g_assert (   o->handles[i]->type != HANDLE_NON_MOVABLE
                || (   o->handles[i]->type == HANDLE_NON_MOVABLE /* always together? */
                    && o->handles[i]->connect_type == HANDLE_NONCONNECTABLE));
     }
@@ -304,7 +304,7 @@ _test_change (gconstpointer user_data)
     ObjectChange *change;
     /* get description */
     const PropDescription *descs = o->ops->describe_props (o);
-    /* get unset value vector */ 
+    /* get unset value vector */
     GPtrArray *props = prop_list_from_descs (descs, pdtpp_is_visible);
     /* fill it with this objects values */
     o->ops->get_props (o, props);
@@ -367,7 +367,7 @@ _test_move_handle (gconstpointer user_data)
   /* find a good handle to move */
   for (i = 0; i < o->num_handles; ++i)
     {
-      
+
       if (o->handles[i]->type == HANDLE_MAJOR_CONTROL)
         {
           h2 = o->handles[i];
@@ -586,7 +586,7 @@ _test_connectionpoint_consistency (gconstpointer user_data)
 #endif
   }
   /* finally */
-  o->ops->destroy (o);  
+  o->ops->destroy (o);
   g_free (o);
 }
 static void
@@ -632,7 +632,7 @@ _test_object_menu (gconstpointer user_data)
          g_test_message ("Undo/redo missing: %s\n", item->text);
        } else {
          /* Don't just call _object_change_free(change);
-          * For 'Convert to *' this will screw up (destroy) the object 
+          * For 'Convert to *' this will screw up (destroy) the object
           * at hand'. So revert first, afterwards destroy the change.
           * The object parameter is deprecated, but still necessary!
           */
@@ -654,7 +654,7 @@ _test_object_menu (gconstpointer user_data)
     }
   }
   /* finally */
-  o->ops->destroy (o);  
+  o->ops->destroy (o);
   g_free (o);
 }
 
@@ -1025,7 +1025,7 @@ _ot_item (gpointer key,
   testpath = g_strdup_printf ("%s/%s/%s", base, name, "Change");
   g_test_add_data_func (testpath, type, _test_change);
   g_free (testpath);
-  
+
   testpath = g_strdup_printf ("%s/%s/%s", base, name, "MoveHandle");
   g_test_add_data_func (testpath, type, _test_move_handle);
   g_free (testpath);
@@ -1069,19 +1069,16 @@ main (int argc, char** argv)
   SetErrorMode(SetErrorMode(0) | SEM_NOGPFAULTERRORBOX);
 #endif
 
-#if !GLIB_CHECK_VERSION(2,36,0)
-  g_type_init ();
-#endif
   /* not using gtk_test_init() means we can only test non-gtk facilities of objects */
   g_test_init (&argc, &argv, NULL);
-  
+
   libdia_init (DIA_MESSAGE_STDERR);
-  
+
   /* todo: improve command line parsing */
   if (argc > 1)
     {
       const gchar* path = argv[1];
-      
+
       if (g_file_test (path, G_FILE_TEST_IS_DIR))
         dia_register_plugins_in_dir (path);
       else
@@ -1111,7 +1108,7 @@ int _matherr( struct _exception *except )
 
 #define CASE(x) case _ ##x : type=#x; break
   switch (except->type) {
-  CASE(DOMAIN); 
+  CASE(DOMAIN);
   CASE(SING);
   CASE(UNDERFLOW);
   CASE(OVERFLOW);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]