diff -Naur grsync.orig/configure.in grsync/configure.in --- grsync.orig/configure.in 2018-01-22 12:58:21.350217000 +0100 +++ grsync/configure.in 2018-01-22 17:15:38.718528840 +0100 @@ -14,6 +14,13 @@ AM_PROG_CC_STDC AC_HEADER_STDC +AC_ARG_ENABLE([gtk3], + [AC_HELP_STRING([--enable-gtk3], + [compile grsync against gtk+ 3.0 (default: yes)])], + [enable_gtk3="${enableval}"], + [enable_gtk3="yes"] +) + PKG_CHECK_EXISTS(maemo-version, [VERSIONOK=`$PKG_CONFIG --atleast-version=5 maemo-version` if test x"$VERSIONOK" != x; then AC_MSG_ERROR([You need at least Maemo 5.x for this release of Grsync]) @@ -34,7 +41,13 @@ MAEMO=0 XMLFILE="grsync.glade" AC_DEFINE_UNQUOTED(XMLFILE, ["$XMLFILE"], [UI Description XML File]) -pkg_modules="gtk+-2.0 >= 2.16.0" + + if test x"$enable_gtk3" = x"yes"; then + GTK_API_VERSION="3.0" + else + GTK_API_VERSION="2.0" + fi + pkg_modules="gtk+-$GTK_API_VERSION >= 2.16.0" OTHER_DESKTOP_ENTRIES="Icon=grsync.png" MIMEINFO_XMLNS="xmlns='http://www.freedesktop.org/standards/shared-mime-info'" MIME_OSSOCAT="" diff -Naur grsync.orig/grsync.glade grsync/grsync.glade --- grsync.orig/grsync.glade 2018-01-22 12:58:21.026876000 +0100 +++ grsync/grsync.glade 2018-01-22 14:48:21.114182860 +0100 @@ -322,7 +322,6 @@ True True 4 - True True @@ -1313,7 +1312,6 @@ True True main_window - False True @@ -1414,7 +1412,6 @@ True True main_window - False True @@ -1651,7 +1648,6 @@ True True dialog_rsync - False True @@ -1736,7 +1732,6 @@ True True main_window - False @@ -1930,7 +1925,6 @@ True True main_window - False True diff -Naur grsync.orig/src/callbacks.c grsync/src/callbacks.c --- grsync.orig/src/callbacks.c 2018-01-22 12:58:21.513554000 +0100 +++ grsync/src/callbacks.c 2018-01-22 14:48:19.384135657 +0100 @@ -58,7 +58,7 @@ if (flag) { if (trayIcon == NULL) { trayIcon = gtk_status_icon_new_from_file(icon); - g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", GTK_SIGNAL_FUNC(on_trayicon_activate), main_window); + g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", G_CALLBACK(on_trayicon_activate), main_window); } } else { if (trayIcon != NULL) { @@ -111,7 +111,7 @@ void set_main_title(gchar* session, gchar* extra) { gchar *stmp = g_strconcat("Grsync: ", session, " ", extra, NULL); gtk_window_set_title((GtkWindow*) main_window, stmp); - if (trayIcon != NULL) gtk_status_icon_set_tooltip(trayIcon, stmp); + if (trayIcon != NULL) gtk_status_icon_set_tooltip_text(trayIcon, stmp); g_free(stmp); } @@ -815,7 +815,7 @@ } -void on_main_destroy(GtkObject *object, gpointer user_data) { +void on_main_destroy(GtkWidget *object, gpointer user_data) { gint sel = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session")); save_settings(groups[sel], NULL); g_strfreev(groups); @@ -860,7 +860,7 @@ gtk_widget_hide(rsync_window); } } - if (cmdline_execute) on_main_destroy((GtkObject*) main_window, NULL); + if (cmdline_execute) on_main_destroy((GtkWidget*) main_window, NULL); } @@ -1177,7 +1177,7 @@ } -void on_rsync_hide(GtkObject *object, gpointer user_data) { +void on_rsync_hide(GtkWidget *object, gpointer user_data) { if (rsync_pid) { if (paused) superkill(SIGCONT); superkill(SIGTERM); diff -Naur grsync.orig/src/main.c grsync/src/main.c --- grsync.orig/src/main.c 2018-01-22 12:58:21.516888000 +0100 +++ grsync/src/main.c 2018-01-22 14:48:22.214212877 +0100 @@ -17,7 +17,6 @@ textdomain(GETTEXT_PACKAGE); #endif - gtk_set_locale(); #ifdef MAEMO hildon_gtk_init(&argc, &argv); #else