[gthumb] removed use of deprecated API



commit 7ef4f35a4a8465fd360c605b5af97de2ec23ef08
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Fri Nov 8 15:18:40 2013 +0100

    removed use of deprecated API

 configure.ac                                       |   14 -
 extensions/bookmarks/actions.c                     |   29 -
 extensions/bookmarks/actions.h                     |    6 +-
 extensions/burn_disc/gth-burn-task.c               |    8 +-
 extensions/catalogs/actions.c                      |   10 +-
 extensions/catalogs/callbacks.c                    |    2 +-
 extensions/catalogs/dlg-add-to-catalog.c           |    4 +-
 extensions/catalogs/gth-file-source-catalogs.c     |    8 +-
 .../contact_sheet/gth-contact-sheet-theme-dialog.c |   16 +-
 extensions/desktop_background/actions.c            |    6 +-
 extensions/desktop_background/actions.h            |    3 -
 extensions/edit_metadata/actions.c                 |   67 +---
 extensions/edit_metadata/actions.h                 |    7 +-
 extensions/edit_metadata/callbacks.c               |    4 +-
 extensions/edit_metadata/gth-edit-comment-dialog.c |    6 +-
 extensions/edit_metadata/gth-edit-tags-dialog.c    |    4 +-
 extensions/facebook/actions.h                      |    2 -
 .../facebook/facebook-album-properties-dialog.c    |    4 +-
 extensions/file_manager/actions.c                  |   24 +-
 extensions/file_manager/callbacks.c                |   12 +-
 extensions/find_duplicates/gth-find-duplicates.c   |    8 +-
 .../find_duplicates/gth-folder-chooser-dialog.c    |    4 +-
 .../gstreamer_tools/data/ui/save-screenshot.ui     |  190 -------
 extensions/gstreamer_tools/gth-media-viewer-page.c |    2 +-
 extensions/gstreamer_utils/gstreamer-utils.c       |    4 +-
 extensions/image_rotation/rotation-utils.c         |    4 +-
 .../importer/gth-import-destination-button.c       |    2 +-
 .../importer/gth-import-preferences-dialog.c       |    2 +-
 extensions/importer/gth-import-task.c              |    8 +-
 extensions/list_tools/dlg-personalize-scripts.c    |    6 +-
 extensions/list_tools/gth-script-editor-dialog.c   |    6 +-
 extensions/map_view/gth-map-view.c                 |   10 +-
 extensions/oauth/oauth-account-chooser-dialog.c    |   10 +-
 extensions/oauth/oauth-account-manager-dialog.c    |    6 +-
 extensions/oauth/oauth-ask-authorization-dialog.c  |    2 +-
 extensions/oauth/web-service.c                     |    4 +-
 extensions/photo_importer/actions.c                |    2 +-
 extensions/photo_importer/actions.h                |    5 -
 .../photobucket-album-properties-dialog.c          |    4 +-
 .../picasaweb/picasa-album-properties-dialog.c     |    4 +-
 extensions/rename_series/dlg-rename-series.c       |    4 +-
 .../rename_series/gth-template-editor-dialog.c     |    4 +-
 extensions/search/actions.c                        |    4 +-
 extensions/slideshow/gth-slideshow-preferences.c   |    4 +-
 extensions/slideshow/gth-slideshow.c               |   12 +-
 extensions/webalbums/gth-web-exporter.c            |    4 +-
 gthumb/Makefile.am                                 |    5 -
 gthumb/dlg-preferences-extensions.c                |    2 +-
 gthumb/gth-browser-actions-entries.h               |    1 -
 gthumb/gth-browser.c                               |    9 +-
 gthumb/gth-empty-list.c                            |    4 +-
 gthumb/gth-file-chooser-dialog.c                   |    8 +-
 gthumb/gth-file-properties.c                       |    3 +-
 gthumb/gth-file-source-vfs.c                       |   14 +-
 gthumb/gth-filter-editor-dialog.c                  |    4 +-
 gthumb/gth-folder-tree.c                           |   12 +-
 gthumb/gth-grid-view.c                             |   19 +-
 gthumb/gth-histogram-view.c                        |    4 +-
 gthumb/gth-image-overview.c                        |    4 -
 gthumb/gth-menu-action.c                           |  184 -------
 gthumb/gth-menu-action.h                           |   54 --
 gthumb/gth-menu-button.c                           |  559 --------------------
 gthumb/gth-menu-button.h                           |   77 ---
 gthumb/gth-overwrite-dialog.c                      |    4 +-
 gthumb/gth-progress-dialog.c                       |    4 +-
 gthumb/gth-request-dialog.c                        |    6 +-
 gthumb/gth-stock.h                                 |   32 --
 gthumb/gth-test-selector.c                         |    6 +-
 gthumb/gth-time-selector.c                         |    2 -
 gthumb/gtk-utils.c                                 |  130 +----
 gthumb/gtk-utils.h                                 |   37 +-
 gthumb/main.c                                      |    1 -
 72 files changed, 205 insertions(+), 1531 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index a195053..557c103 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,8 +85,6 @@ AC_ARG_ENABLE(deprecated,
 if test x$disable_deprecated = xyes; then
        CFLAGS="$CFLAGS -DG_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES 
-DGTK_DISABLE_SINGLE_INCLUDES"
        CFLAGS="$CFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED 
-DGTK_DISABLE_DEPRECATED -DGST_DISABLE_DEPRECATED"
-else
-       CFLAGS="$CFLAGS -Wno-deprecated-declarations"
 fi
 
 dnl ===========================================================================
@@ -104,18 +102,6 @@ if test x$ENABLE_DEBUG = xyes; then
        CFLAGS="$CFLAGS -g -O0 -DDEBUG"
 fi
 
-AC_ARG_ENABLE(gseal,
-             AS_HELP_STRING([--enable-gseal], [check use of direct access to object fields]),
-             [case "${enableval}" in
-             yes) ENABLE_GSEAL=yes ;;
-             no) ENABLE_GSEAL=no ;;
-             *) AC_MSG_ERROR([bad value ${enableval} for --enable-gseal]) ;;
-             esac],
-             [ENABLE_GSEAL=no])
-if test x$ENABLE_GSEAL = xyes; then
-       CFLAGS="$CFLAGS -DGSEAL_ENABLE"
-fi
-
 AC_ARG_ENABLE(run_in_place,
              AS_HELP_STRING([--enable-run-in-place],[load ui data and extensions from the source tree]),
              [case "${enableval}" in
diff --git a/extensions/bookmarks/actions.c b/extensions/bookmarks/actions.c
index 38582a5..137eaa3 100644
--- a/extensions/bookmarks/actions.c
+++ b/extensions/bookmarks/actions.c
@@ -26,35 +26,6 @@
 
 
 void
-gth_browser_activate_action_bookmarks_add (GtkAction  *action,
-                                          GthBrowser *browser)
-{
-       GBookmarkFile *bookmarks;
-       GFile         *location;
-       char          *uri;
-
-       location = gth_browser_get_location (browser);
-       if (location == NULL)
-               return;
-
-       bookmarks = gth_main_get_default_bookmarks ();
-       uri = g_file_get_uri (location);
-       _g_bookmark_file_add_uri (bookmarks, uri);
-       gth_main_bookmarks_changed ();
-
-       g_free (uri);
-}
-
-
-void
-gth_browser_activate_action_bookmarks_edit (GtkAction  *action,
-                                           GthBrowser *browser)
-{
-       dlg_bookmarks (browser);
-}
-
-
-void
 gth_browser_activate_bookmarks_add (GSimpleAction *action,
                                    GVariant      *parameter,
                                    gpointer       user_data)
diff --git a/extensions/bookmarks/actions.h b/extensions/bookmarks/actions.h
index a05ffae..692cf10 100644
--- a/extensions/bookmarks/actions.h
+++ b/extensions/bookmarks/actions.h
@@ -23,11 +23,7 @@
 #define ACTIONS_H
 
 #include <gtk/gtk.h>
-
-#define DEFINE_ACTION(x) void x (GtkAction *action, gpointer data);
-
-DEFINE_ACTION(gth_browser_activate_action_bookmarks_add)
-DEFINE_ACTION(gth_browser_activate_action_bookmarks_edit)
+#include <gthumb.h>
 
 DEF_ACTION_CALLBACK (gth_browser_activate_bookmarks_add)
 DEF_ACTION_CALLBACK (gth_browser_activate_bookmarks_edit)
diff --git a/extensions/burn_disc/gth-burn-task.c b/extensions/burn_disc/gth-burn-task.c
index 13fccaf..a3c9641 100644
--- a/extensions/burn_disc/gth-burn-task.c
+++ b/extensions/burn_disc/gth-burn-task.c
@@ -350,7 +350,7 @@ source_dialog_response_cb (GtkDialog   *dialog,
 {
        if (response == GTK_RESPONSE_HELP) {
                show_help_dialog (GTK_WINDOW (dialog), "gthumb-export-disk");
-       } else {        
+       } else {
                gtk_widget_hide (task->priv->dialog);
                gth_task_dialog (GTH_TASK (task), FALSE, NULL);
 
@@ -397,9 +397,9 @@ gth_burn_task_exec (GthTask *base)
        task->priv->dialog = gtk_dialog_new_with_buttons (_("Write to Disc"),
                                                          GTK_WINDOW (task->priv->browser),
                                                          0,
-                                                         GTK_STOCK_HELP, GTK_RESPONSE_HELP,
-                                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                                         GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                                         _GTK_LABEL_HELP, GTK_RESPONSE_HELP,
+                                                         _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                                         _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                                          NULL);
        gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (task->priv->dialog))), 
_gtk_builder_get_widget (task->priv->builder, "source_selector"));
        if (task->priv->selected_files == NULL)
diff --git a/extensions/catalogs/actions.c b/extensions/catalogs/actions.c
index 737a472..dd6eee7 100644
--- a/extensions/catalogs/actions.c
+++ b/extensions/catalogs/actions.c
@@ -183,7 +183,7 @@ gth_browser_activate_create_catalog (GSimpleAction   *action,
                                         GTK_DIALOG_MODAL,
                                         _("New catalog"),
                                         _("Enter the catalog name:"),
-                                        GTK_STOCK_CANCEL,
+                                        _GTK_LABEL_CANCEL,
                                         _("C_reate"));
        g_signal_connect (dialog,
                          "response",
@@ -297,7 +297,7 @@ gth_browser_activate_create_library (GSimpleAction   *action,
                                         GTK_DIALOG_MODAL,
                                         _("New library"),
                                         _("Enter the library name:"),
-                                        GTK_STOCK_CANCEL,
+                                        _GTK_LABEL_CANCEL,
                                         _("C_reate"));
        g_signal_connect (dialog,
                          "response",
@@ -373,11 +373,11 @@ gth_browser_activate_remove_catalog (GSimpleAction         *action,
                prompt = g_strdup_printf (_("Are you sure you want to remove \"%s\"?"), 
g_file_info_get_display_name (file_data->info));
                d = _gtk_message_dialog_new (GTK_WINDOW (browser),
                                             GTK_DIALOG_MODAL,
-                                            GTK_STOCK_DIALOG_QUESTION,
+                                            _GTK_ICON_NAME_DIALOG_QUESTION,
                                             prompt,
                                             NULL,
-                                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                            GTK_STOCK_REMOVE, GTK_RESPONSE_YES,
+                                            _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                            _GTK_LABEL_REMOVE, GTK_RESPONSE_YES,
                                             NULL);
                g_signal_connect (d, "response", G_CALLBACK (remove_catalog_response_cb), file_data);
                gtk_widget_show (d);
diff --git a/extensions/catalogs/callbacks.c b/extensions/catalogs/callbacks.c
index 08d8aa0..a1a7058 100644
--- a/extensions/catalogs/callbacks.c
+++ b/extensions/catalogs/callbacks.c
@@ -339,7 +339,7 @@ catalogs__gth_browser_update_extra_widget_cb (GthBrowser *browser)
        {
                if (data->properties_button == NULL) {
                        data->properties_button = gtk_button_new ();
-                       gtk_container_add (GTK_CONTAINER (data->properties_button), gtk_image_new_from_stock 
(GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_MENU));
+                       gtk_container_add (GTK_CONTAINER (data->properties_button), 
gtk_image_new_from_icon_name ("document-properties-symbolic", GTK_ICON_SIZE_MENU));
                        g_object_add_weak_pointer (G_OBJECT (data->properties_button), (gpointer 
*)&data->properties_button);
                        gtk_button_set_relief (GTK_BUTTON (data->properties_button), GTK_RELIEF_NONE);
                        gtk_widget_set_tooltip_text (data->properties_button, _("Catalog Properties"));
diff --git a/extensions/catalogs/dlg-add-to-catalog.c b/extensions/catalogs/dlg-add-to-catalog.c
index 77f6c67..b1d067f 100644
--- a/extensions/catalogs/dlg-add-to-catalog.c
+++ b/extensions/catalogs/dlg-add-to-catalog.c
@@ -358,7 +358,7 @@ new_catalog_button_clicked_cb (GtkWidget  *widget,
                                         GTK_DIALOG_MODAL,
                                         _("New catalog"),
                                         _("Enter the catalog name:"),
-                                        GTK_STOCK_CANCEL,
+                                        _GTK_LABEL_CANCEL,
                                         _("C_reate"));
        g_signal_connect (dialog,
                          "response",
@@ -470,7 +470,7 @@ new_library_button_clicked_cb (GtkWidget  *widget,
                                         GTK_DIALOG_MODAL,
                                         _("New library"),
                                         _("Enter the library name:"),
-                                        GTK_STOCK_CANCEL,
+                                        _GTK_LABEL_CANCEL,
                                         _("C_reate"));
        g_signal_connect (dialog,
                          "response",
diff --git a/extensions/catalogs/gth-file-source-catalogs.c b/extensions/catalogs/gth-file-source-catalogs.c
index c5bc378..6c78238 100644
--- a/extensions/catalogs/gth-file-source-catalogs.c
+++ b/extensions/catalogs/gth-file-source-catalogs.c
@@ -956,10 +956,10 @@ copy_catalog_ready_cb (GError   *error,
 
                d = _gtk_message_dialog_new (NULL,
                                             GTK_DIALOG_MODAL,
-                                            GTK_STOCK_DIALOG_QUESTION,
+                                            _GTK_ICON_NAME_DIALOG_QUESTION,
                                             msg,
                                             NULL,
-                                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                            _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
                                             _("Over_write"), GTK_RESPONSE_OK,
                                             NULL);
                g_signal_connect (d,
@@ -1083,10 +1083,10 @@ gth_file_source_catalogs_copy (GthFileSource    *file_source,
                                msg = _("Cannot copy the files");
                        d = _gtk_message_dialog_new (NULL,
                                                     GTK_DIALOG_MODAL,
-                                                    GTK_STOCK_DIALOG_ERROR,
+                                                    _GTK_ICON_NAME_DIALOG_ERROR,
                                                     msg,
                                                     _("Invalid destination."),
-                                                    GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+                                                    _GTK_LABEL_CLOSE, GTK_RESPONSE_CLOSE,
                                                     NULL);
                        g_signal_connect (d,
                                          "response",
diff --git a/extensions/contact_sheet/gth-contact-sheet-theme-dialog.c 
b/extensions/contact_sheet/gth-contact-sheet-theme-dialog.c
index d60eb4e..df6fc9f 100644
--- a/extensions/contact_sheet/gth-contact-sheet-theme-dialog.c
+++ b/extensions/contact_sheet/gth-contact-sheet-theme-dialog.c
@@ -195,32 +195,28 @@ gth_contact_sheet_theme_dialog_init (GthContactSheetThemeDialog *self)
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_image_set_from_icon_name (GTK_IMAGE (GET_WIDGET ("v_gradient_swap_image")), "tool-mirror", 
GTK_ICON_SIZE_MENU);
-       gtk_image_set_from_icon_name (GTK_IMAGE (GET_WIDGET ("h_gradient_swap_image")), "tool-mirror", 
GTK_ICON_SIZE_MENU);
-
        content = _gtk_builder_get_widget (self->priv->builder, "theme_properties");
        gtk_container_set_border_width (GTK_CONTAINER (content), 5);
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 
0);
 
        /* "Copy from" button */
 
-       self->priv->copy_from_button = gth_menu_button_new ();
-       gth_menu_button_set_label (GTH_MENU_BUTTON (self->priv->copy_from_button), _("Copy _From"));
-       gth_menu_button_set_use_underline (GTH_MENU_BUTTON (self->priv->copy_from_button), TRUE);
-       gtk_widget_show (self->priv->copy_from_button);
+       self->priv->copy_from_button = gtk_menu_button_new ();
+       gtk_container_add (GTK_CONTAINER (self->priv->copy_from_button), gtk_label_new_with_mnemonic (_("Copy 
_From")));
+       gtk_widget_show_all (self->priv->copy_from_button);
 
        self->priv->copy_from_menu = gtk_menu_new ();
-       gth_menu_button_set_menu (GTH_MENU_BUTTON (self->priv->copy_from_button), self->priv->copy_from_menu);
+       gtk_menu_button_set_popup (GTK_MENU_BUTTON (self->priv->copy_from_button), 
self->priv->copy_from_menu);
 
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (self))), 
self->priv->copy_from_button, FALSE, FALSE, 0);
 
        /* other buttons */
 
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_CANCEL,
+                              _GTK_LABEL_CANCEL,
                               GTK_RESPONSE_CANCEL);
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_SAVE,
+                              _GTK_LABEL_SAVE,
                               GTK_RESPONSE_OK);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 
diff --git a/extensions/desktop_background/actions.c b/extensions/desktop_background/actions.c
index ed71f72..51652b4 100644
--- a/extensions/desktop_background/actions.c
+++ b/extensions/desktop_background/actions.c
@@ -235,9 +235,9 @@ wallpaper_data_set (WallpaperData *wdata)
        gtk_orientable_set_orientation (GTK_ORIENTABLE (gtk_info_bar_get_action_area (GTK_INFO_BAR 
(infobar))), GTK_ORIENTATION_HORIZONTAL);
        gtk_info_bar_set_message_type (GTK_INFO_BAR (infobar), GTK_MESSAGE_INFO);
        gtk_info_bar_add_buttons (GTK_INFO_BAR (infobar),
-                                 GTK_STOCK_PREFERENCES, _RESPONSE_PREFERENCES,
-                                 GTK_STOCK_UNDO, _RESPONSE_UNDO,
-                                 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+                                 _("_Preferences"), _RESPONSE_PREFERENCES,
+                                 _("_Undo"), _RESPONSE_UNDO,
+                                 _GTK_LABEL_CLOSE, GTK_RESPONSE_CLOSE,
                                  NULL);
        gtk_info_bar_set_response_sensitive (GTK_INFO_BAR (infobar),
                                             _RESPONSE_UNDO,
diff --git a/extensions/desktop_background/actions.h b/extensions/desktop_background/actions.h
index 9e58298..b917f63 100644
--- a/extensions/desktop_background/actions.h
+++ b/extensions/desktop_background/actions.h
@@ -24,9 +24,6 @@
 
 #include <gthumb.h>
 
-#define DEFINE_ACTION(x) void x (GtkAction *action, gpointer data);
-
-DEFINE_ACTION (gth_browser_activate_action_tool_desktop_background)
 DEF_ACTION_CALLBACK (gth_browser_activate_set_desktop_background)
 
 #endif /* ACTIONS_H */
diff --git a/extensions/edit_metadata/actions.c b/extensions/edit_metadata/actions.c
index 2a34612..6c954bd 100644
--- a/extensions/edit_metadata/actions.c
+++ b/extensions/edit_metadata/actions.c
@@ -29,69 +29,6 @@
 
 
 void
-gth_browser_activate_action_edit_comment (GtkAction  *action,
-                                         GthBrowser *browser)
-{
-       dlg_edit_metadata (browser,
-                          GTH_TYPE_EDIT_COMMENT_DIALOG,
-                          "edit-comment-dialog");
-}
-
-
-void
-gth_browser_activate_action_edit_tags (GtkAction  *action,
-                                      GthBrowser *browser)
-{
-       dlg_edit_metadata (browser,
-                          GTH_TYPE_EDIT_TAGS_DIALOG,
-                          "edit-tags-dialog");
-}
-
-
-void
-gth_browser_activate_action_tool_delete_metadata (GtkAction  *action,
-                                                 GthBrowser *browser)
-{
-       GtkWidget *dialog;
-       int        result;
-       GList     *items;
-       GList     *file_data_list;
-       GList     *file_list;
-       GthTask   *task;
-
-       dialog =  gtk_message_dialog_new (GTK_WINDOW (browser),
-                                         GTK_DIALOG_MODAL,
-                                         GTK_MESSAGE_QUESTION,
-                                         GTK_BUTTONS_NONE,
-                                         _("Are you sure you want to permanently delete the metadata of the 
selected files?"));
-       gtk_dialog_add_buttons (GTK_DIALOG (dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_DELETE, GTK_RESPONSE_YES,
-                               NULL);
-       gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
-                                                 "%s",
-                                                 _("If you delete the metadata, it will be permanently 
lost."));
-
-       result = gtk_dialog_run (GTK_DIALOG (dialog));
-       gtk_widget_destroy (dialog);
-
-       if (result != GTK_RESPONSE_YES)
-               return;
-
-       items = gth_file_selection_get_selected (GTH_FILE_SELECTION (gth_browser_get_file_list_view 
(browser)));
-       file_data_list = gth_file_list_get_files (GTH_FILE_LIST (gth_browser_get_file_list (browser)), items);
-       file_list = gth_file_data_list_to_file_list (file_data_list);
-       task = gth_delete_metadata_task_new (browser, file_list);
-       gth_browser_exec_task (browser, task, FALSE);
-
-       g_object_unref (task);
-       _g_object_list_unref (file_list);
-       _g_object_list_unref (file_data_list);
-       _gtk_tree_path_list_free (items);
-}
-
-
-void
 gth_browser_activate_edit_metadata (GSimpleAction      *action,
                                    GVariant            *parameter,
                                    gpointer             user_data)
@@ -136,8 +73,8 @@ gth_browser_activate_delete_metadata (GSimpleAction  *action,
                                          GTK_BUTTONS_NONE,
                                          _("Are you sure you want to permanently delete the metadata of the 
selected files?"));
        gtk_dialog_add_buttons (GTK_DIALOG (dialog),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_DELETE, GTK_RESPONSE_YES,
+                               _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                               _GTK_LABEL_DELETE, GTK_RESPONSE_YES,
                                NULL);
        gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                                                  "%s",
diff --git a/extensions/edit_metadata/actions.h b/extensions/edit_metadata/actions.h
index 1be7d5f..bd0c2d5 100644
--- a/extensions/edit_metadata/actions.h
+++ b/extensions/edit_metadata/actions.h
@@ -23,12 +23,7 @@
 #define ACTIONS_H
 
 #include <gtk/gtk.h>
-
-#define DEFINE_ACTION(x) void x (GtkAction *action, gpointer data);
-
-DEFINE_ACTION(gth_browser_activate_action_edit_comment)
-DEFINE_ACTION(gth_browser_activate_action_edit_tags)
-DEFINE_ACTION(gth_browser_activate_action_tool_delete_metadata)
+#include <gthumb.h>
 
 DEF_ACTION_CALLBACK (gth_browser_activate_edit_metadata)
 DEF_ACTION_CALLBACK (gth_browser_activate_edit_tags)
diff --git a/extensions/edit_metadata/callbacks.c b/extensions/edit_metadata/callbacks.c
index cd2ae39..c6e9ff3 100644
--- a/extensions/edit_metadata/callbacks.c
+++ b/extensions/edit_metadata/callbacks.c
@@ -103,12 +103,12 @@ edit_metadata__gth_browser_file_list_key_press_cb (GthBrowser  *browser,
 
        switch (gdk_keyval_to_lower (event->keyval)) {
        case GDK_KEY_c:
-               gth_browser_activate_action_edit_comment (NULL, browser);
+               gth_browser_activate_edit_metadata (NULL, NULL, browser);
                result = GINT_TO_POINTER (1);
                break;
 
        case GDK_KEY_t:
-               gth_browser_activate_action_edit_tags (NULL, browser);
+               gth_browser_activate_edit_tags (NULL, NULL, browser);
                result = GINT_TO_POINTER (1);
                break;
        }
diff --git a/extensions/edit_metadata/gth-edit-comment-dialog.c 
b/extensions/edit_metadata/gth-edit-comment-dialog.c
index 00b1dbc..adf7c44 100644
--- a/extensions/edit_metadata/gth-edit-comment-dialog.c
+++ b/extensions/edit_metadata/gth-edit-comment-dialog.c
@@ -139,10 +139,10 @@ gth_edit_comment_dialog_init (GthEditCommentDialog *self)
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_SAVE, GTK_RESPONSE_APPLY);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_SAVE, GTK_RESPONSE_APPLY);
        gtk_dialog_add_button (GTK_DIALOG (self), _("Sa_ve and Close"), GTK_RESPONSE_OK);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_HELP, GTK_RESPONSE_HELP);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_HELP, GTK_RESPONSE_HELP);
 
        vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
        gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
diff --git a/extensions/edit_metadata/gth-edit-tags-dialog.c b/extensions/edit_metadata/gth-edit-tags-dialog.c
index 07c61fa..f7ddf41 100644
--- a/extensions/edit_metadata/gth-edit-tags-dialog.c
+++ b/extensions/edit_metadata/gth-edit-tags-dialog.c
@@ -192,8 +192,8 @@ gth_edit_tags_dialog_init (GthEditTagsDialog *self)
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_SAVE, GTK_RESPONSE_APPLY);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_SAVE, GTK_RESPONSE_APPLY);
        gtk_dialog_add_button (GTK_DIALOG (self), _("Sa_ve and Close"), GTK_RESPONSE_OK);
 
        self->priv->tags_entry = gth_tags_entry_new ();
diff --git a/extensions/facebook/actions.h b/extensions/facebook/actions.h
index 7900bb9..dfc2e5e 100644
--- a/extensions/facebook/actions.h
+++ b/extensions/facebook/actions.h
@@ -24,8 +24,6 @@
 
 #include <gthumb.h>
 
-#define DEFINE_ACTION(x) void x (GtkAction *action, gpointer data);
-
 DEF_ACTION_CALLBACK (gth_browser_activate_export_facebook)
 DEF_ACTION_CALLBACK (gth_browser_activate_import_facebook)
 
diff --git a/extensions/facebook/facebook-album-properties-dialog.c 
b/extensions/facebook/facebook-album-properties-dialog.c
index f9fdc49..375ef5e 100644
--- a/extensions/facebook/facebook-album-properties-dialog.c
+++ b/extensions/facebook/facebook-album-properties-dialog.c
@@ -76,8 +76,8 @@ facebook_album_properties_dialog_init (FacebookAlbumPropertiesDialog *self)
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 
0);
 
        gtk_dialog_add_buttons (GTK_DIALOG (self),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_OK, GTK_RESPONSE_OK,
+                               _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                               _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                NULL);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 }
diff --git a/extensions/file_manager/actions.c b/extensions/file_manager/actions.c
index 1182a96..e2542e4 100644
--- a/extensions/file_manager/actions.c
+++ b/extensions/file_manager/actions.c
@@ -135,7 +135,7 @@ _gth_browser_create_new_folder (GthBrowser *browser,
                                         GTK_DIALOG_MODAL,
                                         _("New folder"),
                                         _("Enter the folder name:"),
-                                        GTK_STOCK_CANCEL,
+                                        _GTK_LABEL_CANCEL,
                                         _("C_reate"));
        g_signal_connect (dialog,
                          "response",
@@ -405,11 +405,11 @@ clipboard_received_cb (GtkClipboard     *clipboard,
 
                dialog = _gtk_message_dialog_new (GTK_WINDOW (browser),
                                                  GTK_DIALOG_MODAL,
-                                                 GTK_STOCK_DIALOG_QUESTION,
+                                                 _GTK_ICON_NAME_DIALOG_QUESTION,
                                                  _("Could not move the files"),
                                                  _("Files cannot be moved to the current location, as 
alternative you can choose to copy them."),
-                                                 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                                 GTK_STOCK_COPY, GTK_RESPONSE_OK,
+                                                 _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                                 _("Copy"), GTK_RESPONSE_OK,
                                                  NULL);
                response = gtk_dialog_run (GTK_DIALOG (dialog));
                gtk_widget_destroy (dialog);
@@ -647,7 +647,7 @@ copy_to_folder_dialog (GthBrowser *browser,
        dialog = gtk_file_chooser_dialog_new (move ? _("Move To") : _("Copy To"),
                                              GTK_WINDOW (browser),
                                              GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
-                                             GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                             _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
                                              (move ? _("Move") : _("Copy")), GTK_RESPONSE_ACCEPT,
                                              NULL);
 
@@ -917,8 +917,8 @@ delete_folder_permanently (GtkWindow        *window,
                        d = _gtk_yesno_dialog_new (GTK_WINDOW (delete_data->browser),
                                                   GTK_DIALOG_MODAL,
                                                   _("The folder is not empty, do you want to delete the 
folder and its content permanently?"),
-                                                  GTK_STOCK_CANCEL,
-                                                  GTK_STOCK_DELETE);
+                                                  _GTK_LABEL_CANCEL,
+                                                  _GTK_LABEL_DELETE);
                        response = gtk_dialog_run (GTK_DIALOG (d));
                        if (response == GTK_RESPONSE_YES) {
                                GthTask *task;
@@ -996,8 +996,8 @@ gth_browser_activate_folder_context_trash (GSimpleAction *action,
                        d = _gtk_yesno_dialog_new (GTK_WINDOW (browser),
                                                   GTK_DIALOG_MODAL,
                                                   _("The folder cannot be moved to the Trash. Do you want to 
delete it permanently?"),
-                                                  GTK_STOCK_CANCEL,
-                                                  GTK_STOCK_DELETE);
+                                                  _GTK_LABEL_CANCEL,
+                                                  _GTK_LABEL_DELETE);
                        g_signal_connect (d, "response", G_CALLBACK (delete_folder_permanently_response_cb), 
delete_data);
                        gtk_widget_show (d);
                }
@@ -1048,11 +1048,11 @@ gth_browser_activate_folder_context_delete (GSimpleAction *action,
 
        d = _gtk_message_dialog_new (GTK_WINDOW (browser),
                                     GTK_DIALOG_MODAL,
-                                    GTK_STOCK_DIALOG_QUESTION,
+                                    _GTK_ICON_NAME_DIALOG_QUESTION,
                                     prompt,
                                     _("If you delete a file, it will be permanently lost."),
-                                    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                    GTK_STOCK_DELETE, GTK_RESPONSE_YES,
+                                    _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                    _GTK_LABEL_DELETE, GTK_RESPONSE_YES,
                                     NULL);
        g_signal_connect (d, "response", G_CALLBACK (delete_folder_permanently_response_cb), delete_data);
        gtk_widget_show (d);
diff --git a/extensions/file_manager/callbacks.c b/extensions/file_manager/callbacks.c
index 0aa4971..d6e77ac 100644
--- a/extensions/file_manager/callbacks.c
+++ b/extensions/file_manager/callbacks.c
@@ -258,11 +258,11 @@ gth_file_list_drag_data_received (GtkWidget        *file_view,
 
                                dialog = _gtk_message_dialog_new (GTK_WINDOW (browser),
                                                                  GTK_DIALOG_MODAL,
-                                                                 GTK_STOCK_DIALOG_QUESTION,
+                                                                 _GTK_ICON_NAME_DIALOG_QUESTION,
                                                                  _("Could not move the files"),
                                                                  _("Files cannot be moved to the current 
location, as alternative you can choose to copy them."),
-                                                                 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                                                 GTK_STOCK_COPY, GTK_RESPONSE_OK,
+                                                                 _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                                                 _GTK_LABEL_COPY, GTK_RESPONSE_OK,
                                                                  NULL);
                                response = gtk_dialog_run (GTK_DIALOG (dialog));
                                gtk_widget_destroy (dialog);
@@ -712,11 +712,11 @@ fm__gth_browser_folder_tree_drag_data_received_cb (GthBrowser    *browser,
 
                dialog = _gtk_message_dialog_new (GTK_WINDOW (browser),
                                                  GTK_DIALOG_MODAL,
-                                                 GTK_STOCK_DIALOG_QUESTION,
+                                                 _GTK_ICON_NAME_DIALOG_QUESTION,
                                                  _("Could not move the files"),
                                                  _("Files cannot be moved to the current location, as 
alternative you can choose to copy them."),
-                                                 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                                 GTK_STOCK_COPY, GTK_RESPONSE_OK,
+                                                 _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                                 _GTK_LABEL_COPY, GTK_RESPONSE_OK,
                                                  NULL);
                response = gtk_dialog_run (GTK_DIALOG (dialog));
                gtk_widget_destroy (dialog);
diff --git a/extensions/find_duplicates/gth-find-duplicates.c 
b/extensions/find_duplicates/gth-find-duplicates.c
index 6aec567..8069b3c 100644
--- a/extensions/find_duplicates/gth-find-duplicates.c
+++ b/extensions/find_duplicates/gth-find-duplicates.c
@@ -1304,9 +1304,9 @@ gth_find_duplicates_exec (GthBrowser *browser,
        gtk_widget_show (self->priv->duplicates_list);
        gtk_container_add (GTK_CONTAINER (GET_WIDGET ("duplicates_list_box")), self->priv->duplicates_list);
 
-       self->priv->select_button = gth_menu_button_new ();
-       gth_menu_button_set_label (GTH_MENU_BUTTON (self->priv->select_button), _("Select"));
-       gtk_widget_show (self->priv->select_button);
+       self->priv->select_button = gtk_menu_button_new ();
+       gtk_container_add (GTK_CONTAINER (self->priv->select_button), gtk_label_new (_("Select")));
+       gtk_widget_show_all (self->priv->select_button);
        gtk_box_pack_start (GTK_BOX (GET_WIDGET ("select_button_box")), self->priv->select_button, FALSE, 
FALSE, 0);
 
        self->priv->select_menu = gtk_menu_new ();
@@ -1324,7 +1324,7 @@ gth_find_duplicates_exec (GthBrowser *browser,
 
                gtk_menu_shell_append (GTK_MENU_SHELL (self->priv->select_menu), menu_item);
        }
-       gth_menu_button_set_menu (GTH_MENU_BUTTON (self->priv->select_button), self->priv->select_menu);
+       gtk_menu_button_set_popup (GTK_MENU_BUTTON (self->priv->select_button), self->priv->select_menu);
 
        g_object_unref (settings);
 
diff --git a/extensions/find_duplicates/gth-folder-chooser-dialog.c 
b/extensions/find_duplicates/gth-folder-chooser-dialog.c
index 0e5443f..67ab101 100644
--- a/extensions/find_duplicates/gth-folder-chooser-dialog.c
+++ b/extensions/find_duplicates/gth-folder-chooser-dialog.c
@@ -115,10 +115,10 @@ gth_folder_chooser_dialog_init (GthFolderChooserDialog *self)
                          self);
 
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_CANCEL,
+                              _GTK_LABEL_CANCEL,
                               GTK_RESPONSE_CANCEL);
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_OK,
+                              _GTK_LABEL_OK,
                               GTK_RESPONSE_OK);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 }
diff --git a/extensions/gstreamer_tools/gth-media-viewer-page.c 
b/extensions/gstreamer_tools/gth-media-viewer-page.c
index 9b404e9..ebe41a3 100644
--- a/extensions/gstreamer_tools/gth-media-viewer-page.c
+++ b/extensions/gstreamer_tools/gth-media-viewer-page.c
@@ -232,7 +232,7 @@ video_area_draw_cb (GtkWidget *widget,
                cairo_fill (cr);
 
                cairo_move_to (cr, x, y);
-               gtk_style_context_get (style_context, gtk_widget_get_state (widget), "font", &font, NULL);
+               gtk_style_context_get (style_context, gtk_widget_get_state_flags (widget), "font", &font, 
NULL);
                pango_layout_set_font_description (self->priv->caption_layout, font);
                pango_cairo_layout_path (cr, self->priv->caption_layout);
                cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
diff --git a/extensions/gstreamer_utils/gstreamer-utils.c b/extensions/gstreamer_utils/gstreamer-utils.c
index 4865f66..088929b 100644
--- a/extensions/gstreamer_utils/gstreamer-utils.c
+++ b/extensions/gstreamer_utils/gstreamer-utils.c
@@ -71,7 +71,7 @@ static void
 reset_extractor_data (MetadataExtractor *extractor)
 {
        if (extractor->tagcache != NULL) {
-               gst_tag_list_free (extractor->tagcache);
+               gst_tag_list_unref (extractor->tagcache);
                extractor->tagcache = NULL;
        }
 
@@ -558,7 +558,7 @@ message_loop_to_state_change (MetadataExtractor *extractor,
                        gst_message_parse_tag (message, &tag_list);
                        result = gst_tag_list_merge (extractor->tagcache, tag_list, GST_TAG_MERGE_KEEP);
                        if (extractor->tagcache != NULL)
-                               gst_tag_list_free (extractor->tagcache);
+                               gst_tag_list_unref (extractor->tagcache);
                        extractor->tagcache = result;
 
                        gst_tag_list_free (tag_list);
diff --git a/extensions/image_rotation/rotation-utils.c b/extensions/image_rotation/rotation-utils.c
index d2a502e..94bb4af 100644
--- a/extensions/image_rotation/rotation-utils.c
+++ b/extensions/image_rotation/rotation-utils.c
@@ -105,7 +105,7 @@ ask_whether_to_trim (GtkWindow        *parent_window,
        msg = g_strdup_printf (_("Problem transforming the image: %s"), filename);
        data->dialog = _gtk_message_dialog_new (parent_window,
                                                GTK_DIALOG_MODAL,
-                                               GTK_STOCK_DIALOG_WARNING,
+                                               _GTK_ICON_NAME_DIALOG_WARNING,
                                                msg,
                                                _("This transformation may introduce small image distortions 
along "
                                                   "one or more edges, because the image dimensions are not 
multiples of 8.\n\nThe distortion "
@@ -114,7 +114,7 @@ ask_whether_to_trim (GtkWindow        *parent_window,
                                                  "untransformable edge pixels. For practical use, this mode 
gives the best looking results, "
                                                  "but the transformation is not strictly lossless anymore."),
                                                _("_Trim"), GTH_RESPONSE_TRIM,
-                                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                               _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
                                                _("_Accept distortion"), GTK_RESPONSE_OK,
                                                NULL);
        gtk_dialog_set_default_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK);
diff --git a/extensions/importer/gth-import-destination-button.c 
b/extensions/importer/gth-import-destination-button.c
index 299f813..59d0984 100644
--- a/extensions/importer/gth-import-destination-button.c
+++ b/extensions/importer/gth-import-destination-button.c
@@ -40,7 +40,7 @@ _update_subfolder_label_color (GthImportDestinationButton *self)
        if (! gtk_widget_get_realized (GTK_WIDGET (self)))
                return;
 
-       if ((gtk_widget_get_state (self->priv->subfolder_label) & GTK_STATE_INSENSITIVE) == 
GTK_STATE_INSENSITIVE) {
+       if ((gtk_widget_get_state_flags (self->priv->subfolder_label) & GTK_STATE_FLAG_INSENSITIVE) == 
GTK_STATE_FLAG_INSENSITIVE) {
                gtk_label_set_attributes (GTK_LABEL (self->priv->subfolder_label), NULL);
                gtk_widget_queue_resize (self->priv->subfolder_label);
        }
diff --git a/extensions/importer/gth-import-preferences-dialog.c 
b/extensions/importer/gth-import-preferences-dialog.c
index ff1a3d4..27c61b6 100644
--- a/extensions/importer/gth-import-preferences-dialog.c
+++ b/extensions/importer/gth-import-preferences-dialog.c
@@ -347,7 +347,7 @@ gth_import_preferences_dialog_init (GthImportPreferencesDialog *self)
        gtk_box_pack_start (GTK_BOX (GET_WIDGET ("subfolder_type_box")), self->priv->subfolder_format_list, 
TRUE, TRUE, 0);
 
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_CLOSE,
+                              _GTK_LABEL_CLOSE,
                               GTK_RESPONSE_CLOSE);
 
        /* set widget data */
diff --git a/extensions/importer/gth-import-task.c b/extensions/importer/gth-import-task.c
index 0683dce..dab3c92 100644
--- a/extensions/importer/gth-import-task.c
+++ b/extensions/importer/gth-import-task.c
@@ -616,10 +616,10 @@ import_current_file (GthImportTask *self)
 
                        d =  _gtk_message_dialog_new (GTK_WINDOW (self->priv->browser),
                                                      0,
-                                                     GTK_STOCK_DIALOG_WARNING,
+                                                     _GTK_ICON_NAME_DIALOG_WARNING,
                                                      _("No file imported"),
                                                      _("The selected files are already present in the 
destination."),
-                                                     GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL,
+                                                     _GTK_LABEL_CLOSE, GTK_RESPONSE_CANCEL,
                                                      NULL);
                        g_signal_connect (G_OBJECT (d), "response",
                                          G_CALLBACK (gtk_widget_destroy),
@@ -640,10 +640,10 @@ import_current_file (GthImportTask *self)
 
                                d =  _gtk_message_dialog_new (GTK_WINDOW (self->priv->browser),
                                                              0,
-                                                             GTK_STOCK_DIALOG_WARNING,
+                                                             _GTK_ICON_NAME_DIALOG_WARNING,
                                                              _("Could not delete the files"),
                                                              _("Delete operation not supported."),
-                                                             GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL,
+                                                             _GTK_LABEL_CLOSE, GTK_RESPONSE_CANCEL,
                                                              NULL);
                                g_signal_connect (G_OBJECT (d), "response",
                                                  G_CALLBACK (gtk_widget_destroy),
diff --git a/extensions/list_tools/dlg-personalize-scripts.c b/extensions/list_tools/dlg-personalize-scripts.c
index 8cc2b5c..3ed7826 100644
--- a/extensions/list_tools/dlg-personalize-scripts.c
+++ b/extensions/list_tools/dlg-personalize-scripts.c
@@ -457,11 +457,11 @@ delete_script_cb (GtkButton  *button,
 
        d = _gtk_message_dialog_new (GTK_WINDOW (data->dialog),
                                     GTK_DIALOG_MODAL,
-                                    GTK_STOCK_DIALOG_QUESTION,
+                                    _GTK_ICON_NAME_DIALOG_QUESTION,
                                     _("Are you sure you want to delete the selected command?"),
                                     NULL,
-                                    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                    GTK_STOCK_DELETE, GTK_RESPONSE_OK,
+                                    _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                    _GTK_LABEL_DELETE, GTK_RESPONSE_OK,
                                     NULL);
        result = gtk_dialog_run (GTK_DIALOG (d));
        gtk_widget_destroy (d);
diff --git a/extensions/list_tools/gth-script-editor-dialog.c 
b/extensions/list_tools/gth-script-editor-dialog.c
index e07cc0d..e236d59 100644
--- a/extensions/list_tools/gth-script-editor-dialog.c
+++ b/extensions/list_tools/gth-script-editor-dialog.c
@@ -127,9 +127,9 @@ gth_script_editor_dialog_construct (GthScriptEditorDialog *self,
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_SAVE, GTK_RESPONSE_OK);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_HELP, GTK_RESPONSE_HELP);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_SAVE, GTK_RESPONSE_OK);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_HELP, GTK_RESPONSE_HELP);
 
        self->priv->builder = gtk_builder_new_from_resource 
("/org/gnome/gThumb/list_tools/data/ui/script-editor.ui");
 
diff --git a/extensions/map_view/gth-map-view.c b/extensions/map_view/gth-map-view.c
index cd1e7a1..99c827e 100644
--- a/extensions/map_view/gth-map-view.c
+++ b/extensions/map_view/gth-map-view.c
@@ -297,11 +297,13 @@ gth_map_view_init (GthMapView *self)
                      NULL);
 
        scale = champlain_scale_new ();
+       g_object_set (scale,
+                     "x-align", CLUTTER_ACTOR_ALIGN_START,
+                     "y-align", CLUTTER_ACTOR_ALIGN_END,
+                     NULL);
        champlain_scale_connect_view (CHAMPLAIN_SCALE (scale), self->priv->map_view);
-       champlain_view_bin_layout_add (self->priv->map_view,
-                                      scale,
-                                      CLUTTER_BIN_ALIGNMENT_START,
-                                      CLUTTER_BIN_ALIGNMENT_END);
+       clutter_actor_add_child (CLUTTER_ACTOR (self->priv->map_view), scale);
+
 
        self->priv->marker_layer = champlain_marker_layer_new ();
        champlain_view_add_layer (self->priv->map_view, CHAMPLAIN_LAYER (self->priv->marker_layer));
diff --git a/extensions/oauth/oauth-account-chooser-dialog.c b/extensions/oauth/oauth-account-chooser-dialog.c
index 12788d8..8ae8ae5 100644
--- a/extensions/oauth/oauth-account-chooser-dialog.c
+++ b/extensions/oauth/oauth-account-chooser-dialog.c
@@ -150,13 +150,13 @@ oauth_account_chooser_dialog_init (OAuthAccountChooserDialog *self)
                          self);
 
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_NEW,
+                              _("_New"),
                               OAUTH_ACCOUNT_CHOOSER_RESPONSE_NEW);
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_CANCEL,
+                              _GTK_LABEL_CANCEL,
                               GTK_RESPONSE_CANCEL);
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_OK,
+                              _GTK_LABEL_OK,
                               GTK_RESPONSE_OK);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 }
@@ -185,7 +185,7 @@ oauth_account_chooser_dialog_construct (OAuthAccountChooserDialog *self,
                                    ACCOUNT_DATA_COLUMN, account,
                                    ACCOUNT_NAME_COLUMN, account->username,
                                    ACCOUNT_SEPARATOR_COLUMN, FALSE,
-                                   ACCOUNT_ICON_COLUMN, "dialog-password",
+                                   ACCOUNT_ICON_COLUMN, "dialog-password-symbolic",
                                    -1);
        }
 
@@ -199,7 +199,7 @@ oauth_account_chooser_dialog_construct (OAuthAccountChooserDialog *self,
                            ACCOUNT_DATA_COLUMN, NULL,
                            ACCOUNT_NAME_COLUMN, _("New authentication…"),
                            ACCOUNT_SEPARATOR_COLUMN, FALSE,
-                           ACCOUNT_ICON_COLUMN, GTK_STOCK_NEW,
+                           ACCOUNT_ICON_COLUMN, "list-add-symbolic",
                            -1);
 
        gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("account_combobox")), active);
diff --git a/extensions/oauth/oauth-account-manager-dialog.c b/extensions/oauth/oauth-account-manager-dialog.c
index 6a2e9d5..0de0178 100644
--- a/extensions/oauth/oauth-account-manager-dialog.c
+++ b/extensions/oauth/oauth-account-manager-dialog.c
@@ -137,13 +137,13 @@ oauth_account_manager_dialog_init (OAuthAccountManagerDialog *self)
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 
0);
 
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_NEW,
+                              _("_New"),
                               OAUTH_ACCOUNT_MANAGER_RESPONSE_NEW);
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_CANCEL,
+                              _GTK_LABEL_CANCEL,
                               GTK_RESPONSE_CANCEL);
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_OK,
+                              _GTK_LABEL_OK,
                               GTK_RESPONSE_OK);
 
        g_object_set (GET_WIDGET ("account_cellrenderertext"), "editable", TRUE, NULL);
diff --git a/extensions/oauth/oauth-ask-authorization-dialog.c 
b/extensions/oauth/oauth-ask-authorization-dialog.c
index 28abe65..44fc444 100644
--- a/extensions/oauth/oauth-ask-authorization-dialog.c
+++ b/extensions/oauth/oauth-ask-authorization-dialog.c
@@ -231,7 +231,7 @@ oauth_ask_authorization_dialog_init (OAuthAskAuthorizationDialog *self)
                          self);
 
        gtk_dialog_add_button (GTK_DIALOG (self),
-                              GTK_STOCK_CANCEL,
+                              _GTK_LABEL_CANCEL,
                               GTK_RESPONSE_CANCEL);
 }
 
diff --git a/extensions/oauth/web-service.c b/extensions/oauth/web-service.c
index 6025679..0968a38 100644
--- a/extensions/oauth/web-service.c
+++ b/extensions/oauth/web-service.c
@@ -372,11 +372,11 @@ show_authentication_error_dialog (WebService  *self,
 
        dialog = _gtk_message_dialog_new (GTK_WINDOW (self->priv->browser),
                                          GTK_DIALOG_MODAL,
-                                         GTK_STOCK_DIALOG_ERROR,
+                                         _GTK_ICON_NAME_DIALOG_ERROR,
                                          _("Could not connect to the server"),
                                          (*error)->message,
                                          _("Choose _Account…"), WEB_AUTHENTICATION_RESPONSE_CHOOSE_ACCOUNT,
-                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                         _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
                                          NULL);
        gth_task_dialog (GTH_TASK (self), TRUE, dialog);
 
diff --git a/extensions/photo_importer/actions.c b/extensions/photo_importer/actions.c
index 45b8449..56054bc 100644
--- a/extensions/photo_importer/actions.c
+++ b/extensions/photo_importer/actions.c
@@ -70,7 +70,7 @@ gth_browser_activate_import_folder (GSimpleAction     *action,
        chooser = gtk_file_chooser_dialog_new (_("Choose a folder"),
                                               GTK_WINDOW (browser),
                                               GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
-                                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                              _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
                                               _("Import"), GTK_RESPONSE_OK,
                                               NULL);
        gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (chooser), FALSE);
diff --git a/extensions/photo_importer/actions.h b/extensions/photo_importer/actions.h
index df3bb2a..302c452 100644
--- a/extensions/photo_importer/actions.h
+++ b/extensions/photo_importer/actions.h
@@ -24,11 +24,6 @@
 
 #include <gthumb.h>
 
-#define DEFINE_ACTION(x) void x (GtkAction *action, gpointer data);
-
-DEFINE_ACTION(gth_browser_activate_action_import_from_device)
-DEFINE_ACTION(gth_browser_activate_action_import_from_folder)
-
 DEF_ACTION_CALLBACK (gth_browser_activate_import_device)
 DEF_ACTION_CALLBACK (gth_browser_activate_import_folder)
 
diff --git a/extensions/photobucket/photobucket-album-properties-dialog.c 
b/extensions/photobucket/photobucket-album-properties-dialog.c
index 637bee4..1582af2 100644
--- a/extensions/photobucket/photobucket-album-properties-dialog.c
+++ b/extensions/photobucket/photobucket-album-properties-dialog.c
@@ -84,8 +84,8 @@ photobucket_album_properties_dialog_init (PhotobucketAlbumPropertiesDialog *self
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 
0);
 
        gtk_dialog_add_buttons (GTK_DIALOG (self),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_OK, GTK_RESPONSE_OK,
+                               _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                               _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                NULL);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 
diff --git a/extensions/picasaweb/picasa-album-properties-dialog.c 
b/extensions/picasaweb/picasa-album-properties-dialog.c
index e5a52fe..f823cec 100644
--- a/extensions/picasaweb/picasa-album-properties-dialog.c
+++ b/extensions/picasaweb/picasa-album-properties-dialog.c
@@ -76,8 +76,8 @@ picasa_album_properties_dialog_init (PicasaAlbumPropertiesDialog *self)
        gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 
0);
 
        gtk_dialog_add_buttons (GTK_DIALOG (self),
-                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                               GTK_STOCK_OK, GTK_RESPONSE_OK,
+                               _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                               _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                NULL);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 }
diff --git a/extensions/rename_series/dlg-rename-series.c b/extensions/rename_series/dlg-rename-series.c
index 9b1ffc6..a0c864b 100644
--- a/extensions/rename_series/dlg-rename-series.c
+++ b/extensions/rename_series/dlg-rename-series.c
@@ -685,10 +685,10 @@ update_preview__step2 (GError   *error,
 
                d = _gtk_message_dialog_new (GTK_WINDOW (data->dialog),
                                             GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                            GTK_STOCK_DIALOG_ERROR,
+                                            _GTK_ICON_NAME_DIALOG_ERROR,
                                             _("Could not rename the files"),
                                             error->message,
-                                            GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                            _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                             NULL);
                g_signal_connect (d, "response", G_CALLBACK (error_dialog_response_cb), data);
                gtk_window_present (GTK_WINDOW (d));
diff --git a/extensions/rename_series/gth-template-editor-dialog.c 
b/extensions/rename_series/gth-template-editor-dialog.c
index 9b9d8ab..f29122e 100644
--- a/extensions/rename_series/gth-template-editor-dialog.c
+++ b/extensions/rename_series/gth-template-editor-dialog.c
@@ -162,8 +162,8 @@ gth_template_editor_dialog_construct (GthTemplateEditorDialog *self,
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_OK, GTK_RESPONSE_OK);
 
        self->priv->content = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
        gtk_container_set_border_width (GTK_CONTAINER (self->priv->content), 5);
diff --git a/extensions/search/actions.c b/extensions/search/actions.c
index 8505cd9..8317cd5 100644
--- a/extensions/search/actions.c
+++ b/extensions/search/actions.c
@@ -76,8 +76,8 @@ gth_browser_activate_find (GSimpleAction *action,
        gth_search_set_recursive (search, TRUE);
 
        dialog = gth_search_editor_dialog_new (_("Find"), search, GTK_WINDOW (browser));
-       gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_FIND, GTK_RESPONSE_OK);
+       gtk_dialog_add_button (GTK_DIALOG (dialog), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (dialog), _("_Find"), GTK_RESPONSE_OK);
 
        g_signal_connect (dialog, "response",
                          G_CALLBACK (search_editor_dialog__response_cb),
diff --git a/extensions/slideshow/gth-slideshow-preferences.c 
b/extensions/slideshow/gth-slideshow-preferences.c
index 859caba..e7c8d1b 100644
--- a/extensions/slideshow/gth-slideshow-preferences.c
+++ b/extensions/slideshow/gth-slideshow-preferences.c
@@ -184,8 +184,8 @@ add_file_button_clicked_cb (GtkButton *button,
        dialog = gtk_file_chooser_dialog_new (_("Choose the files to play"),
                                              GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))),
                                              GTK_FILE_CHOOSER_ACTION_OPEN,
-                                             GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                             GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                             _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                             _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                              NULL);
        gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), TRUE);
        gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), g_get_user_special_dir 
(G_USER_DIRECTORY_MUSIC));
diff --git a/extensions/slideshow/gth-slideshow.c b/extensions/slideshow/gth-slideshow.c
index 8797b7d..06f1931 100644
--- a/extensions/slideshow/gth-slideshow.c
+++ b/extensions/slideshow/gth-slideshow.c
@@ -487,7 +487,7 @@ _gth_slideshow_construct (GthSlideshow *self,
                                                             NULL);
        if (self->priv->pause_pixbuf == NULL)
                self->priv->pause_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
-                                                                    GTK_STOCK_MEDIA_PAUSE,
+                                                                    "media-playback-pause-symbolic",
                                                                     100,
                                                                     0,
                                                                     NULL);
@@ -1208,11 +1208,11 @@ clutter_projector_construct (GthSlideshow *self)
                                                     self->priv->pause_pixbuf,
                                                     NULL);
        else
-               gtk_clutter_texture_set_from_stock (GTK_CLUTTER_TEXTURE (self->priv->paused_actor),
-                                                   GTK_WIDGET (self),
-                                                   GTK_STOCK_MEDIA_PAUSE,
-                                                   GTK_ICON_SIZE_DIALOG,
-                                                   NULL);
+               gtk_clutter_texture_set_from_icon_name (GTK_CLUTTER_TEXTURE (self->priv->paused_actor),
+                                                       GTK_WIDGET (self),
+                                                       "media-playback-pause-symbolic",
+                                                       GTK_ICON_SIZE_DIALOG,
+                                                       NULL);
        clutter_actor_hide (self->priv->paused_actor);
        clutter_actor_add_child (CLUTTER_ACTOR (self->stage), self->priv->paused_actor);
 
diff --git a/extensions/webalbums/gth-web-exporter.c b/extensions/webalbums/gth-web-exporter.c
index b49eab3..e1aee40 100644
--- a/extensions/webalbums/gth-web-exporter.c
+++ b/extensions/webalbums/gth-web-exporter.c
@@ -1832,10 +1832,10 @@ delete_temp_dir_ready_cb (GError   *error,
 
        dialog = _gtk_message_dialog_new (GTK_WINDOW (self->priv->browser),
                                          GTK_DIALOG_MODAL,
-                                         GTK_MESSAGE_INFO,
+                                         _GTK_ICON_NAME_DIALOG_INFO,
                                          _("The album has been created successfully."),
                                          NULL,
-                                         GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+                                         _GTK_LABEL_CLOSE, GTK_RESPONSE_CLOSE,
                                          _("_Open in the Browser"), _OPEN_IN_BROWSER_RESPONSE,
                                          _("_View the destination"), _OPEN_FOLDER_RESPONSE,
                                          NULL);
diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am
index 61ebdd7..4618d0e 100644
--- a/gthumb/Makefile.am
+++ b/gthumb/Makefile.am
@@ -80,8 +80,6 @@ PUBLIC_HEADER_FILES =                                         \
        gth-location-bar.h                              \
        gth-location-chooser.h                          \
        gth-main.h                                      \
-       gth-menu-action.h                               \
-       gth-menu-button.h                               \
        gth-menu-manager.h                              \
        gth-metadata.h                                  \
        gth-metadata-chooser.h                          \
@@ -99,7 +97,6 @@ PUBLIC_HEADER_FILES =                                         \
        gth-sidebar.h                                   \
        gth-statusbar.h                                 \
        gth-source-tree.h                               \
-       gth-stock.h                                     \
        gth-string-list.h                               \
        gth-tags-entry.h                                \
        gth-tags-file.h                                 \
@@ -219,8 +216,6 @@ gthumb_SOURCES =                                    \
        gth-main-default-sort-types.c                   \
        gth-main-default-tests.c                        \
        gth-main-default-types.c                        \
-       gth-menu-action.c                               \
-       gth-menu-button.c                               \
        gth-menu-manager.c                              \
        gth-metadata.c                                  \
        gth-metadata-chooser.c                          \
diff --git a/gthumb/dlg-preferences-extensions.c b/gthumb/dlg-preferences-extensions.c
index 18998ea..dfa6da5 100644
--- a/gthumb/dlg-preferences-extensions.c
+++ b/gthumb/dlg-preferences-extensions.c
@@ -795,7 +795,7 @@ extensions__dlg_preferences_apply (GtkWidget  *dialog,
 
                dialog = _gtk_message_dialog_new (GTK_WINDOW (data->dialog),
                                                  GTK_DIALOG_MODAL,
-                                                 GTK_STOCK_DIALOG_WARNING,
+                                                 _GTK_ICON_NAME_DIALOG_WARNING,
                                                  _("Restart required"),
                                                  _("You need to restart gthumb for these changes to take 
effect"),
                                                  _("_Continue"), GTK_RESPONSE_CANCEL,
diff --git a/gthumb/gth-browser-actions-entries.h b/gthumb/gth-browser-actions-entries.h
index bcf81bd..1df6793 100644
--- a/gthumb/gth-browser-actions-entries.h
+++ b/gthumb/gth-browser-actions-entries.h
@@ -24,7 +24,6 @@
 
 #include <config.h>
 #include <glib/gi18n.h>
-#include "gth-stock.h"
 #include "gtk-utils.h"
 
 
diff --git a/gthumb/gth-browser.c b/gthumb/gth-browser.c
index e1c1441..d10ac54 100644
--- a/gthumb/gth-browser.c
+++ b/gthumb/gth-browser.c
@@ -47,7 +47,6 @@
 #include "gth-location-chooser.h"
 #include "gth-main.h"
 #include "gth-marshal.h"
-#include "gth-menu-action.h"
 #include "gth-metadata-provider.h"
 #include "gth-paned.h"
 #include "gth-preferences.h"
@@ -975,7 +974,7 @@ _gth_browser_show_error (GthBrowser *browser,
        gtk_info_bar_set_message_type (GTK_INFO_BAR (browser->priv->infobar), GTK_MESSAGE_ERROR);
        _gtk_info_bar_clear_action_area (GTK_INFO_BAR (browser->priv->infobar));
        gtk_info_bar_add_buttons (GTK_INFO_BAR (browser->priv->infobar),
-                                 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+                                 _GTK_LABEL_CLOSE, GTK_RESPONSE_CLOSE,
                                  NULL);
        gtk_widget_show (browser->priv->infobar);
 }
@@ -1876,12 +1875,12 @@ gth_browser_ask_whether_to_save (GthBrowser         *browser,
        title = g_strdup_printf (_("Save changes to file '%s'?"), g_file_info_get_display_name 
(browser->priv->current_file->info));
        d = _gtk_message_dialog_new (GTK_WINDOW (browser),
                                     GTK_DIALOG_MODAL,
-                                    GTK_STOCK_DIALOG_QUESTION,
+                                    _GTK_ICON_NAME_DIALOG_QUESTION,
                                     title,
                                     _("If you don't save, changes to the file will be permanently lost."),
                                     _("Do _Not Save"), RESPONSE_NO_SAVE,
-                                    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                    GTK_STOCK_SAVE, RESPONSE_SAVE,
+                                    _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                    _GTK_LABEL_SAVE, RESPONSE_SAVE,
                                     NULL);
        g_signal_connect (G_OBJECT (d),
                          "response",
diff --git a/gthumb/gth-empty-list.c b/gthumb/gth-empty-list.c
index 833de55..ff8b892 100644
--- a/gthumb/gth-empty-list.c
+++ b/gthumb/gth-empty-list.c
@@ -233,9 +233,9 @@ gth_empty_list_draw (GtkWidget *widget,
                pango_layout_set_width (self->priv->layout, allocation.width * PANGO_SCALE);
                pango_layout_set_text (self->priv->layout, self->priv->text, strlen (self->priv->text));
                pango_layout_get_pixel_extents (self->priv->layout, NULL, &bounds);
-               gtk_style_context_get (style_context, gtk_widget_get_state (widget), "font", &font, NULL);
+               gtk_style_context_get (style_context, gtk_widget_get_state_flags (widget), "font", &font, 
NULL);
                pango_layout_set_font_description (self->priv->layout, font);
-               gtk_style_context_get_color (style_context, gtk_widget_get_state (widget), &color);
+               gtk_style_context_get_color (style_context, gtk_widget_get_state_flags (widget), &color);
                gdk_cairo_set_source_rgba (cr, &color);
                gtk_render_layout (style_context, cr, 0, (allocation.height - bounds.height) / 2, 
self->priv->layout);
                cairo_fill (cr);
diff --git a/gthumb/gth-file-chooser-dialog.c b/gthumb/gth-file-chooser-dialog.c
index 29328a8..57cc6df 100644
--- a/gthumb/gth-file-chooser-dialog.c
+++ b/gthumb/gth-file-chooser-dialog.c
@@ -135,8 +135,8 @@ gth_file_chooser_dialog_construct (GthFileChooserDialog *self,
 
        _gtk_dialog_add_to_window_group (GTK_DIALOG (self));
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_SAVE, GTK_RESPONSE_OK);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_SAVE, GTK_RESPONSE_OK);
 
        /* filters */
 
@@ -252,8 +252,8 @@ _gth_file_chooser_change_format_options (GthFileChooserDialog *self,
        d = gtk_dialog_new_with_buttons (_("Options"),
                                         GTK_WINDOW (self),
                                         GTK_DIALOG_MODAL,
-                                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                        GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                        _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                        _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                         NULL);
        _gtk_dialog_add_to_window_group (GTK_DIALOG (d));
 
diff --git a/gthumb/gth-file-properties.c b/gthumb/gth-file-properties.c
index 37b5350..a57adf9 100644
--- a/gthumb/gth-file-properties.c
+++ b/gthumb/gth-file-properties.c
@@ -28,6 +28,7 @@
 #include "gth-sidebar.h"
 #include "gth-string-list.h"
 #include "gth-time.h"
+#include "gtk-utils.h"
 
 
 #define GTH_FILE_PROPERTIES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTH_TYPE_FILE_PROPERTIES, 
GthFilePropertiesPrivate))
@@ -369,7 +370,7 @@ gth_file_properties_init (GthFileProperties *self)
        /* popup menu */
 
        self->priv->popup_menu = gtk_menu_new ();
-       menu_item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
+       menu_item = gtk_menu_item_new_with_label (_GTK_LABEL_COPY);
        gtk_widget_show (menu_item);
        gtk_menu_shell_append (GTK_MENU_SHELL (self->priv->popup_menu),
                               menu_item);
diff --git a/gthumb/gth-file-source-vfs.c b/gthumb/gth-file-source-vfs.c
index 2caa9d9..adc6769 100644
--- a/gthumb/gth-file-source-vfs.c
+++ b/gthumb/gth-file-source-vfs.c
@@ -750,8 +750,8 @@ trash_files (GtkWindow *window,
                                d = _gtk_yesno_dialog_new (window,
                                                           GTK_DIALOG_MODAL,
                                                           _("The files cannot be moved to the Trash. Do you 
want to delete them permanently?"),
-                                                          GTK_STOCK_CANCEL,
-                                                          GTK_STOCK_DELETE);
+                                                          _GTK_LABEL_CANCEL,
+                                                          _GTK_LABEL_DELETE);
                                g_signal_connect (d,
                                                  "response",
                                                  G_CALLBACK (delete_permanently_response_cb),
@@ -819,10 +819,10 @@ gth_file_mananger_trash_files (GtkWindow *window,
 
                d = _gtk_message_dialog_new (window,
                                             GTK_DIALOG_MODAL,
-                                            GTK_STOCK_DIALOG_QUESTION,
+                                            _GTK_ICON_NAME_DIALOG_QUESTION,
                                             prompt,
                                             NULL,
-                                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                            _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
                                             _("Mo_ve to Trash"), GTK_RESPONSE_YES,
                                             NULL);
                g_signal_connect (d, "response",
@@ -862,11 +862,11 @@ gth_file_mananger_delete_files (GtkWindow *window,
 
        d = _gtk_message_dialog_new (window,
                                     GTK_DIALOG_MODAL,
-                                    GTK_STOCK_DIALOG_QUESTION,
+                                    _GTK_ICON_NAME_DIALOG_QUESTION,
                                     prompt,
                                     _("If you delete a file, it will be permanently lost."),
-                                    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                    GTK_STOCK_DELETE, GTK_RESPONSE_YES,
+                                    _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL,
+                                    _GTK_LABEL_DELETE, GTK_RESPONSE_YES,
                                     NULL);
        g_signal_connect (d, "response", G_CALLBACK (delete_permanently_response_cb), file_list);
        gtk_widget_show (d);
diff --git a/gthumb/gth-filter-editor-dialog.c b/gthumb/gth-filter-editor-dialog.c
index da9baed..4c75613 100644
--- a/gthumb/gth-filter-editor-dialog.c
+++ b/gthumb/gth-filter-editor-dialog.c
@@ -149,8 +149,8 @@ gth_filter_editor_dialog_construct (GthFilterEditorDialog *self,
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_SAVE, GTK_RESPONSE_OK);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_SAVE, GTK_RESPONSE_OK);
 
        self->priv->builder = _gtk_builder_new_from_file ("filter-editor.ui", NULL);
 
diff --git a/gthumb/gth-folder-tree.c b/gthumb/gth-folder-tree.c
index b116ddc..6c9fa4e 100644
--- a/gthumb/gth-folder-tree.c
+++ b/gthumb/gth-folder-tree.c
@@ -782,11 +782,13 @@ motion_notify_event_cb (GtkWidget      *widget,
 
                        /**/
 
-                       context = gtk_drag_begin (widget,
-                                                 folder_tree->priv->drag_target_list,
-                                                 folder_tree->priv->drag_actions,
-                                                 1,
-                                                 (GdkEvent *) event);
+                       context = gtk_drag_begin_with_coordinates (widget,
+                                                                  folder_tree->priv->drag_target_list,
+                                                                  folder_tree->priv->drag_actions,
+                                                                  1,
+                                                                  (GdkEvent *) event,
+                                                                  -1,
+                                                                  -1);
 
                        dnd_surface = gtk_tree_view_create_row_drag_icon (GTK_TREE_VIEW (folder_tree), path);
                        gtk_drag_set_icon_surface (context, dnd_surface);
diff --git a/gthumb/gth-grid-view.c b/gthumb/gth-grid-view.c
index 68282cf..f46b9af 100644
--- a/gthumb/gth-grid-view.c
+++ b/gthumb/gth-grid-view.c
@@ -3130,19 +3130,22 @@ gth_grid_view_motion_notify (GtkWidget      *widget,
                        /**/
 
                        self->priv->drag_started = TRUE;
-                       context = gtk_drag_begin (widget,
-                                                 self->priv->drag_target_list,
-                                                 self->priv->drag_actions,
-                                                 self->priv->drag_button,
-                                                 (GdkEvent *) event);
+                       context = gtk_drag_begin_with_coordinates (widget,
+                                                                  self->priv->drag_target_list,
+                                                                  self->priv->drag_actions,
+                                                                  self->priv->drag_button,
+                                                                  (GdkEvent *) event,
+                                                                  -1,
+                                                                  -1);
                        if (self->priv->drag_button == 2)
                                gdk_drag_status (context, GDK_ACTION_ASK, event->time);
 
                        /* FIXME: create a cool drag icon here */
                        multi_dnd = self->priv->selection->next != NULL;
-                       gtk_drag_set_icon_stock (context,
-                                                multi_dnd ? GTK_STOCK_DND_MULTIPLE : GTK_STOCK_DND,
-                                                -4, -4);
+                       gtk_drag_set_icon_name (context,
+                                               multi_dnd ? "emblem-documents-symbolic" : 
"folder-documents-symbolic",
+                                               -4,
+                                               -4);
                }
 
                return TRUE;
diff --git a/gthumb/gth-histogram-view.c b/gthumb/gth-histogram-view.c
index b3741f8..be32021 100644
--- a/gthumb/gth-histogram-view.c
+++ b/gthumb/gth-histogram-view.c
@@ -510,7 +510,7 @@ gth_histogram_paint_grid (GthHistogramView *self,
        int     i;
 
        gtk_style_context_get_border_color (style_context,
-                                           gtk_widget_get_state (GTK_WIDGET (self)),
+                                           gtk_widget_get_state_flags (GTK_WIDGET (self)),
                                            &color);
        gdk_cairo_set_source_rgba (cr, &color);
        cairo_set_line_width (cr, 0.5);
@@ -577,7 +577,7 @@ histogram_view_draw_cb (GtkWidget *widget,
 
                cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
 
-               gtk_style_context_get_padding (style_context, gtk_widget_get_state (widget), &padding);
+               gtk_style_context_get_padding (style_context, gtk_widget_get_state_flags (widget), &padding);
 
                inner_allocation.x = padding.left;
                inner_allocation.y = padding.top;
diff --git a/gthumb/gth-image-overview.c b/gthumb/gth-image-overview.c
index b27d968..9ee328b 100644
--- a/gthumb/gth-image-overview.c
+++ b/gthumb/gth-image-overview.c
@@ -724,14 +724,10 @@ gth_image_overview_activate_scrolling (GthImageOverview   *self,
                                 event->time);
                g_object_unref (cursor);
 
-               /* capture keyboard events. */
-
-               gdk_keyboard_grab (gtk_widget_get_window (GTK_WIDGET (self)), FALSE, event->time);
                gtk_widget_grab_focus (GTK_WIDGET (self));
        }
        else if (! active && self->priv->scrolling_active) {
                gdk_device_ungrab (gdk_event_get_device ((GdkEvent *) event), event->time);
-               gdk_keyboard_ungrab (event->time);
                gtk_grab_remove (GTK_WIDGET (self));
        }
 
diff --git a/gthumb/gth-overwrite-dialog.c b/gthumb/gth-overwrite-dialog.c
index 36c0efb..c4eb4c6 100644
--- a/gthumb/gth-overwrite-dialog.c
+++ b/gthumb/gth-overwrite-dialog.c
@@ -246,8 +246,8 @@ gth_overwrite_dialog_construct (GthOverwriteDialog   *self,
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_OK, GTK_RESPONSE_OK);
        gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
 
        self->priv->builder = _gtk_builder_new_from_file ("overwrite-dialog.ui", NULL);
diff --git a/gthumb/gth-progress-dialog.c b/gthumb/gth-progress-dialog.c
index 83f116d..d09837c 100644
--- a/gthumb/gth-progress-dialog.c
+++ b/gthumb/gth-progress-dialog.c
@@ -146,7 +146,7 @@ gth_task_progress_init (GthTaskProgress *self)
        gtk_widget_set_tooltip_text (self->cancel_button, _("Cancel operation"));
        gtk_box_pack_start (GTK_BOX (vbox), self->cancel_button, TRUE, FALSE, 0);
 
-       image = gtk_image_new_from_stock (GTK_STOCK_CANCEL, GTK_ICON_SIZE_MENU);
+       image = gtk_image_new_from_icon_name (_GTK_LABEL_CANCEL, GTK_ICON_SIZE_MENU);
        gtk_widget_show (image);
        gtk_container_add (GTK_CONTAINER (self->cancel_button), image);
 
@@ -298,7 +298,7 @@ gth_progress_dialog_init (GthProgressDialog *self)
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5);
        gtk_container_set_border_width (GTK_CONTAINER (self), 5);
 
-       gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+       gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CLOSE, GTK_RESPONSE_CLOSE);
 
        self->priv->task_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
        gtk_widget_show (self->priv->task_box);
diff --git a/gthumb/gth-request-dialog.c b/gthumb/gth-request-dialog.c
index 73a3f75..04b293a 100644
--- a/gthumb/gth-request-dialog.c
+++ b/gthumb/gth-request-dialog.c
@@ -97,7 +97,7 @@ _gth_request_dialog_construct (GthRequestDialog *self,
 
        /* Add label and image */
 
-       image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
+       image = gtk_image_new_from_icon_name (_GTK_ICON_NAME_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
        gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
 
        title_label = gtk_label_new (title);
@@ -161,12 +161,12 @@ _gth_request_dialog_construct (GthRequestDialog *self,
 
        /* Add buttons */
 
-       button = _gtk_button_new_from_stock_with_text (GTK_STOCK_CANCEL, cancel_button_text);
+       button = gtk_button_new_with_label (cancel_button_text);
        gtk_dialog_add_action_widget (GTK_DIALOG (self),
                                      button,
                                      GTK_RESPONSE_CANCEL);
 
-       button = _gtk_button_new_from_stock_with_text (GTK_STOCK_OK, ok_button_text);
+       button = gtk_button_new_with_label (ok_button_text);
        gtk_dialog_add_action_widget (GTK_DIALOG (self),
                                      button,
                                      GTK_RESPONSE_OK);
diff --git a/gthumb/gth-test-selector.c b/gthumb/gth-test-selector.c
index c3d0225..a62fe42 100644
--- a/gthumb/gth-test-selector.c
+++ b/gthumb/gth-test-selector.c
@@ -246,8 +246,7 @@ gth_test_selector_construct (GthTestSelector *self,
 
        /**/
 
-       self->priv->add_button = gtk_button_new ();
-       gtk_container_add (GTK_CONTAINER (self->priv->add_button), gtk_image_new_from_stock (GTK_STOCK_ADD, 
GTK_ICON_SIZE_BUTTON));
+       self->priv->add_button = gtk_button_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON);
        gtk_button_set_relief (GTK_BUTTON (self->priv->add_button), GTK_RELIEF_NONE);
        gtk_widget_set_tooltip_text (self->priv->add_button, _("Add a new rule"));
        gtk_widget_show_all (self->priv->add_button);
@@ -257,8 +256,7 @@ gth_test_selector_construct (GthTestSelector *self,
                          G_CALLBACK (add_button_clicked_cb),
                          self);
 
-       self->priv->remove_button = gtk_button_new ();
-       gtk_container_add (GTK_CONTAINER (self->priv->remove_button), gtk_image_new_from_stock 
(GTK_STOCK_REMOVE, GTK_ICON_SIZE_BUTTON));
+       self->priv->remove_button = gtk_button_new_from_icon_name ("list-remove-symbolic", 
GTK_ICON_SIZE_BUTTON);
        gtk_button_set_relief (GTK_BUTTON (self->priv->remove_button), GTK_RELIEF_NONE);
        gtk_widget_set_tooltip_text (self->priv->remove_button, _("Remove this rule"));
        gtk_widget_show_all (self->priv->remove_button);
diff --git a/gthumb/gth-time-selector.c b/gthumb/gth-time-selector.c
index 504ed7a..4f7c142 100644
--- a/gthumb/gth-time-selector.c
+++ b/gthumb/gth-time-selector.c
@@ -110,7 +110,6 @@ static void
 hide_calendar_popup (GthTimeSelector *self)
 {
        gtk_grab_remove (self->priv->calendar_popup);
-       /*gdk_keyboard_ungrab (GDK_CURRENT_TIME);*/
        gdk_device_ungrab (gdk_device_manager_get_client_pointer (gdk_display_get_device_manager 
(gdk_window_get_display (gtk_widget_get_window (self->priv->calendar_popup)))),
                           GDK_CURRENT_TIME);
        gtk_widget_hide (self->priv->calendar_popup);
@@ -157,7 +156,6 @@ show_calendar_popup (GthTimeSelector *self)
        gtk_window_move (GTK_WINDOW (self->priv->calendar_popup), x, y);
        gtk_widget_show (self->priv->calendar_popup);
 
-       /*gdk_keyboard_grab (gtk_widget_get_window (self->priv->calendar_popup), TRUE, GDK_CURRENT_TIME);*/
        gtk_grab_add (self->priv->calendar_popup);
        gdk_device_grab (gdk_device_manager_get_client_pointer (gdk_display_get_device_manager 
(gdk_window_get_display (gtk_widget_get_window (self->priv->calendar_popup)))),
                         gtk_widget_get_window (self->priv->calendar_popup),
diff --git a/gthumb/gtk-utils.c b/gthumb/gtk-utils.c
index 46ad975..46d3575 100644
--- a/gthumb/gtk-utils.c
+++ b/gthumb/gtk-utils.c
@@ -30,95 +30,10 @@
 #define GTHUMB_RESOURCE_BASE_PATH "/org/gnome/gThumb/resources/"
 
 
-void
-_gtk_action_group_add_actions_with_flags (GtkActionGroup          *action_group,
-                                         const GthActionEntryExt *entries,
-                                         guint                    n_entries,
-                                         gpointer                 user_data)
-{
-       guint i;
-
-       g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
-
-       for (i = 0; i < n_entries; i++) {
-               GtkAction  *action;
-               const char *label;
-               const char *tooltip;
-
-               label = gtk_action_group_translate_string (action_group, entries[i].label);
-               tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
-
-               action = gtk_action_new (entries[i].name,
-                                        label,
-                                        tooltip,
-                                        NULL);
-
-               if (entries[i].stock_id) {
-                       g_object_set (action, "stock-id", entries[i].stock_id, NULL);
-                       if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), entries[i].stock_id))
-                               g_object_set (action, "icon-name", entries[i].stock_id, NULL);
-               }
-
-               if (entries[i].callback) {
-                       GClosure *closure;
-
-                       closure = g_cclosure_new (entries[i].callback, user_data, NULL);
-                       g_signal_connect_closure (action, "activate", closure, FALSE);
-               }
-
-               gtk_action_group_add_action_with_accel (action_group,
-                                                       action,
-                                                       entries[i].accelerator);
-
-               if (entries[i].flags & GTH_ACTION_FLAG_ALWAYS_SHOW_IMAGE)
-                       gtk_action_set_always_show_image (action, TRUE);
-
-               if (entries[i].flags & GTH_ACTION_FLAG_IS_IMPORTANT)
-                       gtk_action_set_is_important (action, TRUE);
-
-               g_object_unref (action);
-       }
-}
-
-
-GtkWidget *
-_gtk_button_new_from_stock_with_text (const char *stock_id,
-                                     const char *text)
-{
-       GtkWidget    *button;
-       GtkWidget    *image;
-       const char   *label_text;
-       gboolean      text_is_stock;
-       GtkStockItem  stock_item;
-
-       button = gtk_button_new ();
-
-       if (gtk_stock_lookup (text, &stock_item)) {
-               label_text = stock_item.label;
-               text_is_stock = TRUE;
-       }
-       else {
-               label_text = text;
-               text_is_stock = FALSE;
-       }
-
-       image = gtk_image_new_from_stock (text_is_stock ? text : stock_id, GTK_ICON_SIZE_BUTTON);
-       gtk_button_set_image (GTK_BUTTON (button), image);
-
-       gtk_button_set_use_underline (GTK_BUTTON (button), TRUE);
-       gtk_button_set_label (GTK_BUTTON (button), label_text);
-
-       gtk_widget_set_can_default (button, TRUE);
-       gtk_widget_show (button);
-
-       return button;
-}
-
-
 GtkWidget*
 _gtk_message_dialog_new (GtkWindow        *parent,
                         GtkDialogFlags    flags,
-                        const char       *stock_id,
+                        const char       *icon_name,
                         const char       *message,
                         const char       *secondary_message,
                         const char       *first_button_text,
@@ -145,9 +60,9 @@ _gtk_message_dialog_new (GtkWindow        *parent,
 
        /* set the icon */
 
-       gtk_image_set_from_stock (GTK_IMAGE (_gtk_builder_get_widget (builder, "icon_image")),
-                                 stock_id,
-                                 GTK_ICON_SIZE_DIALOG);
+       gtk_image_set_from_icon_name (GTK_IMAGE (_gtk_builder_get_widget (builder, "icon_image")),
+                                     icon_name,
+                                     GTK_ICON_SIZE_DIALOG);
 
        /* set the message */
 
@@ -215,7 +130,6 @@ _gtk_yesno_dialog_new (GtkWindow        *parent,
        GtkWidget    *image;
        GtkWidget    *hbox;
        GtkWidget    *button;
-       char         *stock_id = GTK_STOCK_DIALOG_QUESTION;
 
        d = gtk_dialog_new_with_buttons ("", parent, flags, NULL, NULL);
        gtk_window_set_resizable (GTK_WINDOW (d), FALSE);
@@ -226,7 +140,7 @@ _gtk_yesno_dialog_new (GtkWindow        *parent,
 
        /* Add label and image */
 
-       image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_DIALOG);
+       image = gtk_image_new_from_icon_name (_GTK_ICON_NAME_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
        gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
 
        label = gtk_label_new (message);
@@ -250,14 +164,14 @@ _gtk_yesno_dialog_new (GtkWindow        *parent,
 
        /* Add buttons */
 
-       button = _gtk_button_new_from_stock_with_text (GTK_STOCK_CANCEL, no_button_text);
+       button = gtk_button_new_with_label (no_button_text);
        gtk_dialog_add_action_widget (GTK_DIALOG (d),
                                      button,
                                      GTK_RESPONSE_CANCEL);
 
        /**/
 
-       button = _gtk_button_new_from_stock_with_text (GTK_STOCK_OK, yes_button_text);
+       button = gtk_button_new_with_label (yes_button_text);
        gtk_dialog_add_action_widget (GTK_DIALOG (d),
                                      button,
                                      GTK_RESPONSE_YES);
@@ -281,10 +195,10 @@ _gtk_error_dialog_from_gerror_run (GtkWindow   *parent,
 
        d = _gtk_message_dialog_new (parent,
                                     GTK_DIALOG_DESTROY_WITH_PARENT,
-                                    GTK_STOCK_DIALOG_ERROR,
+                                    _GTK_ICON_NAME_DIALOG_ERROR,
                                     title,
                                     gerror->message,
-                                    GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                    _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                     NULL);
        gtk_dialog_run (GTK_DIALOG (d));
 
@@ -310,10 +224,10 @@ _gtk_error_dialog_from_gerror_show (GtkWindow   *parent,
 
        d = _gtk_message_dialog_new (parent,
                                     GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                    GTK_STOCK_DIALOG_ERROR,
+                                    _GTK_ICON_NAME_DIALOG_ERROR,
                                     title,
                                     (gerror != NULL) ? gerror->message : NULL,
-                                    GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                    _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                     NULL);
        g_signal_connect (d, "response", G_CALLBACK (error_dialog_response_cb), NULL);
 
@@ -336,10 +250,10 @@ _gtk_error_dialog_run (GtkWindow        *parent,
 
        d =  _gtk_message_dialog_new (parent,
                                      GTK_DIALOG_MODAL,
-                                     GTK_STOCK_DIALOG_ERROR,
+                                     _GTK_ICON_NAME_DIALOG_ERROR,
                                      message,
                                      NULL,
-                                     GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL,
+                                     _GTK_LABEL_CLOSE, GTK_RESPONSE_CANCEL,
                                      NULL);
        g_free (message);
 
@@ -367,10 +281,10 @@ _gtk_error_dialog_show (GtkWindow  *parent,
 
        d = _gtk_message_dialog_new (parent,
                                     GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                    GTK_STOCK_DIALOG_ERROR,
+                                    _GTK_ICON_NAME_DIALOG_ERROR,
                                     title,
                                     message,
-                                    GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                    _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                     NULL);
        g_signal_connect (d, "response", G_CALLBACK (error_dialog_response_cb), NULL);
 
@@ -395,10 +309,10 @@ _gtk_info_dialog_run (GtkWindow        *parent,
 
        d =  _gtk_message_dialog_new (parent,
                                      GTK_DIALOG_MODAL,
-                                     GTK_STOCK_DIALOG_INFO,
+                                     _GTK_ICON_NAME_DIALOG_INFO,
                                      message,
                                      NULL,
-                                     GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL,
+                                     _GTK_LABEL_CLOSE, GTK_RESPONSE_CANCEL,
                                      NULL);
        g_free (message);
 
@@ -487,10 +401,10 @@ show_help_dialog (GtkWindow  *parent,
 
                dialog = _gtk_message_dialog_new (parent,
                                                  GTK_DIALOG_DESTROY_WITH_PARENT,
-                                                 GTK_STOCK_DIALOG_ERROR,
+                                                 _GTK_ICON_NAME_DIALOG_ERROR,
                                                  _("Could not display help"),
                                                  error->message,
-                                                 GTK_STOCK_OK, GTK_RESPONSE_OK,
+                                                 _GTK_LABEL_OK, GTK_RESPONSE_OK,
                                                  NULL);
                gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
 
@@ -754,9 +668,9 @@ _gtk_widget_lookup_for_size (GtkWidget   *widget,
                             GtkIconSize  icon_size)
 {
        int w, h;
-       gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (widget),
-                                          icon_size,
-                                          &w, &h);
+
+       gtk_icon_size_lookup (icon_size, &w, &h);
+
        return MAX (w, h);
 }
 
diff --git a/gthumb/gtk-utils.h b/gthumb/gtk-utils.h
index 4305f95..f1ef58b 100644
--- a/gthumb/gtk-utils.h
+++ b/gthumb/gtk-utils.h
@@ -28,37 +28,30 @@
 
 G_BEGIN_DECLS
 
-typedef enum {
-       GTH_ACTION_FLAG_NONE              = 0,
-       GTH_ACTION_FLAG_ALWAYS_SHOW_IMAGE = 1 << 0,
-       GTH_ACTION_FLAG_IS_IMPORTANT      = 1 << 1
-} GthActionFlags;
+#define _GTK_ICON_NAME_DIALOG_ERROR "dialog-error-symbolic"
+#define _GTK_ICON_NAME_DIALOG_INFO "dialog-information-symbolic"
+#define _GTK_ICON_NAME_DIALOG_QUESTION "dialog-question-symbolic"
+#define _GTK_ICON_NAME_DIALOG_WARNING "dialog-warning-symbolic"
+
+#define _GTK_LABEL_CANCEL _("_Cancel")
+#define _GTK_LABEL_CLOSE _("_Close")
+#define _GTK_LABEL_COPY _("Copy")
+#define _GTK_LABEL_DELETE _("_Delete")
+#define _GTK_LABEL_HELP _("_Help")
+#define _GTK_LABEL_NEW _("_New")
+#define _GTK_LABEL_OK _("_Ok")
+#define _GTK_LABEL_REMOVE _("_Remove")
+#define _GTK_LABEL_SAVE _("_Save")
 
-typedef struct {
-       const char     *name;
-       const char     *stock_id;
-       const char     *label;
-       const char     *accelerator;
-       const char     *tooltip;
-       GthActionFlags  flags;
-       GCallback       callback;
-} GthActionEntryExt;
 
 typedef struct {
        const char *action_name;
        const char *accelerator;
 } GthAccelerator;
 
-void            _gtk_action_group_add_actions_with_flags   (GtkActionGroup   *action_group,
-                                                           const GthActionEntryExt
-                                                                            *entries,
-                                                           guint             n_entries,
-                                                           gpointer          user_data);
-GtkWidget *     _gtk_button_new_from_stock_with_text       (const char       *stock_id,
-                                                           const char       *text);
 GtkWidget *     _gtk_message_dialog_new                    (GtkWindow        *parent,
                                                            GtkDialogFlags    flags,
-                                                           const char       *stock_id,
+                                                           const char       *icon_name,
                                                            const char       *message,
                                                            const char       *secondary_message,
                                                            const char       *first_button_text,
diff --git a/gthumb/main.c b/gthumb/main.c
index 93f778e..9186934 100644
--- a/gthumb/main.c
+++ b/gthumb/main.c
@@ -393,7 +393,6 @@ gth_application_create_option_context (void)
                g_option_context_add_group (context, egg_sm_client_get_option_group ());
 #endif
 #ifdef HAVE_CLUTTER
-               g_option_context_add_group (context, cogl_get_option_group ());
                g_option_context_add_group (context, clutter_get_option_group_without_init ());
                g_option_context_add_group (context, gtk_clutter_get_option_group ());
 #endif


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