[balsa] Bump required versions



commit f193fef58e56d219d3c2437a7fd2ae1835aab52b
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Thu May 14 19:14:17 2020 -0400

    Bump required versions
    
    Bump required versions as discussed in
    https://mail.gnome.org/archives/balsa-list/2020-May/msg00010.html
    and remove corresponding conditional compilation directives.
    
    * configure.ac:
    * libbalsa/html.c (lbh_web_process_terminated_cb),
      (lbh_web_view_new):
    * libbalsa/identity.c (help_ident_cb):
    * libbalsa/mime.c (is_in_url):
    * libbalsa/misc.c (libbalsa_font_string_to_css):
    * libbalsa/smtp-server.c (smtp_server_response):
    * meson.build:
    * src/address-book-config.c (help_button_cb):
    * src/balsa-index.c (bndx_do_popup):
    * src/balsa-mblist.c (bmbl_do_popup):
    * src/balsa-message.c (balsa_headers_attachments_popup),
      (tree_mult_selection_popup), (tree_button_press_cb):
    * src/balsa-mime-widget-image.c (balsa_image_button_press_cb):
    * src/balsa-mime-widget-message.c (extbody_call_url):
    * src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
      (handle_url):
    * src/filter-edit-callbacks.c (condition_dialog_response),
      (fe_dialog_response):
    * src/filter-run-callbacks.c (fr_dialog_response):
    * src/folder-conf.c (folder_conf_response):
    * src/main-window.c (help_activated), (bw_notebook_label_new),
      (bw_find_real):
    * src/pref-manager.c (balsa_help_pbox_display), (add_menu_cb):
    * src/sendmsg-window.c (on_open_url_cb),
      (attachment_button_press_cb), (attachment_popup_cb),
      (create_text_area), (create_lang_menu):
    * src/toolbar-factory.c (tm_popup_context_menu_cb):
    * src/toolbar-prefs.c (tp_dialog_response_cb):

 ChangeLog                       | 36 ++++++++++++++++++++
 configure.ac                    | 74 ++++++-----------------------------------
 libbalsa/html.c                 | 19 -----------
 libbalsa/identity.c             |  8 -----
 libbalsa/mime.c                 |  5 ---
 libbalsa/misc.c                 |  7 ----
 libbalsa/smtp-server.c          | 10 ------
 meson.build                     | 43 ++++++++----------------
 src/address-book-config.c       |  8 -----
 src/balsa-index.c               | 44 ------------------------
 src/balsa-mblist.c              | 19 -----------
 src/balsa-message.c             | 28 ----------------
 src/balsa-mime-widget-image.c   | 10 ++----
 src/balsa-mime-widget-message.c |  9 -----
 src/balsa-mime-widget-text.c    | 15 ---------
 src/filter-edit-callbacks.c     | 18 ----------
 src/filter-run-callbacks.c      |  9 -----
 src/folder-conf.c               |  9 -----
 src/main-window.c               | 22 ------------
 src/pref-manager.c              | 14 --------
 src/sendmsg-window.c            | 56 +++++++------------------------
 src/toolbar-factory.c           | 51 ----------------------------
 src/toolbar-prefs.c             |  9 -----
 23 files changed, 76 insertions(+), 447 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index ef5abac5f..a2c9c44fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,39 @@
+2020-05-14  Peter Bloomfield  <pbloomfield bellsouth net>
+
+       Bump required versions as discussed in
+       https://mail.gnome.org/archives/balsa-list/2020-May/msg00010.html
+       and remove corresponding conditional compilation directives.
+
+       * configure.ac:
+       * libbalsa/html.c (lbh_web_process_terminated_cb),
+       (lbh_web_view_new):
+       * libbalsa/identity.c (help_ident_cb):
+       * libbalsa/mime.c (is_in_url):
+       * libbalsa/misc.c (libbalsa_font_string_to_css):
+       * libbalsa/smtp-server.c (smtp_server_response):
+       * meson.build:
+       * src/address-book-config.c (help_button_cb):
+       * src/balsa-index.c (bndx_do_popup):
+       * src/balsa-mblist.c (bmbl_do_popup):
+       * src/balsa-message.c (balsa_headers_attachments_popup),
+       (tree_mult_selection_popup), (tree_button_press_cb):
+       * src/balsa-mime-widget-image.c (balsa_image_button_press_cb):
+       * src/balsa-mime-widget-message.c (extbody_call_url):
+       * src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
+       (handle_url):
+       * src/filter-edit-callbacks.c (condition_dialog_response),
+       (fe_dialog_response):
+       * src/filter-run-callbacks.c (fr_dialog_response):
+       * src/folder-conf.c (folder_conf_response):
+       * src/main-window.c (help_activated), (bw_notebook_label_new),
+       (bw_find_real):
+       * src/pref-manager.c (balsa_help_pbox_display), (add_menu_cb):
+       * src/sendmsg-window.c (on_open_url_cb),
+       (attachment_button_press_cb), (attachment_popup_cb),
+       (create_text_area), (create_lang_menu):
+       * src/toolbar-factory.c (tm_popup_context_menu_cb):
+       * src/toolbar-prefs.c (tp_dialog_response_cb):
+
 2020-05-11  Peter Bloomfield  <pbloomfield bellsouth net>
 
        * src/balsa-message.c (display_face): Fix a scan-build report
diff --git a/configure.ac b/configure.ac
index 36c091666..464bf9209 100644
--- a/configure.ac
+++ b/configure.ac
@@ -224,7 +224,7 @@ dnl #####################################################################
 
 PKG_CHECK_MODULES(BALSA, [
 glib-2.0 >= 2.48.0
-gtk+-3.0 >= 3.18.0
+gtk+-3.0 >= 3.24.0
 gmime-3.0 >= 3.2.6
 gio-2.0
 gthread-2.0
@@ -260,7 +260,7 @@ AC_MSG_CHECKING(whether to use an HTML widget)
 case "$use_html_widget" in
     webkit2)
         AC_MSG_RESULT([$use_html_widget])
-        PKG_CHECK_MODULES(HTML, [ webkit2gtk-4.0 ])
+        PKG_CHECK_MODULES(HTML, [ webkit2gtk-4.0 >= 2.28.0 ])
         AC_PATH_PROGS(HTML2TEXT,
                       [python-html2text  \
                        html2markdown     \
@@ -299,48 +299,10 @@ fi
 
 
 # GPGME detection.
-# We don't use the std macro AM_PATH_GPGME here to avoid dependencies.
-AC_PATH_PROG(gpgmecfg, gpgme-config, no)
-if test "$gpgmecfg" = no; then
-       AC_MSG_ERROR([gpgme-config program not found.])
-fi
-AC_MSG_CHECKING([gpgme library version])
-gpgmever=`$gpgmecfg --version`
-AC_MSG_RESULT($gpgmever)
-gpgme_ve=`echo $gpgmever|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-gpgme_ma=`echo $gpgmever|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-gpgme_mi=`echo $gpgmever|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-if test $gpgme_ve -lt 1; then
-       gpgmecfg=no
-fi
-if test \( $gpgme_ve -eq 1 \) -a \( $gpgme_ma -lt 6 \) ; then
-       gpgmecfg=no
-fi
-if test x"$gpgmecfg" != xno ; then
-    if test \( $gpgme_ve -eq 1 \) -a \( $gpgme_ma -lt 8 \) ; then
-               BALSA_LIBS="$BALSA_LIBS `$gpgmecfg --thread=pthread --libs`"
-               if test x"$?" != x0 ; then
-                       AC_MSG_ERROR([*** Your gpgme installation does not support threads.])
-               fi
-       else
-               BALSA_LIBS="$BALSA_LIBS `$gpgmecfg --libs`"
-       fi
-       BALSA_CFLAGS="$BALSA_CFLAGS `$gpgmecfg --cflags`"
-else
-       AC_MSG_ERROR([sorry, you need at least gpgme version 1.6.0])
-fi
-
-# Autocrypt support
-AC_MSG_CHECKING(whether to build with Autocrypt support)
-if test x"$autocrypt" != xno ; then
-       AC_MSG_RESULT([yes])
-       PKG_CHECK_MODULES(AUTOCRYPT, [sqlite3])
-       AC_DEFINE(ENABLE_AUTOCRYPT,1,[If defined, enable Autocrypt support])
-       BALSA_CFLAGS="$BALSA_CFLAGS $AUTOCRYPT_CFLAGS"
-       BALSA_LIBS="$BALSA_LIBS $AUTOCRYPT_LIBS"
-else
-       AC_MSG_RESULT([no])
-fi
+#
+PKG_CHECK_MODULES(GPGME, [ gpgme >= 1.8.0 ])
+BALSA_CFLAGS="$BALSA_CFLAGS $GPGME_CFLAGS"
+BALSA_LIBS="$BALSA_LIBS $GPGME_LIBS"
 
 # OpenLDAP configuration.
 #
@@ -450,12 +412,8 @@ fi
 # GtkSourceView configuration
 #
 if test x$with_gtksourceview != xno; then
-    PKG_CHECK_MODULES([GTKSOURCEVIEW], [ gtksourceview-4 ], [],
-                      [
-                       PKG_CHECK_MODULES([GTKSOURCEVIEW], [ gtksourceview-3.0 >= 3.2.0 ])
-                       BALSA_CFLAGS="$BALSA_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_48"
-                      ])
-    AC_DEFINE(HAVE_GTKSOURCEVIEW,1,[Defined when GtkSourceView-3 or 4 can be used.])
+    PKG_CHECK_MODULES([GTKSOURCEVIEW], [ gtksourceview-4 ])
+    AC_DEFINE(HAVE_GTKSOURCEVIEW,1,[Defined when GtkSourceView-4 can be used.])
     BALSA_CFLAGS="$BALSA_CFLAGS $GTKSOURCEVIEW_CFLAGS"
     BALSA_LIBS="$BALSA_LIBS $GTKSOURCEVIEW_LIBS"
 fi
@@ -517,22 +475,12 @@ AC_MSG_CHECKING(whether to use an external spell checker)
 case "$use_spell_checker" in
     gspell)
     AC_MSG_RESULT([configure gspell])
-    PKG_CHECK_MODULES(SPELL, [ gspell-1 ])
+    PKG_CHECK_MODULES(SPELL, [ gspell-1 >= 1.6.0 ])
     AC_DEFINE(HAVE_GSPELL,1,[Defined when Gspell can be used.])
-    if $PKG_CONFIG --atleast-version=1.1.2 gspell-1; then
-        AC_DEFINE(HAVE_GSPELL_1_2,1,[Defined when Gspell API is version 1.2.])
-    fi
     ;;
     gtkspell)
-    if $PKG_CONFIG --atleast-version=3.0.3 gtkspell3-3.0; then
-        AC_MSG_RESULT([gtkspell version >= 3.0.3])
-        PKG_CHECK_MODULES(SPELL, [ gtkspell3-3.0 ])
-        AC_DEFINE(HAVE_GTKSPELL_3_0_3,1,[Defined when GtkSpell version
-                                         is at least 3.0.3.])
-    else
-        AC_MSG_RESULT([gtkspell version < 3.0.3])
-        PKG_CHECK_MODULES(SPELL, [ gtkspell3-3.0 enchant ])
-    fi
+    AC_MSG_RESULT([configure gtkspell])
+    PKG_CHECK_MODULES(SPELL, [ gtkspell3-3.0 >= 3.0.9 ])
     AC_DEFINE(HAVE_GTKSPELL,1,[Defined when GtkSpell can be used.])
     ;;
     internal)
diff --git a/libbalsa/html.c b/libbalsa/html.c
index 675f9d6b8..6a0f14fbc 100644
--- a/libbalsa/html.c
+++ b/libbalsa/html.c
@@ -499,7 +499,6 @@ lbh_load_changed_cb(WebKitWebView  *web_view,
         gtk_widget_queue_resize(GTK_WIDGET(web_view));
 }
 
-#if WEBKIT_CHECK_VERSION(2,20,0)
 /*
  * Callback for the "web-process-terminated" signal
  */
@@ -525,20 +524,6 @@ lbh_web_process_terminated_cb(WebKitWebView                     *web_view,
        g_warning("webkit process terminated abnormally: %s", reason_str);
        info->webprocess_error = TRUE;
 }
-#else
-/*
- * Callback for the "web-process-crashed" signal
- */
-static gboolean
-lbh_web_process_crashed_cb(WebKitWebView          *web_view,
-                           gpointer                       data)
-{
-    LibBalsaWebKitInfo *info = (LibBalsaWebKitInfo *) data;
-    g_debug("%s", __func__);
-       info->webprocess_error = TRUE;
-    return FALSE;
-}
-#endif
 
 /*
  * WebKitURISchemeRequestCallback for "cid:" URIs
@@ -636,11 +621,7 @@ lbh_web_view_new(LibBalsaWebKitInfo *info,
         g_debug("%s_ registered “cid:” scheme", __func__);
        }
 
-#if WEBKIT_CHECK_VERSION(2,20,0)
        g_signal_connect(view, "web-process-terminated", G_CALLBACK(lbh_web_process_terminated_cb), info);
-#else
-       g_signal_connect(view, "web-process-crashed", G_CALLBACK(lbh_web_process_crashed_cb), info);
-#endif
     g_signal_connect(view, "decide-policy", G_CALLBACK(lbh_decide_policy_cb), info);
     g_signal_connect(view, "resource-load-started", G_CALLBACK(lbh_resource_load_started_cb), info);
     g_signal_connect(view, "load-changed", G_CALLBACK(lbh_load_changed_cb), info);
diff --git a/libbalsa/identity.c b/libbalsa/identity.c
index 26d362341..448296e33 100644
--- a/libbalsa/identity.c
+++ b/libbalsa/identity.c
@@ -1602,17 +1602,9 @@ static void
 help_ident_cb(GtkWidget * widget)
 {
     GError *err = NULL;
-#if GTK_CHECK_VERSION(3, 22, 0)
 
     gtk_show_uri_on_window(GTK_WINDOW(widget), "help:balsa/identities",
                            gtk_get_current_event_time(), &err);
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-    GdkScreen *screen;
-
-    screen = gtk_widget_get_screen(widget);
-    gtk_show_uri(screen, "help:balsa/identities",
-                 gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
 
     if (err) {
         g_print(_("Error displaying help for identities: %s\n"),
diff --git a/libbalsa/mime.c b/libbalsa/mime.c
index a31fea10b..c742bbada 100644
--- a/libbalsa/mime.c
+++ b/libbalsa/mime.c
@@ -659,13 +659,8 @@ static gboolean
 is_in_url(GtkTextIter * iter, gint offset, GtkTextTag * url_tag)
 {
     gtk_text_iter_set_line_offset(iter, offset);
-#if GTK_CHECK_VERSION(3, 19, 0)
     return url_tag ? (gtk_text_iter_has_tag(iter, url_tag)
                       && !gtk_text_iter_starts_tag(iter, url_tag)) : FALSE;
-#else                           /* GTK_CHECK_VERSION(3, 20, 0) */
-    return url_tag ? (gtk_text_iter_has_tag(iter, url_tag)
-                      && !gtk_text_iter_begins_tag(iter, url_tag)) : FALSE;
-#endif                          /* GTK_CHECK_VERSION(3, 20, 0) */
 }
 
 /* Remove soft newlines and associated quote strings from num_paras
diff --git a/libbalsa/misc.c b/libbalsa/misc.c
index dd8f554b7..ffe31d7f9 100644
--- a/libbalsa/misc.c
+++ b/libbalsa/misc.c
@@ -1156,12 +1156,6 @@ gchar *
 libbalsa_font_string_to_css(const gchar * font_string,
                             const gchar * name)
 {
-#if !GTK_CHECK_VERSION(3, 22,0)
-    g_return_val_if_fail(font_string != NULL, NULL);
-    g_return_val_if_fail(name != NULL, NULL);
-
-    return g_strconcat("#", name, " {font:", font_string, "}", NULL);
-#else                           /* !GTK_CHECK_VERSION(3, 22,0) */
     PangoFontDescription *desc;
     PangoFontMask mask;
     GString *string;
@@ -1239,7 +1233,6 @@ libbalsa_font_string_to_css(const gchar * font_string,
     pango_font_description_free(desc);
 
     return g_string_free(string, FALSE);
-#endif                          /* !GTK_CHECK_VERSION(3, 22,0) */
 }
 
 static GMimeParserOptions *parser_options;
diff --git a/libbalsa/smtp-server.c b/libbalsa/smtp-server.c
index 31d8181ea..a0ca8dd7c 100644
--- a/libbalsa/smtp-server.c
+++ b/libbalsa/smtp-server.c
@@ -233,24 +233,14 @@ static void
 smtp_server_response(GtkDialog * dialog, gint response,
                      struct smtp_server_dialog_info *sdi)
 {
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     LibBalsaServer *server = LIBBALSA_SERVER(sdi->smtp_server);
     GError *error = NULL;
 
     switch (response) {
     case GTK_RESPONSE_HELP:
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(dialog),
                                "help:balsa/preferences-mail-options#smtp-server-config",
                                gtk_get_current_event_time(), &error);
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
-        gtk_show_uri(screen,
-                     "help:balsa/preferences-mail-options#smtp-server-config",
-                     gtk_get_current_event_time(), &error);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
         if (error) {
             libbalsa_information(LIBBALSA_INFORMATION_WARNING,
                                  _("Error displaying server help: %s\n"),
diff --git a/meson.build b/meson.build
index f63e2dab1..03e54ce54 100644
--- a/meson.build
+++ b/meson.build
@@ -128,15 +128,15 @@ conf.set('TOOLKIT_CATEGORIES', TOOLKIT_CATEGORIES)
 # #####################################################################
 
 # Dependencies for balsa and balsa_ab:
-glib_dep    = dependency('glib-2.0', version : '>= 2.48.0')
-gtk_dep     = dependency('gtk+-3.0', version : '>= 3.18.0')
-gmime_dep   = dependency('gmime-3.0', version : '>= 3.2.6')
-gio_dep     = dependency('gio-2.0')
-gthread_dep = dependency('gthread-2.0')
-gnutls_dep  = dependency('gnutls', version : '>= 3.0')
-gpgme_dep   = dependency('gpgme', version : '>= 1.6.0')
-fribidi_dep = dependency('fribidi')
-libical_dep = dependency('libical', version : '>= 2.0.0')
+glib_dep    = dependency('glib-2.0',  version : '>= 2.48.0')
+gtk_dep     = dependency('gtk+-3.0',  version : '>= 3.24.0')
+gmime_dep   = dependency('gmime-3.0', version : '>= 3.2.6' )
+gio_dep     = dependency('gio-2.0'                         )
+gthread_dep = dependency('gthread-2.0'                     )
+gnutls_dep  = dependency('gnutls',    version : '>= 3.0'   )
+gpgme_dep   = dependency('gpgme',     version : '>= 1.8.0' )
+fribidi_dep = dependency('fribidi'                         )
+libical_dep = dependency('libical',   version : '>= 2.0.0' )
 
 # Dependencies for balsa
 balsa_deps = [glib_dep,
@@ -166,7 +166,7 @@ libnetclient_deps = [glib_dep,
 # HTML widget
 #
 if html_widget == 'webkit2'
-  html_dep = dependency('webkit2gtk-4.0')
+  html_dep = dependency('webkit2gtk-4.0', version : '>= 2.28.0')
 
   html2text = find_program('python-html2text',
                            'html2markdown',
@@ -347,14 +347,10 @@ endif # compface != 'false'
 # GtkSourceView configuration
 #
 if gtksourceview
-  gsv_dep = dependency('gtksourceview-4', required : false)
-  if not gsv_dep.found()
-    gsv_dep = dependency('gtksourceview-3.0', version : '>= 3.2.0')
-    add_global_arguments('-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_48', language : 'c')
-  endif # not gsv_dep.found()
+  gsv_dep = dependency('gtksourceview-4')
   balsa_deps += gsv_dep
   conf.set('HAVE_GTKSOURCEVIEW', 1,
-    description : 'Defined when GtkSourceView-3 or 4 can be used.')
+    description : 'Defined when GtkSourceView-4 can be used.')
 endif # gtksourceview
 
 # libcanberra configuration
@@ -395,22 +391,11 @@ endif # libsecret
 # Spell check detection.
 #
 if spell_checker == 'gspell'
-  spell_dep = dependency('gspell-1')
+  spell_dep = dependency('gspell-1', version : '>= 1.6.0')
   conf.set('HAVE_GSPELL', 1,
     description : 'Defined when Gspell can be used.')
-  if spell_dep.version().version_compare('>= 1.1.2')
-    conf.set('HAVE_GSPELL_1_2', 1,
-      description : 'Defined when Gspell API is version 1.2.')
-  endif
 elif spell_checker == 'gtkspell'
-  spell_dep = dependency('gtkspell3-3.0')
-  if spell_dep.version().version_compare('>= 3.0.3')
-    conf.set('HAVE_GTKSPELL_3_0_3', 1,
-      description : 'Defined when GtkSpell version is at least 3.0.3.')
-  else
-    enchant_dep = dependency('enchant')
-    spell_dep = [spell_dep, enchant_dep]
-  endif
+  spell_dep = dependency('gtkspell3-3.0', version : '>= 3.0.9')
   conf.set('HAVE_GTKSPELL', 1,
     description : 'Defined when GtkSpell can be used.')
 elif spell_checker == 'internal'
diff --git a/src/address-book-config.c b/src/address-book-config.c
index 6e0076336..e0c76be27 100644
--- a/src/address-book-config.c
+++ b/src/address-book-config.c
@@ -593,18 +593,10 @@ static void
 help_button_cb(AddressBookConfig * abc)
 {
     GError *err = NULL;
-#if GTK_CHECK_VERSION(3, 22, 0)
 
     gtk_show_uri_on_window(GTK_WINDOW(abc->window),
                            "help:balsa/preferences-address-books",
                            gtk_get_current_event_time(), &err);
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-    GdkScreen *screen;
-
-    screen = gtk_widget_get_screen(abc->window);
-    gtk_show_uri(screen, "help:balsa/preferences-address-books",
-                 gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
 
     if (err) {
         libbalsa_information(LIBBALSA_INFORMATION_WARNING,
diff --git a/src/balsa-index.c b/src/balsa-index.c
index fca4d30e3..40d5a3a98 100644
--- a/src/balsa-index.c
+++ b/src/balsa-index.c
@@ -1908,40 +1908,6 @@ bndx_popup_menu_create(BalsaIndex * index)
 /* If the menu is popped up in response to a keystroke, center it
  * below the headers of the tree-view.
  */
-#if !GTK_CHECK_VERSION(3, 22, 0)
-static void
-bndx_popup_position_func(GtkMenu * menu, gint * x, gint * y,
-                         gboolean * push_in, gpointer user_data)
-{
-    GtkWidget *bindex = GTK_WIDGET(user_data);
-    GdkScreen *screen = gtk_widget_get_screen(bindex);
-    GtkRequisition req;
-    gint monitor_num;
-    GdkRectangle monitor;
-    GtkAllocation allocation;
-
-    g_return_if_fail(gtk_widget_get_window(bindex));
-
-    gdk_window_get_origin(gtk_tree_view_get_bin_window
-                          (GTK_TREE_VIEW(bindex)), x, y);
-
-    gtk_widget_get_preferred_size(GTK_WIDGET(menu), NULL, &req);
-
-    gtk_widget_get_allocation(bindex, &allocation);
-    *x += (allocation.width - req.width) / 2;
-
-    monitor_num = gdk_screen_get_monitor_at_point(screen, *x, *y);
-    gtk_menu_set_monitor(menu, monitor_num);
-    gdk_screen_get_monitor_geometry(screen, monitor_num, &monitor);
-
-    *x = CLAMP(*x, monitor.x,
-               monitor.x + MAX(0, monitor.width - req.width));
-    *y = CLAMP(*y, monitor.y,
-               monitor.y + MAX(0, monitor.height - req.height));
-
-    *push_in = FALSE;
-}
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
 
 static void
 bndx_do_popup(BalsaIndex * index, GdkEventButton * event)
@@ -2000,22 +1966,12 @@ bndx_do_popup(BalsaIndex * index, GdkEventButton * event)
 
     gtk_widget_show_all(menu);
 
-#if GTK_CHECK_VERSION(3, 22, 0)
     if (event)
         gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *) event);
     else
         gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(index),
                                  GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                  NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-    if (event)
-        gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
-                       event->button, event->time);
-    else
-        gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
-                       bndx_popup_position_func, index,
-                       0, gtk_get_current_event_time());
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
 }
 
 static GtkWidget *
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index f1c3ddda3..7ba207e27 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -711,10 +711,6 @@ bmbl_do_popup(GtkTreeView * tree_view, GtkTreePath * path,
               GdkEventButton * event)
 {
     BalsaMailboxNode *mbnode = NULL;
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    gint event_button;
-    guint event_time;
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
     GtkWidget *menu;
 
     if (path) {
@@ -726,30 +722,15 @@ bmbl_do_popup(GtkTreeView * tree_view, GtkTreePath * path,
         gtk_tree_path_free(path);
     }
 
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    if (event) {
-        event_button = event->button;
-        event_time = event->time;
-    } else {
-        event_button = 0;
-        event_time = gtk_get_current_event_time();
-    }
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
-
     menu = balsa_mailbox_node_get_context_menu(mbnode);
     g_object_ref(menu);
     g_object_ref_sink(menu);
-#if GTK_CHECK_VERSION(3, 22, 0)
     if (event)
         gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *) event);
     else
         gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(tree_view),
                                  GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                  NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-    gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
-                  event_button, event_time);
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
     g_object_unref(menu);
 
     if (mbnode)
diff --git a/src/balsa-message.c b/src/balsa-message.c
index ffda8a846..d418c379b 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -236,15 +236,10 @@ static void
 balsa_headers_attachments_popup(GtkButton * button, BalsaMessage * balsa_message)
 {
     if (balsa_message->parts_popup) {
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_menu_popup_at_widget(GTK_MENU(balsa_message->parts_popup),
                                  GTK_WIDGET(balsa_message),
                                  GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                  NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-       gtk_menu_popup(GTK_MENU(balsa_message->parts_popup), NULL, NULL, NULL, NULL, 0,
-                      gtk_get_current_event_time());
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
     }
 }
 
@@ -905,7 +900,6 @@ tree_mult_selection_popup(BalsaMessage * balsa_message, GdkEventButton * event,
     if (selected == 1) {
         BalsaPartInfo *info = BALSA_PART_INFO(balsa_message->save_all_list->data);
         if (info->popup_menu) {
-#if GTK_CHECK_VERSION(3, 22, 0)
             if (event)
                 gtk_menu_popup_at_pointer(GTK_MENU(info->popup_menu),
                                           (GdkEvent *) event);
@@ -914,14 +908,6 @@ tree_mult_selection_popup(BalsaMessage * balsa_message, GdkEventButton * event,
                                          GTK_WIDGET(balsa_message),
                                          GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                          NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-            if (event)
-                gtk_menu_popup(GTK_MENU(info->popup_menu), NULL, NULL, NULL,
-                               NULL, event->button, event->time);
-            else
-                gtk_menu_popup(GTK_MENU(info->popup_menu), NULL, NULL, NULL,
-                               NULL, 0, gtk_get_current_event_time());
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
         }
         g_list_free(balsa_message->save_all_list);
         balsa_message->save_all_list = NULL;
@@ -944,7 +930,6 @@ tree_mult_selection_popup(BalsaMessage * balsa_message, GdkEventButton * event,
                           G_CALLBACK (part_context_dump_all_cb),
                           (gpointer) balsa_message->save_all_list);
         gtk_menu_shell_append (GTK_MENU_SHELL (balsa_message->save_all_popup), menu_item);
-#if GTK_CHECK_VERSION(3, 22, 0)
         if (event)
             gtk_menu_popup_at_pointer(GTK_MENU(balsa_message->save_all_popup),
                                       (GdkEvent *) event);
@@ -953,14 +938,6 @@ tree_mult_selection_popup(BalsaMessage * balsa_message, GdkEventButton * event,
                                      GTK_WIDGET(balsa_message),
                                      GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                      NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-        if (event)
-            gtk_menu_popup(GTK_MENU(balsa_message->save_all_popup), NULL, NULL, NULL,
-                           NULL, event->button, event->time);
-        else
-            gtk_menu_popup(GTK_MENU(balsa_message->save_all_popup), NULL, NULL, NULL,
-                           NULL, 0, gtk_get_current_event_time());
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
     }
 }
 
@@ -1013,13 +990,8 @@ tree_button_press_cb(GtkWidget * widget, GdkEventButton * event,
                 gtk_tree_model_get(model, &iter, PART_INFO_COLUMN, &info, -1);
                 if (info) {
                     if (info->popup_menu) {
-#if GTK_CHECK_VERSION(3, 22, 0)
                         gtk_menu_popup_at_pointer(GTK_MENU(info->popup_menu),
                                                   (GdkEvent *) event);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-                        gtk_menu_popup(GTK_MENU(info->popup_menu), NULL, NULL,
-                                       NULL, NULL, event->button, event->time);
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
                     }
                     g_object_unref(info);
                 }
diff --git a/src/balsa-mime-widget-image.c b/src/balsa-mime-widget-image.c
index 7f148614e..e54c912ec 100644
--- a/src/balsa-mime-widget-image.c
+++ b/src/balsa-mime-widget-image.c
@@ -144,15 +144,11 @@ balsa_image_button_press_cb(GtkWidget * widget, GdkEventButton * event,
                             GtkMenu * menu)
 {
     if (gdk_event_triggers_context_menu((GdkEvent *) event)) {
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_menu_popup_at_pointer(menu, (GdkEvent *) event);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-        gtk_menu_popup(menu, NULL, NULL, NULL, NULL,
-                       event->button, event->time);
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
         return TRUE;
-    } else
-        return FALSE;
+    }
+
+    return FALSE;
 }
 
 static void
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index e6a166e1a..f4162e4c9 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -311,24 +311,15 @@ static void
 extbody_call_url(GtkWidget * button, gpointer data)
 {
     gchar *url = g_object_get_data(G_OBJECT(button), "call_url");
-#if GTK_CHECK_VERSION(3, 22, 0)
     GtkWidget *toplevel;
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GError *err = NULL;
 
     g_return_if_fail(url);
-#if GTK_CHECK_VERSION(3, 22, 0)
     toplevel = gtk_widget_get_toplevel(GTK_WIDGET(button));
     if (gtk_widget_is_toplevel(toplevel)) {
         gtk_show_uri_on_window(GTK_WINDOW(toplevel), url,
                                gtk_get_current_event_time(), &err);
     }
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-    screen = gtk_widget_get_screen(button);
-    gtk_show_uri(screen, url, gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     if (err) {
        balsa_information(LIBBALSA_INFORMATION_WARNING,
                          _("Error showing %s: %s\n"), url, err->message);
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index ef4f6feb5..71a616538 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -234,15 +234,8 @@ balsa_mime_widget_new_text(BalsaMessage * bm, LibBalsaMessageBody * mime_body,
 
     /* configure text or source view */
     gtk_text_view_set_editable(text_view, FALSE);
-#if GTK_CHECK_VERSION(3, 23, 1)
     gtk_text_view_set_left_margin(text_view,  BALSA_LEFT_MARGIN);
     gtk_text_view_set_right_margin(text_view, BALSA_RIGHT_MARGIN);
-#else  /* GTK_CHECK_VERSION(3, 23, 1) */
-    gtk_text_view_set_left_margin(text_view, 0);
-    gtk_text_view_set_right_margin(text_view, 0);
-    gtk_widget_set_margin_start(widget, BALSA_LEFT_MARGIN);
-    gtk_widget_set_margin_end(widget, BALSA_RIGHT_MARGIN);
-#endif /* GTK_CHECK_VERSION(3, 23, 1) */
     gtk_text_view_set_wrap_mode(text_view, GTK_WRAP_WORD_CHAR);
 
     /* set the message font */
@@ -814,9 +807,6 @@ handle_url(const gchar * url)
         GtkStatusbar *statusbar;
         guint context_id;
         gchar *notice = g_strdup_printf(_("Calling URL %s…"), url);
-#if !GTK_CHECK_VERSION(3, 22, 0)
-        GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
         GError *err = NULL;
 
         statusbar = balsa_window_get_statusbar(balsa_app.main_window);
@@ -826,13 +816,8 @@ handle_url(const gchar * url)
         gtk_statusbar_push(statusbar, context_id, notice);
         SCHEDULE_BAR_REFRESH();
         g_free(notice);
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(balsa_app.main_window), url,
                                gtk_get_current_event_time(), &err);
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(GTK_WIDGET(balsa_app.main_window));
-        gtk_show_uri(screen, url, gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
 
         if (err != NULL) {
             balsa_information(LIBBALSA_INFORMATION_WARNING,
diff --git a/src/filter-edit-callbacks.c b/src/filter-edit-callbacks.c
index 9ce64bead..47fe0aec3 100644
--- a/src/filter-edit-callbacks.c
+++ b/src/filter-edit-callbacks.c
@@ -835,9 +835,6 @@ condition_dialog_response(GtkWidget * dialog, gint response,
 {
     LibBalsaCondition *new_cnd;
     GError *err = NULL;
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
 
     switch (response) {
     case GTK_RESPONSE_OK:       /* OK button */
@@ -893,15 +890,9 @@ condition_dialog_response(GtkWidget * dialog, gint response,
         gtk_widget_hide(dialog);
         break;
     case GTK_RESPONSE_HELP:     /* Help button */
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(dialog),
                                "help:balsa/win-filters#win-condition",
                                gtk_get_current_event_time(), &err);
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(dialog);
-        gtk_show_uri(screen, "help:balsa/win-filters#win-condition",
-                     gtk_get_current_event_time(), &err);
-#endif  /* GTK_CHECK_VERSION(3, 22, 0) */
        if (err) {
            balsa_information_parented(GTK_WINDOW(dialog),
                    LIBBALSA_INFORMATION_WARNING,
@@ -1464,9 +1455,6 @@ fe_dialog_response(GtkWidget * dialog, gint response, gpointer data)
     GtkTreeIter iter;
     gboolean valid;
     GError *err = NULL;
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
 
     switch (response) {
     case GTK_RESPONSE_OK:       /* OK button */
@@ -1505,14 +1493,8 @@ fe_dialog_response(GtkWidget * dialog, gint response, gpointer data)
         break;
 
     case GTK_RESPONSE_HELP:     /* Help button */
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(dialog), "help:balsa/win-filters",
                                    gtk_get_current_event_time(), &err);
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(dialog);
-        gtk_show_uri(screen, "help:balsa/win-filters",
-                     gtk_get_current_event_time(), &err);
-#endif  /* GTK_CHECK_VERSION(3, 22, 0) */
        if (err) {
            balsa_information_parented(GTK_WINDOW(dialog),
                    LIBBALSA_INFORMATION_WARNING,
diff --git a/src/filter-run-callbacks.c b/src/filter-run-callbacks.c
index 4e6d44f0e..db2930d56 100644
--- a/src/filter-run-callbacks.c
+++ b/src/filter-run-callbacks.c
@@ -162,9 +162,6 @@ void fr_dialog_response(GtkWidget * widget, gint response,
                        gpointer throwaway)
 {
     BalsaFilterRunDialog * p;
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GError *err = NULL;
 
     p=BALSA_FILTER_RUN_DIALOG(widget);
@@ -180,15 +177,9 @@ void fr_dialog_response(GtkWidget * widget, gint response,
 
        break;
     case GTK_RESPONSE_HELP:     /* Help button */
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(widget),
                                "help:balsa/win-run-filters",
                                gtk_get_current_event_time(), &err);
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(widget);
-        gtk_show_uri(screen, "help:balsa/win-run-filters",
-                     gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
        if (err) {
            balsa_information_parented(GTK_WINDOW(widget),
                    LIBBALSA_INFORMATION_WARNING,
diff --git a/src/folder-conf.c b/src/folder-conf.c
index 5d89a1234..c78c708ca 100644
--- a/src/folder-conf.c
+++ b/src/folder-conf.c
@@ -94,9 +94,6 @@ static void
 folder_conf_response(GtkDialog * dialog, int response,
                      CommonDialogData * common_data)
 {
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GError *err = NULL;
 
     /* If mbnode's parent gets rescanned, mbnode will be finalized,
@@ -107,14 +104,8 @@ folder_conf_response(GtkDialog * dialog, int response,
        g_object_ref(common_data->mbnode);
     switch (response) {
     case GTK_RESPONSE_HELP:
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(dialog), "help:balsa/folder-config",
                                gtk_get_current_event_time(), &err);
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
-        gtk_show_uri(screen, "help:balsa/folder-config",
-                     gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
         if (err) {
             balsa_information(LIBBALSA_INFORMATION_WARNING,
                               _("Error displaying config help: %s\n"),
diff --git a/src/main-window.c b/src/main-window.c
index 05b6cf404..70d927e18 100644
--- a/src/main-window.c
+++ b/src/main-window.c
@@ -993,19 +993,10 @@ help_activated(GSimpleAction * action,
                gpointer        user_data)
 {
     GtkWindow *window = GTK_WINDOW(user_data);
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GError *err = NULL;
 
-#if GTK_CHECK_VERSION(3, 22, 0)
     gtk_show_uri_on_window(window, "help:balsa",
                            gtk_get_current_event_time(), &err);
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-    screen = gtk_window_get_screen(window);
-    gtk_show_uri(screen, "help:balsa", gtk_get_current_event_time(),
-                 &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     if (err) {
         balsa_information(LIBBALSA_INFORMATION_WARNING,
                           _("Error displaying help: %s\n"), err->message);
@@ -2853,11 +2844,7 @@ bw_notebook_label_new(BalsaMailboxNode * mbnode)
     gtk_box_pack_start(GTK_BOX(box), lab, TRUE, TRUE, 0);
 
     but = gtk_button_new();
-#if GTK_CHECK_VERSION(3, 19, 0)
     gtk_widget_set_focus_on_click(but, FALSE);
-#else                           /* GTK_CHECK_VERSION(3, 20, 0) */
-    gtk_button_set_focus_on_click(GTK_BUTTON(but), FALSE);
-#endif                          /* GTK_CHECK_VERSION(3, 20, 0) */
     gtk_button_set_relief(GTK_BUTTON(but), GTK_RELIEF_NONE);
 
     gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &w, &h);
@@ -3820,9 +3807,6 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
        GtkToggleButton *matching_body, *matching_from;
         GtkToggleButton *matching_to, *matching_cc, *matching_subject;
        gint ok;
-#if !GTK_CHECK_VERSION(3, 22, 0)
-        GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
 
 #if HAVE_MACOSX_DESKTOP
        libbalsa_macosx_menu_for_parent(dia, GTK_WINDOW(window));
@@ -3973,15 +3957,9 @@ bw_find_real(BalsaWindow * window, BalsaIndex * bindex, gboolean again)
                     ok = GTK_RESPONSE_CANCEL;
                 break;
            case GTK_RESPONSE_HELP:
-#if GTK_CHECK_VERSION(3, 22, 0)
                 gtk_show_uri_on_window(GTK_WINDOW(window),
                                        "help:balsa/win-search",
                                        gtk_get_current_event_time(), &err);
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-                screen = gtk_widget_get_screen(GTK_WIDGET(window));
-                gtk_show_uri(screen, "help:balsa/win-search",
-                             gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
                if (err) {
                    balsa_information(LIBBALSA_INFORMATION_WARNING,
                                      _("Error displaying help: %s\n"),
diff --git a/src/pref-manager.c b/src/pref-manager.c
index 86508f503..3ba341aaf 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -1089,11 +1089,7 @@ balsa_help_pbox_display(void)
     gchar *text, *p;
     GError *err = NULL;
     gchar *uri;
-#if GTK_CHECK_VERSION(3, 22, 0)
     GtkWidget *toplevel;
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GString *string;
 
     selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pui->view));
@@ -1117,16 +1113,11 @@ balsa_help_pbox_display(void)
     g_free(text);
 
     uri = g_string_free(string, FALSE);
-#if GTK_CHECK_VERSION(3, 22, 0)
     toplevel = gtk_widget_get_toplevel(GTK_WIDGET(pui->view));
     if (gtk_widget_is_toplevel(toplevel)) {
         gtk_show_uri_on_window(GTK_WINDOW(toplevel), uri,
                                gtk_get_current_event_time(), &err);
     }
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-    screen = gtk_widget_get_screen(pui->view);
-    gtk_show_uri(screen, uri, gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     if (err) {
         balsa_information(LIBBALSA_INFORMATION_WARNING,
                _("Error displaying %s: %s\n"),
@@ -1653,14 +1644,9 @@ static void
 add_menu_cb(GtkWidget * menu, GtkWidget * widget)
 {
     gtk_widget_show_all(menu);
-#if GTK_CHECK_VERSION(3, 22, 0)
     gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(widget),
                              GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_NORTH_WEST,
                              NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-    gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0,
-                   gtk_get_current_event_time());
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
 }
 
 static void
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index 75db6f431..f5349cb32 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -67,14 +67,12 @@
 #include "macosx-helpers.h"
 #include "geometry-manager.h"
 
-#if !HAVE_GSPELL && !HAVE_GTKSPELL_3_0_3
-#include <enchant/enchant.h>
-#endif                          /* HAVE_GTKSPELL_3_0_3 */
 #if HAVE_GTKSPELL
-#include "gtkspell/gtkspell.h"
+#include <gtkspell/gtkspell.h>
 #elif HAVE_GSPELL
-#include "gspell/gspell.h"
+#include <gspell/gspell.h>
 #else                           /* HAVE_GTKSPELL */
+#include <enchant/enchant.h>
 #include "spell-check.h"
 #endif                          /* HAVE_GTKSPELL */
 #if HAVE_GTKSOURCEVIEW
@@ -104,9 +102,9 @@ static void bsmsg_update_gpg_ui_on_ident_change(BalsaSendmsg *bsmsg,
                                                 LibBalsaIdentity *new_ident);
 static void bsmsg_setup_gpg_ui_by_mode(BalsaSendmsg *bsmsg, gint mode);
 
-#if !HAVE_GSPELL && !HAVE_GTKSPELL_3_0_3
+#if !HAVE_GSPELL && !HAVE_GTKSPELL
 static void sw_spell_check_weak_notify(BalsaSendmsg * bsmsg);
-#endif                          /* HAVE_GTKSPELL */
+#endif                          /* !HAVE_GSPELL && !HAVE_GTKSPELL */
 
 static void address_book_cb(LibBalsaAddressView * address_view,
                             GtkTreeRowReference * row_ref,
@@ -1422,11 +1420,7 @@ attachment_menu_vfs_cb(GtkWidget * menu_item, BalsaAttachInfo * info)
 static void
 on_open_url_cb(GtkWidget * menu_item, BalsaAttachInfo * info)
 {
-#if GTK_CHECK_VERSION(3, 22, 0)
     GtkWidget *toplevel;
-#else /* GTK_CHECK_VERSION(3, 22, 0) */
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GError *err = NULL;
     const gchar * uri;
 
@@ -1435,16 +1429,11 @@ on_open_url_cb(GtkWidget * menu_item, BalsaAttachInfo * info)
     g_return_if_fail(uri != NULL);
 
     g_message("open URL %s", uri);
-#if GTK_CHECK_VERSION(3, 22, 0)
     toplevel = gtk_widget_get_toplevel(GTK_WIDGET(menu_item));
     if (gtk_widget_is_toplevel(toplevel)) {
         gtk_show_uri_on_window(GTK_WINDOW(toplevel), uri,
                                gtk_get_current_event_time(), &err);
     }
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-    screen = gtk_widget_get_screen(menu_item);
-    gtk_show_uri(screen, uri, gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     if (err) {
         balsa_information(LIBBALSA_INFORMATION_WARNING,
                          _("Error showing %s: %s\n"),
@@ -2441,13 +2430,8 @@ attachment_button_press_cb(GtkWidget * widget, GdkEventButton * event,
            gtk_tree_model_get(model, &iter, ATTACH_INFO_COLUMN, &attach_info, -1);
            if (attach_info) {
                if (attach_info->popup_menu) {
-#if GTK_CHECK_VERSION(3, 22, 0)
                     gtk_menu_popup_at_pointer(GTK_MENU(attach_info->popup_menu),
                                               (GdkEvent *) event);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-                   gtk_menu_popup(GTK_MENU(attach_info->popup_menu), NULL, NULL,
-                                  NULL, NULL, event->button, event->time);
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
                 }
                g_object_unref(attach_info);
            }
@@ -2473,15 +2457,10 @@ attachment_popup_cb(GtkWidget *widget, gpointer user_data)
     gtk_tree_model_get(model, &iter, ATTACH_INFO_COLUMN, &attach_info, -1);
     if (attach_info) {
        if (attach_info->popup_menu) {
-#if GTK_CHECK_VERSION(3, 22, 0)
             gtk_menu_popup_at_widget(GTK_MENU(attach_info->popup_menu),
                                      GTK_WIDGET(widget),
                                      GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                      NULL);
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-       gtk_menu_popup(GTK_MENU(attach_info->popup_menu), NULL, NULL, NULL,
-                      NULL, 0, gtk_get_current_event_time());
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
         }
        g_object_unref(attach_info);
     }
@@ -2837,9 +2816,7 @@ create_text_area(BalsaSendmsg * bsmsg)
 #if HAVE_GSPELL
     GspellTextBuffer *gspell_buffer;
     GspellChecker *checker;
-#if HAVE_GSPELL_1_2
     GspellTextView *gspell_view;
-#endif                          /* HAVE_GSPELL_1_2 */
 #endif                          /* HAVE_GSPELL */
     GtkWidget *scroll;
 
@@ -2849,15 +2826,8 @@ create_text_area(BalsaSendmsg * bsmsg)
     bsmsg->text = gtk_text_view_new();
 #endif                          /* HAVE_GTKSOURCEVIEW */
     text_view = GTK_TEXT_VIEW(bsmsg->text);
-#if GTK_CHECK_VERSION(3, 23, 1)
     gtk_text_view_set_left_margin(text_view, 2);
     gtk_text_view_set_right_margin(text_view, 2);
-#else  /* GTK_CHECK_VERSION(3, 23, 1) */
-    gtk_text_view_set_left_margin(text_view, 0);
-    gtk_text_view_set_right_margin(text_view, 0);
-    gtk_widget_set_margin_start(bsmsg->text, 2);
-    gtk_widget_set_margin_end(bsmsg->text, 2);
-#endif /* GTK_CHECK_VERSION(3, 23, 1) */
 
     /* set the message font */
     if (!balsa_app.use_system_fonts) {
@@ -2899,10 +2869,8 @@ create_text_area(BalsaSendmsg * bsmsg)
         gspell_text_buffer_set_spell_checker(gspell_buffer, checker);
         g_object_unref(checker);
 
-#if HAVE_GSPELL_1_2
         gspell_view = gspell_text_view_get_from_gtk_text_view(text_view);
         gspell_text_view_set_enable_language_menu(gspell_view, TRUE);
-#endif                          /* HAVE_GSPELL_1_2 */
     }
 #endif                          /* HAVE_GSPELL */
 
@@ -4141,7 +4109,7 @@ comp_send_locales(const void* a, const void* b)
    in which case spell-checking must be disabled.
 */
 #define BALSA_LANGUAGE_MENU_LANG "balsa-language-menu-lang"
-#if !HAVE_GSPELL && !HAVE_GTKSPELL_3_0_3
+#if !HAVE_GSPELL && !HAVE_GTKSPELL
 static void
 sw_broker_cb(const gchar * lang_tag,
              const gchar * provider_name,
@@ -4154,7 +4122,7 @@ sw_broker_cb(const gchar * lang_tag,
     *lang_list = g_list_insert_sorted(*lang_list, g_strdup(lang_tag),
                                       (GCompareFunc) strcmp);
 }
-#endif                          /* HAVE_GTKSPELL_3_0_3 */
+#endif                          /* !HAVE_GSPELL && !HAVE_GTKSPELL */
 
 static const gchar *
 create_lang_menu(GtkWidget * parent, BalsaSendmsg * bsmsg)
@@ -4168,22 +4136,22 @@ create_lang_menu(GtkWidget * parent, BalsaSendmsg * bsmsg)
 #else
     GList *lang_list, *l;
 #endif                          /* HAVE_GSPELL */
-#if !HAVE_GSPELL && !HAVE_GTKSPELL_3_0_3
+#if !HAVE_GSPELL && !HAVE_GTKSPELL_
     EnchantBroker *broker;
-#endif                          /* HAVE_GTKSPELL_3_0_3 */
+#endif                          /* !HAVE_GSPELL && !HAVE_GTKSPELL */
     const gchar *preferred_lang;
     GtkWidget *active_item = NULL;
 
-#if HAVE_GTKSPELL_3_0_3
+#if HAVE_GTKSPELL
     lang_list = gtk_spell_checker_get_language_list();
 #elif HAVE_GSPELL
     lang_list = gspell_language_get_available();
-#else                           /* HAVE_GTKSPELL_3_0_3 */
+#else                           /* HAVE_GTKSPELL */
     broker = enchant_broker_init();
     lang_list = NULL;
     enchant_broker_list_dicts(broker, sw_broker_cb, &lang_list);
     enchant_broker_free(broker);
-#endif                          /* HAVE_GTKSPELL_3_0_3 */
+#endif                          /* HAVE_GTKSPELL */
 
     if (lang_list == NULL) {
         return NULL;
diff --git a/src/toolbar-factory.c b/src/toolbar-factory.c
index 8a9f226de..bc43f6cff 100644
--- a/src/toolbar-factory.c
+++ b/src/toolbar-factory.c
@@ -623,43 +623,6 @@ tm_remove_underscore(const gchar * text)
     return r;
 }
 
-#if !GTK_CHECK_VERSION(3, 22, 0)
-/* If the menu is popped up in response to a keystroke, center it
- * immediately below the toolbar.
- */
-static void
-tm_popup_position_func(GtkMenu * menu, gint * x, gint * y,
-                       gboolean * push_in, gpointer user_data)
-{
-    GtkWidget *toolbar = GTK_WIDGET(user_data);
-    GdkScreen *screen = gtk_widget_get_screen(toolbar);
-    GtkRequisition req;
-    gint monitor_num;
-    GdkRectangle monitor;
-    GtkAllocation allocation;
-
-    g_return_if_fail(gtk_widget_get_window(toolbar));
-
-    gdk_window_get_origin(gtk_widget_get_window(toolbar), x, y);
-
-    gtk_widget_get_preferred_size(GTK_WIDGET(menu), NULL, &req);
-
-    gtk_widget_get_allocation(toolbar, &allocation);
-    *x += (allocation.width - req.width) / 2;
-    *y += allocation.height;
-
-    monitor_num = gdk_screen_get_monitor_at_point(screen, *x, *y);
-    gtk_menu_set_monitor(menu, monitor_num);
-    gdk_screen_get_monitor_geometry(screen, monitor_num, &monitor);
-
-    *x = CLAMP(*x, monitor.x,
-               monitor.x + MAX(0, monitor.width - req.width));
-    *y = CLAMP(*y, monitor.y,
-               monitor.y + MAX(0, monitor.height - req.height));
-
-    *push_in = FALSE;
-}
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
 
 static gboolean
 tm_popup_context_menu_cb(GtkWidget    * toolbar,
@@ -669,9 +632,6 @@ tm_popup_context_menu_cb(GtkWidget    * toolbar,
                          toolbar_info * info)
 {
     GtkWidget *menu;
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    int event_time;
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
     guint i;
     GSList *group = NULL;
     GtkToolbarStyle default_style;
@@ -766,7 +726,6 @@ tm_popup_context_menu_cb(GtkWidget    * toolbar,
     gtk_menu_attach_to_widget(GTK_MENU(menu), toolbar, NULL);
 
     event = gtk_get_current_event();
-#if GTK_CHECK_VERSION(3, 22, 0)
     if (event != NULL && event->type == GDK_BUTTON_PRESS) {
         gtk_menu_popup_at_pointer(GTK_MENU(menu), event);
     } else {
@@ -776,16 +735,6 @@ tm_popup_context_menu_cb(GtkWidget    * toolbar,
                                  GDK_GRAVITY_SOUTH,
                                  NULL);
     }
-#else                           /*GTK_CHECK_VERSION(3, 22, 0) */
-    event_time = gtk_get_current_event_time();
-
-    if (button >= 0)
-        gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button,
-                       event_time);
-    else
-        gtk_menu_popup(GTK_MENU(menu), NULL, NULL, tm_popup_position_func,
-                       toolbar, button, event_time);
-#endif                          /*GTK_CHECK_VERSION(3, 22, 0) */
 
     if (event != NULL)
         gdk_event_free(event);
diff --git a/src/toolbar-prefs.c b/src/toolbar-prefs.c
index 154d43405..8bcf46c97 100644
--- a/src/toolbar-prefs.c
+++ b/src/toolbar-prefs.c
@@ -363,9 +363,6 @@ current_selection_changed_cb(GtkTreeSelection * selection, ToolbarPage * page)
 static void
 tp_dialog_response_cb(GtkDialog * dialog, gint response, gpointer data)
 {
-#if !GTK_CHECK_VERSION(3, 22, 0)
-    GdkScreen *screen;
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
     GError *err = NULL;
 
     switch (response) {
@@ -374,14 +371,8 @@ tp_dialog_response_cb(GtkDialog * dialog, gint response, gpointer data)
         gtk_widget_destroy(GTK_WIDGET(dialog));
         break;
     case GTK_RESPONSE_HELP:
-#if GTK_CHECK_VERSION(3, 22, 0)
         gtk_show_uri_on_window(GTK_WINDOW(dialog), "help:balsa/toolbar-prefs",
                                gtk_get_current_event_time(), &err);
-#else  /* GTK_CHECK_VERSION(3, 22, 0) */
-        screen = gtk_widget_get_screen(GTK_WIDGET(dialog));
-        gtk_show_uri(screen, "help:balsa/toolbar-prefs",
-                     gtk_get_current_event_time(), &err);
-#endif /* GTK_CHECK_VERSION(3, 22, 0) */
         if (err) {
             balsa_information(LIBBALSA_INFORMATION_WARNING,
                    _("Error displaying toolbar help: %s\n"),


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