[Xfce4-commits] <thunar:nick/gtk3> More Gtk porting.

Nick Schermer noreply at xfce.org
Mon May 7 20:06:01 CEST 2012


Updating branch refs/heads/nick/gtk3
         to c61ff28517038ac281ca5588fc2ed18bfb33f489 (commit)
       from a6875c3c8fca1195103297848f7c9207bc8ce962 (commit)

commit c61ff28517038ac281ca5588fc2ed18bfb33f489
Author: Nick Schermer <nick at xfce.org>
Date:   Mon May 7 20:04:50 2012 +0200

    More Gtk porting.

 thunar/sexy-url-label.c             |    6 ++--
 thunar/thunar-application.c         |    7 ++--
 thunar/thunar-chooser-dialog.c      |    8 ++--
 thunar/thunar-clipboard-manager.c   |    6 ++-
 thunar/thunar-column-editor.c       |    4 +-
 thunar/thunar-compact-view.c        |    5 ++-
 thunar/thunar-details-view.c        |   41 ++++++++++++++-----------
 thunar/thunar-dialogs.c             |    8 ++---
 thunar/thunar-dnd.c                 |    4 +-
 thunar/thunar-emblem-chooser.c      |    8 +++--
 thunar/thunar-file.c                |    8 ++--
 thunar/thunar-folder.c              |    8 ++--
 thunar/thunar-icon-renderer.c       |    4 +-
 thunar/thunar-icon-view.c           |    5 ++-
 thunar/thunar-launcher.c            |    4 ++-
 thunar/thunar-location-button.c     |   11 +++---
 thunar/thunar-location-buttons.c    |   10 +++---
 thunar/thunar-location-dialog.c     |    6 ++-
 thunar/thunar-location-entry.c      |    2 +-
 thunar/thunar-path-entry.c          |   11 +++---
 thunar/thunar-permissions-chooser.c |   17 +++++-----
 thunar/thunar-preferences-dialog.c  |    9 +++--
 thunar/thunar-progress-dialog.c     |    4 +-
 thunar/thunar-progress-view.c       |    8 ++--
 thunar/thunar-properties-dialog.c   |   11 +++---
 thunar/thunar-renamer-dialog.c      |   12 ++++---
 thunar/thunar-renamer-progress.c    |   14 ++++----
 thunar/thunar-standard-view.c       |   58 +++++++++++++++++++---------------
 thunar/thunar-text-renderer.c       |   10 +++---
 thunar/thunar-throbber.c            |    2 +-
 thunar/thunar-tree-view.c           |   14 ++++----
 thunar/thunar-util.c                |    2 +-
 thunar/thunar-window.c              |   25 +++++++--------
 33 files changed, 187 insertions(+), 165 deletions(-)

diff --git a/thunar/sexy-url-label.c b/thunar/sexy-url-label.c
index 19ffb42..f0a4fd1 100644
--- a/thunar/sexy-url-label.c
+++ b/thunar/sexy-url-label.c
@@ -220,7 +220,7 @@ sexy_url_label_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
 	SexyUrlLabelLink *llink = NULL;
 
 	if (event->is_hint)
-		gdk_window_get_pointer(event->window, &x, &y, &state);
+		gdk_window_get_device_position(event->window, event->device, &x, &y, &state);
 	else
 	{
 		x = event->x;
@@ -254,7 +254,7 @@ sexy_url_label_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
 			cursor = gdk_cursor_new_for_display(
 				gtk_widget_get_display(widget), GDK_HAND2);
 			gdk_window_set_cursor(priv->event_window, cursor);
-			gdk_cursor_unref(cursor);
+			g_object_unref(cursor);
 
 			priv->active_link = llink;
 		}
@@ -270,7 +270,7 @@ sexy_url_label_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
 				cursor = gdk_cursor_new_for_display(
 					gtk_widget_get_display(widget), GDK_XTERM);
 				gdk_window_set_cursor(priv->event_window, cursor);
-				gdk_cursor_unref(cursor);
+				g_object_unref(cursor);
 			}
 			else
 				gdk_window_set_cursor(priv->event_window, NULL);
diff --git a/thunar/thunar-application.c b/thunar/thunar-application.c
index 31ad89e..7f80037 100644
--- a/thunar/thunar-application.c
+++ b/thunar/thunar-application.c
@@ -609,7 +609,7 @@ static gboolean
 thunar_application_volman_idle (gpointer user_data)
 {
   ThunarApplication *application = THUNAR_APPLICATION (user_data);
-  GdkScreen         *screen;
+  //GdkScreen         *screen;
   gboolean           misc_volume_management;
   GError            *err = NULL;
   gchar            **argv;
@@ -635,10 +635,11 @@ thunar_application_volman_idle (gpointer user_data)
           application->volman_udis = g_slist_delete_link (application->volman_udis, application->volman_udis);
 
           /* locate the currently active screen (the one with the pointer) */
-          screen = xfce_gdk_screen_get_active (NULL);
+          //screen = xfce_gdk_screen_get_active (NULL);
 
           /* try to spawn the volman on the active screen */
-          if (gdk_spawn_on_screen (screen, NULL, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH, NULL, NULL, &pid, &err))
+          /* TODO use xfce_spawn */
+          if (g_spawn_async (NULL, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH, NULL, NULL, &pid, &err))
             {
               /* add a child watch for the volman handler */
               application->volman_watch_id = g_child_watch_add_full (G_PRIORITY_LOW, pid, thunar_application_volman_watch,
diff --git a/thunar/thunar-chooser-dialog.c b/thunar/thunar-chooser-dialog.c
index 84562f2..1b45075 100644
--- a/thunar/thunar-chooser-dialog.c
+++ b/thunar/thunar-chooser-dialog.c
@@ -189,7 +189,7 @@ thunar_chooser_dialog_init (ThunarChooserDialog *dialog)
   gtk_widget_show (vbox);
 
   /* create the header box */
-  header = gtk_hbox_new (FALSE, 6);
+  header = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   gtk_box_pack_start (GTK_BOX (vbox), header, FALSE, FALSE, 0);
   gtk_widget_show (header);
 
@@ -207,7 +207,7 @@ thunar_chooser_dialog_init (ThunarChooserDialog *dialog)
   gtk_widget_show (dialog->header_label);
 
   /* create the view box */
-  box = gtk_vbox_new (FALSE, 6);
+  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
   gtk_box_pack_start (GTK_BOX (vbox), box, TRUE, TRUE, 0);
   gtk_widget_show (box);
 
@@ -261,7 +261,7 @@ thunar_chooser_dialog_init (ThunarChooserDialog *dialog)
   gtk_widget_show (dialog->custom_expander);
 
   /* create the "Custom command" box */
-  hbox = gtk_hbox_new (FALSE, 2);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
   gtk_container_add (GTK_CONTAINER (dialog->custom_expander), hbox);
   gtk_widget_show (hbox);
 
@@ -476,7 +476,7 @@ thunar_chooser_dialog_response (GtkDialog *widget,
   if (G_LIKELY (succeed && dialog->open))
     {
       /* create launch context */
-      context = gdk_app_launch_context_new ();
+      context = gdk_display_get_app_launch_context (gtk_widget_get_display (GTK_WIDGET (dialog)));
       gdk_app_launch_context_set_screen (context, gtk_widget_get_screen (GTK_WIDGET (dialog)));
 
       /* create fake file list */
diff --git a/thunar/thunar-clipboard-manager.c b/thunar/thunar-clipboard-manager.c
index 001dee4..0e20333 100644
--- a/thunar/thunar-clipboard-manager.c
+++ b/thunar/thunar-clipboard-manager.c
@@ -432,12 +432,14 @@ thunar_clipboard_manager_get_callback (GtkClipboard     *clipboard,
     {
     case TARGET_GNOME_COPIED_FILES:
       data = g_strconcat (manager->files_cutted ? "cut\n" : "copy\n", string_list, NULL);
-      gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data), 8, (guchar *) data, strlen (data));
+      gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
+                              8, (guchar *) data, strlen (data));
       g_free (data);
       break;
 
     case TARGET_UTF8_STRING:
-      gtk_selection_data_set (selection_data, gtk_selection_data_get_target(selection_data), 8, (guchar *) string_list, strlen (string_list));
+      gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
+                              8, (guchar *) string_list, strlen (string_list));
       break;
 
     default:
diff --git a/thunar/thunar-column-editor.c b/thunar/thunar-column-editor.c
index f8e4fb2..fbfd819 100644
--- a/thunar/thunar-column-editor.c
+++ b/thunar/thunar-column-editor.c
@@ -127,7 +127,7 @@ thunar_column_editor_init (ThunarColumnEditor *column_editor)
   gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (gtk_dialog_get_action_area (GTK_DIALOG (column_editor))), button, TRUE);
   gtk_widget_show (button);
 
-  vbox = gtk_vbox_new (FALSE, 6);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
   gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (column_editor))), vbox, TRUE, TRUE, 0);
   gtk_widget_show (vbox);
@@ -222,7 +222,7 @@ thunar_column_editor_init (ThunarColumnEditor *column_editor)
   gtk_widget_show (column_editor->hide_button);
 
   /* create the horiz separator */
-  separator = gtk_hseparator_new ();
+  separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
   gtk_table_attach (GTK_TABLE (table), separator, 1, 2, 5, 6, GTK_FILL, 0, 0, 0);
   gtk_widget_show (separator);
 
diff --git a/thunar/thunar-compact-view.c b/thunar/thunar-compact-view.c
index dc0c696..e877e5c 100644
--- a/thunar/thunar-compact-view.c
+++ b/thunar/thunar-compact-view.c
@@ -58,8 +58,9 @@ thunar_compact_view_class_init (ThunarCompactViewClass *klass)
   thunarstandard_view_class->zoom_level_property_name = "last-compact-view-zoom-level";
 
   /* override ThunarAbstractIconView default row spacing */
-  gtk_rc_parse_string ("style\"thunar-compact-view-style\"{ThunarCompactView::row-spacing=0}\n"
-                       "class\"ThunarCompactView\"style\"thunar-compact-view-style\"\n");
+  /* TODO */
+  /*gtk_rc_parse_string ("style\"thunar-compact-view-style\"{ThunarCompactView::row-spacing=0}\n"
+                       "class\"ThunarCompactView\"style\"thunar-compact-view-style\"\n");*/
 }
 
 
diff --git a/thunar/thunar-details-view.c b/thunar/thunar-details-view.c
index 09b9429..615181f 100644
--- a/thunar/thunar-details-view.c
+++ b/thunar/thunar-details-view.c
@@ -427,7 +427,7 @@ thunar_details_view_get_selected_items (ThunarStandardView *standard_view)
 
   _thunar_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view), NULL);
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   return gtk_tree_selection_get_selected_rows (selection, NULL);
 }
 
@@ -440,7 +440,7 @@ thunar_details_view_select_all (ThunarStandardView *standard_view)
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   gtk_tree_selection_select_all (selection);
 }
 
@@ -453,7 +453,7 @@ thunar_details_view_unselect_all (ThunarStandardView *standard_view)
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   gtk_tree_selection_unselect_all (selection);
 }
 
@@ -467,7 +467,7 @@ thunar_details_view_select_path (ThunarStandardView *standard_view,
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   gtk_tree_selection_select_path (selection, path);
 }
 
@@ -480,21 +480,22 @@ thunar_details_view_set_cursor (ThunarStandardView *standard_view,
 {
   GtkCellRendererMode mode;
   GtkTreeViewColumn  *column;
+  GtkWidget          *treeview = gtk_bin_get_child (GTK_BIN (standard_view));
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
   /* make sure the name renderer is editable */
-  mode = standard_view->name_renderer->mode;
-  standard_view->name_renderer->mode = GTK_CELL_RENDERER_MODE_EDITABLE;
+  g_object_get (G_OBJECT (standard_view->name_renderer), "mode", &mode, NULL);
+  g_object_set  (G_OBJECT (standard_view->name_renderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
 
   /* tell the tree view to start editing the given row */
-  column = gtk_tree_view_get_column (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), 0);
-  gtk_tree_view_set_cursor_on_cell (GTK_TREE_VIEW (GTK_BIN (standard_view)->child),
+  column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), 0);
+  gtk_tree_view_set_cursor_on_cell (GTK_TREE_VIEW (treeview),
                                     path, column, standard_view->name_renderer,
                                     start_editing);
 
   /* reset the name renderer mode */
-  standard_view->name_renderer->mode = mode;
+  g_object_set  (G_OBJECT (standard_view->name_renderer), "mode", mode, NULL);
 }
 
 
@@ -507,12 +508,13 @@ thunar_details_view_scroll_to_path (ThunarStandardView *standard_view,
                                     gfloat              col_align)
 {
   GtkTreeViewColumn *column;
+  GtkWidget         *treeview = gtk_bin_get_child (GTK_BIN (standard_view));
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
   /* tell the tree view to scroll to the given row */
-  column = gtk_tree_view_get_column (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), 0);
-  gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), path, column, use_align, row_align, col_align);
+  column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), 0);
+  gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (treeview), path, column, use_align, row_align, col_align);
 }
 
 
@@ -523,10 +525,11 @@ thunar_details_view_get_path_at_pos (ThunarStandardView *standard_view,
                                      gint                y)
 {
   GtkTreePath *path;
+  GtkWidget   *treeview = gtk_bin_get_child (GTK_BIN (standard_view));
 
   _thunar_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view), NULL);
 
-  if (gtk_tree_view_get_dest_row_at_pos (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), x, y, &path, NULL))
+  if (gtk_tree_view_get_dest_row_at_pos (GTK_TREE_VIEW (treeview), x, y, &path, NULL))
     return path;
 
   return NULL;
@@ -539,9 +542,9 @@ thunar_details_view_get_visible_range (ThunarStandardView *standard_view,
                                        GtkTreePath       **start_path,
                                        GtkTreePath       **end_path)
 {
+  GtkWidget *treeview = gtk_bin_get_child (GTK_BIN (standard_view));
   _thunar_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view), FALSE);
-
-  return gtk_tree_view_get_visible_range (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), start_path, end_path);
+  return gtk_tree_view_get_visible_range (GTK_TREE_VIEW (treeview), start_path, end_path);
 }
 
 
@@ -550,8 +553,9 @@ static void
 thunar_details_view_highlight_path (ThunarStandardView *standard_view,
                                     GtkTreePath        *path)
 {
+  GtkWidget *treeview = gtk_bin_get_child (GTK_BIN (standard_view));
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
-  gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), path, GTK_TREE_VIEW_DROP_INTO_OR_AFTER);
+  gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (treeview), path, GTK_TREE_VIEW_DROP_INTO_OR_AFTER);
 }
 
 
@@ -694,7 +698,8 @@ thunar_details_view_key_press_event (GtkTreeView       *tree_view,
                                      ThunarDetailsView *details_view)
 {
   /* popup context menu if "Menu" or "<Shift>F10" is pressed */
-  if (event->keyval == GDK_Menu || ((event->state & GDK_SHIFT_MASK) != 0 && event->keyval == GDK_F10))
+  if (event->keyval == GDK_KEY_Menu
+      || ((event->state & GDK_SHIFT_MASK) != 0 && event->keyval == GDK_KEY_F10))
     {
       thunar_standard_view_context_menu (THUNAR_STANDARD_VIEW (details_view), 0, event->time);
       return TRUE;
@@ -752,7 +757,7 @@ thunar_details_view_columns_changed (ThunarColumnModel *column_model,
       /* change the order of the column relative to its predecessor */
       if (G_LIKELY (column > 0))
         {
-          gtk_tree_view_move_column_after (GTK_TREE_VIEW (GTK_BIN (details_view)->child),
+          gtk_tree_view_move_column_after (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (details_view))),
                                            details_view->columns[column_order[column]],
                                            details_view->columns[column_order[column - 1]]);
         }
@@ -874,7 +879,7 @@ thunar_details_view_set_fixed_columns (ThunarDetailsView *details_view,
       /* for fixed columns mode, we can enable the fixed height
        * mode to improve the performance of the GtkTreeVeiw.
        */
-      gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (GTK_BIN (details_view)->child), fixed_columns);
+      gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (details_view))), fixed_columns);
 
       /* notify listeners */
       g_object_notify (G_OBJECT (details_view), "fixed-columns");
diff --git a/thunar/thunar-dialogs.c b/thunar/thunar-dialogs.c
index b6fe037..98d678b 100644
--- a/thunar/thunar-dialogs.c
+++ b/thunar/thunar-dialogs.c
@@ -90,7 +90,6 @@ thunar_dialogs_show_rename_file (gpointer    parent,
   dialog = gtk_dialog_new_with_buttons (title,
                                         window,
                                         GTK_DIALOG_MODAL
-                                        | GTK_DIALOG_NO_SEPARATOR
                                         | GTK_DIALOG_DESTROY_WITH_PARENT,
                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                         _("_Rename"), GTK_RESPONSE_OK,
@@ -104,7 +103,7 @@ thunar_dialogs_show_rename_file (gpointer    parent,
     gtk_window_set_screen (GTK_WINDOW (dialog), screen);
 
   table = g_object_new (GTK_TYPE_TABLE, "border-width", 6, "column-spacing", 6, "row-spacing", 3, NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table, TRUE, TRUE, 0);
   gtk_widget_show (table);
 
   icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (dialog));
@@ -434,7 +433,7 @@ thunar_dialogs_show_job_ask (GtkWindow        *parent,
         }
 
       button = gtk_button_new_with_mnemonic (mnemonic);
-      GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
+      gtk_widget_set_can_default (button, TRUE);
       gtk_dialog_add_action_widget (GTK_DIALOG (message), button, response);
       gtk_widget_show (button);
 
@@ -502,7 +501,6 @@ thunar_dialogs_show_job_ask_replace (GtkWindow  *parent,
   dialog = gtk_dialog_new_with_buttons (_("Confirm to replace files"),
                                         parent,
                                         GTK_DIALOG_MODAL
-                                        | GTK_DIALOG_NO_SEPARATOR
                                         | GTK_DIALOG_DESTROY_WITH_PARENT,
                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                         _("S_kip All"), THUNAR_JOB_RESPONSE_NO_ALL,
@@ -530,7 +528,7 @@ thunar_dialogs_show_job_ask_replace (GtkWindow  *parent,
                         "row-spacing", 6,
                         "column-spacing", 5,
                         NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table, TRUE, TRUE, 0);
   gtk_widget_show (table);
 
   image = gtk_image_new_from_icon_name ("stock_folder-copy", GTK_ICON_SIZE_BUTTON);
diff --git a/thunar/thunar-dnd.c b/thunar/thunar-dnd.c
index 9871eb0..950d656 100644
--- a/thunar/thunar-dnd.c
+++ b/thunar/thunar-dnd.c
@@ -120,7 +120,7 @@ thunar_dnd_ask (GtkWidget    *widget,
 
   /* determine the toplevel window the widget belongs to */
   window = gtk_widget_get_toplevel (widget);
-  if (G_LIKELY (window != NULL && GTK_WIDGET_TOPLEVEL (window)))
+  if (G_LIKELY (window != NULL && gtk_widget_get_toplevel (window)))
     {
       /* check if we can resolve all paths */
       for (lp = path_list; lp != NULL; lp = lp->next)
@@ -218,7 +218,7 @@ thunar_dnd_perform (GtkWidget    *widget,
 
   _thunar_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
   _thunar_return_val_if_fail (THUNAR_IS_FILE (file), FALSE);
-  _thunar_return_val_if_fail (GTK_WIDGET_REALIZED (widget), FALSE);
+  _thunar_return_val_if_fail (gtk_widget_get_realized (widget), FALSE);
 
   /* query a reference on the application object */
   application = thunar_application_get ();
diff --git a/thunar/thunar-emblem-chooser.c b/thunar/thunar-emblem-chooser.c
index 186a6d0..4e23a93 100644
--- a/thunar/thunar-emblem-chooser.c
+++ b/thunar/thunar-emblem-chooser.c
@@ -136,7 +136,9 @@ thunar_emblem_chooser_init (ThunarEmblemChooser *chooser)
   gtk_widget_show (viewport);
 
   /* setup the wrap table */
-  chooser->table = g_object_new (EXO_TYPE_WRAP_TABLE, "border-width", 6, "homogeneous", TRUE, NULL);
+  chooser->table = gtk_grid_new ();
+  gtk_container_set_border_width (GTK_CONTAINER (chooser->table), 6);
+  gtk_grid_set_row_homogeneous (GTK_GRID (chooser->table), TRUE);
   gtk_container_add (GTK_CONTAINER (viewport), chooser->table);
   gtk_widget_show (chooser->table);
 
@@ -416,12 +418,12 @@ thunar_emblem_chooser_create_button (ThunarEmblemChooser *chooser,
 
   /* allocate the button */
   button = gtk_check_button_new ();
-  GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS);
+  gtk_widget_set_can_focus (button, FALSE);
   g_object_set_data_full (G_OBJECT (button), I_("thunar-emblem"), g_strdup (emblem), g_free);
   g_signal_connect (G_OBJECT (button), "toggled", G_CALLBACK (thunar_emblem_chooser_button_toggled), chooser);
 
   /* allocate the box */
-  vbox = gtk_vbox_new (FALSE, 2);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
   gtk_size_group_add_widget (chooser->size_group, vbox);
   gtk_container_add (GTK_CONTAINER (button), vbox);
   gtk_widget_show (vbox);
diff --git a/thunar/thunar-file.c b/thunar/thunar-file.c
index 0cc3124..9a870e5 100644
--- a/thunar/thunar-file.c
+++ b/thunar/thunar-file.c
@@ -1222,7 +1222,7 @@ thunar_file_launch (ThunarFile  *file,
   path_list.next = path_list.prev = NULL;
 
   /* create a launch context */
-  context = gdk_app_launch_context_new ();
+  context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen));
   gdk_app_launch_context_set_screen (context, screen);
 
   /* otherwise try to execute the application */
@@ -1435,13 +1435,13 @@ thunar_file_accepts_drop (ThunarFile     *file,
     return 0;
 
   /* default to whatever GTK+ thinks for the suggested action */
-  suggested_action = context->suggested_action;
+  suggested_action = gdk_drag_context_get_selected_action (context);
 
   /* check if we have a writable directory here or an executable file */
   if (thunar_file_is_directory (file) && thunar_file_is_writable (file))
     {
       /* determine the possible actions */
-      actions = context->actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK);
+      actions = gdk_drag_context_get_actions (context) & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK);
 
       /* cannot create symbolic links in the trash or copy to the trash */
       if (thunar_file_is_trashed (file))
@@ -1512,7 +1512,7 @@ thunar_file_accepts_drop (ThunarFile     *file,
   else if (thunar_file_is_executable (file))
     {
       /* determine the possible actions */
-      actions = context->actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE);
+      actions = gdk_drag_context_get_actions (context) & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE);
     }
   else
     return 0;
diff --git a/thunar/thunar-folder.c b/thunar/thunar-folder.c
index 9ea6939..5f24bb4 100644
--- a/thunar/thunar-folder.c
+++ b/thunar/thunar-folder.c
@@ -85,7 +85,7 @@ static void     thunar_folder_monitor                     (GFileMonitor
 
 struct _ThunarFolderClass
 {
-  GtkObjectClass __parent__;
+  GObjectClass __parent__;
 
   /* signals */
   void (*error)         (ThunarFolder *folder,
@@ -98,7 +98,7 @@ struct _ThunarFolderClass
 
 struct _ThunarFolder
 {
-  GtkObject __parent__;
+  GObject __parent__;
 
   ThunarJob         *job;
 
@@ -118,7 +118,7 @@ static GQuark thunar_folder_quark;
 
 
 
-G_DEFINE_TYPE (ThunarFolder, thunar_folder, GTK_TYPE_OBJECT)
+G_DEFINE_TYPE (ThunarFolder, thunar_folder, G_TYPE_OBJECT)
 
 
 
@@ -491,7 +491,7 @@ thunar_folder_file_destroyed (ThunarFileMonitor *file_monitor,
   if (G_UNLIKELY (folder->corresponding_file == file))
     {
       /* the folder is useless now */
-      gtk_object_destroy (GTK_OBJECT (folder));
+      g_object_unref (G_OBJECT (folder));
     }
   else
     {
diff --git a/thunar/thunar-icon-renderer.c b/thunar/thunar-icon-renderer.c
index 4356499..a42ed77 100644
--- a/thunar/thunar-icon-renderer.c
+++ b/thunar/thunar-icon-renderer.c
@@ -404,7 +404,7 @@ thunar_icon_renderer_render (GtkCellRenderer     *renderer,
         {
           if ((flags & GTK_CELL_RENDERER_SELECTED) != 0)
             {
-              state = GTK_WIDGET_HAS_FOCUS (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE;
+              state = gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE;
               temp = exo_gdk_pixbuf_colorize (icon, &widget->style->base[state]);
               g_object_unref (G_OBJECT (icon));
               icon = temp;
@@ -419,7 +419,7 @@ thunar_icon_renderer_render (GtkCellRenderer     *renderer,
         }
 
       /* check if we should render an insensitive icon */
-      if (G_UNLIKELY (GTK_WIDGET_STATE (widget) == GTK_STATE_INSENSITIVE || !renderer->sensitive))
+      if (G_UNLIKELY (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE || !renderer->sensitive))
         {
           /* allocate an icon source */
           icon_source = gtk_icon_source_new ();
diff --git a/thunar/thunar-icon-view.c b/thunar/thunar-icon-view.c
index b54dee7..a6a2689 100644
--- a/thunar/thunar-icon-view.c
+++ b/thunar/thunar-icon-view.c
@@ -119,13 +119,14 @@ thunar_icon_view_set_property (GObject      *object,
                                GParamSpec   *pspec)
 {
   ThunarStandardView *standard_view = THUNAR_STANDARD_VIEW (object);
+  GtkWidget          *icon_view = gtk_bin_get_child (GTK_BIN (standard_view));
 
   switch (prop_id)
     {
     case PROP_TEXT_BESIDE_ICONS:
       if (G_UNLIKELY (g_value_get_boolean (value)))
         {
-          exo_icon_view_set_orientation (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), GTK_ORIENTATION_HORIZONTAL);
+          exo_icon_view_set_orientation (EXO_ICON_VIEW (icon_view), GTK_ORIENTATION_HORIZONTAL);
           g_object_set (G_OBJECT (standard_view->name_renderer), "wrap-width", 128, "yalign", 0.5f, NULL);
 
           /* disconnect the "zoom-level" signal handler, since we're using a fixed wrap-width here */
@@ -133,7 +134,7 @@ thunar_icon_view_set_property (GObject      *object,
         }
       else
         {
-          exo_icon_view_set_orientation (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), GTK_ORIENTATION_VERTICAL);
+          exo_icon_view_set_orientation (EXO_ICON_VIEW (icon_view), GTK_ORIENTATION_VERTICAL);
           g_object_set (G_OBJECT (standard_view->name_renderer), "yalign", 0.0f, NULL);
 
           /* connect the "zoom-level" signal handler as the wrap-width is now synced with the "zoom-level" */
diff --git a/thunar/thunar-launcher.c b/thunar/thunar-launcher.c
index 468f749..3d1dc06 100644
--- a/thunar/thunar-launcher.c
+++ b/thunar/thunar-launcher.c
@@ -623,12 +623,14 @@ thunar_launcher_open_paths (GAppInfo       *app_info,
   gchar               *message;
   gchar               *name;
   guint                n;
+  GdkDisplay          *display;
 
   /* determine the screen on which to launch the application */
   screen = (launcher->widget != NULL) ? gtk_widget_get_screen (launcher->widget) : NULL;
 
   /* create launch context */
-  context = gdk_app_launch_context_new ();
+  display = screen != NULL ? gdk_screen_get_display (screen) : gdk_display_get_default ();
+  context = gdk_display_get_app_launch_context (display);
   gdk_app_launch_context_set_screen (context, screen);
 
   /* determine the working directory */
diff --git a/thunar/thunar-location-button.c b/thunar/thunar-location-button.c
index a942d3b..94fcc3e 100644
--- a/thunar/thunar-location-button.c
+++ b/thunar/thunar-location-button.c
@@ -263,7 +263,7 @@ thunar_location_button_init (ThunarLocationButton *location_button)
 
   /* create the toggle button */
   button = gtk_toggle_button_new ();
-  GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS);
+  gtk_widget_set_can_focus (button, FALSE);
   g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (thunar_location_button_clicked), location_button);
   exo_mutual_binding_new (G_OBJECT (location_button), "active", G_OBJECT (button), "active");
   gtk_container_add (GTK_CONTAINER (location_button), button);
@@ -282,7 +282,7 @@ thunar_location_button_init (ThunarLocationButton *location_button)
   g_signal_connect (G_OBJECT (button), "drag-motion", G_CALLBACK (thunar_location_button_drag_motion), location_button);
 
   /* create the horizontal box */
-  hbox = gtk_hbox_new (FALSE, 2);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
   gtk_container_add (GTK_CONTAINER (button), hbox);
   gtk_widget_show (hbox);
 
@@ -485,7 +485,7 @@ thunar_location_button_file_changed (ThunarLocationButton *location_button,
       icon_name = thunar_file_get_icon_name (file, location_button->file_icon_state, 
                                              icon_theme);
     }
-  gtk_drag_source_set_icon_name (GTK_BIN (location_button)->child, icon_name);
+  gtk_drag_source_set_icon_name (gtk_bin_get_child (GTK_BIN (location_button)), icon_name);
   g_free (icon_name);
 }
 
@@ -648,7 +648,8 @@ thunar_location_button_drag_data_get (GtkWidget            *button,
       uri_string = thunar_g_file_list_to_string (&path_list);
 
       /* set the uri list for the drag selection */
-      gtk_selection_data_set (selection_data, selection_data->target, 8, (guchar *) uri_string, strlen (uri_string));
+      gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
+                              8, (guchar *) uri_string, strlen (uri_string));
 
       /* cleanup */
       g_free (uri_string);
@@ -968,7 +969,7 @@ thunar_location_button_set_file (ThunarLocationButton *location_button,
       g_signal_connect_swapped (G_OBJECT (file), "destroy", G_CALLBACK (thunar_location_button_file_destroy), location_button);
 
       /* update our internal state for the new file (if realized) */
-      if (GTK_WIDGET_REALIZED (location_button))
+      if (gtk_widget_get_realized (location_button))
         thunar_location_button_file_changed (location_button, file);
     }
 
diff --git a/thunar/thunar-location-buttons.c b/thunar/thunar-location-buttons.c
index f9a4310..34f76a0 100644
--- a/thunar/thunar-location-buttons.c
+++ b/thunar/thunar-location-buttons.c
@@ -267,7 +267,7 @@ thunar_location_buttons_init (ThunarLocationButtons *buttons)
   gtk_action_group_set_translation_domain (buttons->action_group, GETTEXT_PACKAGE);
   gtk_action_group_add_actions (buttons->action_group, action_entries, G_N_ELEMENTS (action_entries), buttons);
 
-  GTK_WIDGET_SET_FLAGS (buttons, GTK_NO_WINDOW);
+  gtk_widget_set_has_window (GTK_WIDGET (buttons), FALSE);
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (buttons), FALSE);
 
   buttons->left_slider = gtk_button_new ();
@@ -899,9 +899,9 @@ thunar_location_buttons_scroll_timeout (gpointer user_data)
 
   GDK_THREADS_ENTER ();
 
-  if (GTK_WIDGET_HAS_FOCUS (buttons->left_slider))
+  if (gtk_widget_has_focus (buttons->left_slider))
     thunar_location_buttons_scroll_left (buttons->left_slider, buttons);
-  else if (GTK_WIDGET_HAS_FOCUS (buttons->right_slider))
+  else if (gtk_widget_has_focus (buttons->right_slider))
     thunar_location_buttons_scroll_right (buttons->right_slider, buttons);
 
   GDK_THREADS_LEAVE ();
@@ -966,7 +966,7 @@ thunar_location_buttons_slider_button_press (GtkWidget             *button,
                                              GdkEventButton        *event,
                                              ThunarLocationButtons *buttons)
 {
-  if (!GTK_WIDGET_HAS_FOCUS (button))
+  if (!gtk_widget_has_focus (button))
     gtk_widget_grab_focus (button);
 
   if (event->type != GDK_BUTTON_PRESS || event->button != 1)
@@ -1431,7 +1431,7 @@ thunar_location_buttons_action_properties (GtkAction             *action,
     {
       /* determine the toplevel window */
       toplevel = gtk_widget_get_toplevel (GTK_WIDGET (buttons));
-      if (G_LIKELY (toplevel != NULL && GTK_WIDGET_TOPLEVEL (toplevel)))
+      if (G_LIKELY (toplevel != NULL && gtk_widget_get_toplevel (toplevel)))
         {
           /* popup the properties dialog */
           dialog = thunar_properties_dialog_new ();
diff --git a/thunar/thunar-location-dialog.c b/thunar/thunar-location-dialog.c
index 272f8cd..c58e557 100644
--- a/thunar/thunar-location-dialog.c
+++ b/thunar/thunar-location-dialog.c
@@ -58,8 +58,10 @@ thunar_location_dialog_init (ThunarLocationDialog *location_dialog)
   GtkWidget *open_button;
   GtkWidget *hbox;
   GtkWidget *label;
+  GtkWidget *content_area;
 
-  gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (location_dialog)->vbox), 2);
+  content_area = gtk_dialog_get_content_area (GTK_DIALOG (location_dialog));
+  gtk_box_set_spacing (GTK_BOX (content_area), 2);
   gtk_container_set_border_width (GTK_CONTAINER (location_dialog), 5);
   gtk_dialog_set_has_separator (GTK_DIALOG (location_dialog), FALSE);
   gtk_window_set_default_size (GTK_WINDOW (location_dialog), 350, -1);
@@ -74,7 +76,7 @@ thunar_location_dialog_init (ThunarLocationDialog *location_dialog)
                        "border-width", 5,
                        "spacing", 12,
                        NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (location_dialog)->vbox), hbox, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0);
   gtk_widget_show (hbox);
 
   label = gtk_label_new_with_mnemonic (_("_Location:"));
diff --git a/thunar/thunar-location-entry.c b/thunar/thunar-location-entry.c
index d64dbc0..733f3dc 100644
--- a/thunar/thunar-location-entry.c
+++ b/thunar/thunar-location-entry.c
@@ -147,7 +147,7 @@ thunar_location_entry_class_init (ThunarLocationEntryClass *klass)
 
   /* setup the key bindings for the location entry */
   binding_set = gtk_binding_set_by_class (klass);
-  gtk_binding_entry_add_signal (binding_set, GDK_Escape, 0, "reset", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_Escape, 0, "reset", 0);
 }
 
 
diff --git a/thunar/thunar-path-entry.c b/thunar/thunar-path-entry.c
index e0a241e..c49107e 100644
--- a/thunar/thunar-path-entry.c
+++ b/thunar/thunar-path-entry.c
@@ -429,7 +429,7 @@ thunar_path_entry_size_allocate (GtkWidget     *widget,
 
   (*GTK_WIDGET_CLASS (thunar_path_entry_parent_class)->size_allocate) (widget, allocation);
 
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtk_widget_get_realized (widget))
     {
       gdk_window_move_resize (GTK_ENTRY (path_entry)->text_area,
                               text_allocation.x,
@@ -490,7 +490,7 @@ thunar_path_entry_realize (GtkWidget *widget)
 
   path_entry->icon_area = gdk_window_new (widget->window, &attributes, attributes_mask);
   gdk_window_set_user_data (path_entry->icon_area, widget);
-  gdk_window_set_background (path_entry->icon_area, &widget->style->base[GTK_WIDGET_STATE (widget)]);
+  gdk_window_set_background (path_entry->icon_area, &widget->style->base[gtk_widget_get_state (widget)]);
   gdk_window_show (path_entry->icon_area);
 
   gtk_widget_queue_resize (widget);
@@ -530,7 +530,7 @@ thunar_path_entry_focus (GtkWidget       *widget,
   control_pressed = (gtk_get_current_event_state (&state) && (state & GDK_CONTROL_MASK) != 0);
 
   /* evil hack, but works for GtkFileChooserEntry, so who cares :-) */
-  if ((direction == GTK_DIR_TAB_FORWARD) && (GTK_WIDGET_HAS_FOCUS (widget)) && !control_pressed)
+  if ((direction == GTK_DIR_TAB_FORWARD) && (gtk_widget_has_focus (widget)) && !control_pressed)
     {
       /* if we don't have a completion and the cursor is at the end of the line, we just insert the common prefix */
       if (!path_entry->has_completion && gtk_editable_get_position (GTK_EDITABLE (path_entry)) == GTK_ENTRY (path_entry)->text_length)
@@ -568,7 +568,7 @@ thunar_path_entry_expose_event (GtkWidget      *widget,
       gdk_drawable_get_size (GDK_DRAWABLE (path_entry->icon_area), &width, &height);
 
       gtk_paint_flat_box (widget->style, path_entry->icon_area,
-                          GTK_WIDGET_STATE (widget), GTK_SHADOW_NONE,
+                          gtk_widget_get_state (widget), GTK_SHADOW_NONE,
                           NULL, widget, "entry_bg",
                           0, 0, width, height);
 
@@ -728,7 +728,8 @@ thunar_path_entry_drag_data_get (GtkWidget        *widget,
       uri_string = thunar_g_file_list_to_string (&file_list);
 
       /* setup the uri list for the drag selection */
-      gtk_selection_data_set (selection_data, selection_data->target, 8, (guchar *) uri_string, strlen (uri_string));
+      gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
+                              8, (guchar *) uri_string, strlen (uri_string));
 
       /* clean up */
       g_free (uri_string);
diff --git a/thunar/thunar-permissions-chooser.c b/thunar/thunar-permissions-chooser.c
index 576010f..13f0044 100644
--- a/thunar/thunar-permissions-chooser.c
+++ b/thunar/thunar-permissions-chooser.c
@@ -233,7 +233,7 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser)
   gtk_table_attach (GTK_TABLE (chooser->table), label, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0);
   gtk_widget_show (label);
 
-  hbox = gtk_hbox_new (FALSE, 6);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   gtk_table_attach (GTK_TABLE (chooser->table), hbox, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 6);
   gtk_widget_show (hbox);
 
@@ -348,7 +348,7 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser)
 
   row += 1;
 
-  hbox = gtk_hbox_new (FALSE, 6);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (hbox), "sensitive");
   exo_binding_new (G_OBJECT (chooser->program_button), "visible", G_OBJECT (hbox), "visible");
   gtk_table_attach (GTK_TABLE (chooser->table), hbox, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0);
@@ -364,7 +364,7 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser)
   gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
   gtk_widget_show (label);
 
-  hbox = gtk_hbox_new (FALSE, 6);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (hbox), "sensitive");
   gtk_table_attach (GTK_TABLE (chooser->table), hbox, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0);
   gtk_widget_show (hbox);
@@ -382,7 +382,7 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser)
 
   row += 1;
 
-  hbox = gtk_hbox_new (FALSE, 6);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   gtk_table_attach (GTK_TABLE (chooser->table), hbox, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0);
   gtk_widget_show (hbox);
 
@@ -394,7 +394,7 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser)
   gtk_widget_show (chooser->fixperm_button);
 
   /* the job control stuff */
-  hbox = gtk_hbox_new (FALSE, 6);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   gtk_box_pack_start (GTK_BOX (chooser), hbox, FALSE, FALSE, 0);
 
   chooser->job_progress = gtk_progress_bar_new ();
@@ -520,7 +520,6 @@ thunar_permissions_chooser_ask_recursive (ThunarPermissionsChooser *chooser)
       /* allocate the question dialog */
       dialog = gtk_dialog_new_with_buttons (_("Question"), GTK_WINDOW (toplevel),
                                             GTK_DIALOG_DESTROY_WITH_PARENT
-                                            | GTK_DIALOG_NO_SEPARATOR
                                             | GTK_DIALOG_MODAL,
                                             GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                             GTK_STOCK_NO, GTK_RESPONSE_NO,
@@ -528,9 +527,9 @@ thunar_permissions_chooser_ask_recursive (ThunarPermissionsChooser *chooser)
                                             NULL);
       gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
 
-      hbox = gtk_hbox_new (FALSE, 6);
+      hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
       gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
-      gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+      gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
       gtk_widget_show (hbox);
 
       image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
@@ -538,7 +537,7 @@ thunar_permissions_chooser_ask_recursive (ThunarPermissionsChooser *chooser)
       gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
       gtk_widget_show (image);
 
-      vbox = gtk_vbox_new (FALSE, 6);
+      vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
       gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
       gtk_widget_show (vbox);
 
diff --git a/thunar/thunar-preferences-dialog.c b/thunar/thunar-preferences-dialog.c
index c5df299..d2ba8a1 100644
--- a/thunar/thunar-preferences-dialog.c
+++ b/thunar/thunar-preferences-dialog.c
@@ -199,7 +199,7 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog)
 
   notebook = gtk_notebook_new ();
   gtk_container_set_border_width (GTK_CONTAINER (notebook), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), notebook, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), notebook, TRUE, TRUE, 0);
   gtk_widget_show (notebook);
 
 
@@ -445,11 +445,11 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog)
   gtk_table_attach (GTK_TABLE (table), align, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);
   gtk_widget_show (align);
 
-  hbox = gtk_hbox_new (FALSE, 0);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_container_add (GTK_CONTAINER (align), hbox);
   gtk_widget_show (hbox);
 
-  ibox = gtk_vbox_new (FALSE, 0);
+  ibox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_box_pack_start (GTK_BOX (hbox), ibox, FALSE, FALSE, 0);
   gtk_widget_show (ibox);
 
@@ -636,7 +636,8 @@ thunar_preferences_dialog_configure (ThunarPreferencesDialog *dialog)
   argv[2] = NULL;
 
   /* invoke the configuration interface of thunar-volman */
-  if (!gdk_spawn_on_screen (gtk_widget_get_screen (GTK_WIDGET (dialog)), NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err))
+  /* TODO use xfce_spawn */
+  if (!gdk_spawn_on_screen (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err))
     {
       /* tell the user that we failed to come up with the thunar-volman configuration dialog */
       thunar_dialogs_show_error (dialog, err, _("Failed to display the volume management settings"));
diff --git a/thunar/thunar-progress-dialog.c b/thunar/thunar-progress-dialog.c
index dd70231..b355b02 100644
--- a/thunar/thunar-progress-dialog.c
+++ b/thunar/thunar-progress-dialog.c
@@ -104,11 +104,11 @@ thunar_progress_dialog_init (ThunarProgressDialog *dialog)
   g_signal_connect (dialog, "delete-event", 
                     G_CALLBACK (thunar_progress_dialog_closed), dialog);
 
-  dialog->vbox = gtk_vbox_new (FALSE, 0);
+  dialog->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (dialog), dialog->vbox);
   gtk_widget_show (dialog->vbox);
 
-  dialog->content_box = gtk_vbox_new (FALSE, 12);
+  dialog->content_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
   gtk_container_set_border_width (GTK_CONTAINER (dialog->content_box), 8);
   gtk_container_add (GTK_CONTAINER (dialog->vbox), dialog->content_box);
   gtk_widget_show (dialog->content_box);
diff --git a/thunar/thunar-progress-view.c b/thunar/thunar-progress-view.c
index 995f5d1..a8945d8 100644
--- a/thunar/thunar-progress-view.c
+++ b/thunar/thunar-progress-view.c
@@ -179,11 +179,11 @@ thunar_progress_view_init (ThunarProgressView *view)
   /* remember the current time as start time */
   view->start_time = thunar_util_get_real_time ();
 
-  vbox = gtk_vbox_new (FALSE, 6);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
   gtk_container_add (GTK_CONTAINER (view), vbox);
   gtk_widget_show (vbox);
 
-  hbox = gtk_hbox_new (FALSE, 12);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
   gtk_widget_show (hbox);
 
@@ -191,7 +191,7 @@ thunar_progress_view_init (ThunarProgressView *view)
   gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
   gtk_widget_show (image);
 
-  vbox2 = gtk_vbox_new (FALSE, 6);
+  vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
   gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
   gtk_widget_show (vbox2);
 
@@ -206,7 +206,7 @@ thunar_progress_view_init (ThunarProgressView *view)
   gtk_box_pack_start (GTK_BOX (vbox2), view->progress_label, TRUE, TRUE, 0);
   gtk_widget_show (view->progress_label);
 
-  hbox = gtk_hbox_new (FALSE, 12);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
   gtk_widget_show (hbox);
 
diff --git a/thunar/thunar-properties-dialog.c b/thunar/thunar-properties-dialog.c
index 1e2de45..95e2fdd 100644
--- a/thunar/thunar-properties-dialog.c
+++ b/thunar/thunar-properties-dialog.c
@@ -194,8 +194,8 @@ thunar_properties_dialog_class_init (ThunarPropertiesDialogClass *klass)
 
   /* setup the key bindings for the properties dialog */
   binding_set = gtk_binding_set_by_class (klass);
-  gtk_binding_entry_add_signal (binding_set, GDK_F5, 0, "reload", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_r, GDK_CONTROL_MASK, "reload", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_F5, 0, "reload", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_r, GDK_CONTROL_MASK, "reload", 0);
 }
 
 
@@ -230,7 +230,7 @@ thunar_properties_dialog_init (ThunarPropertiesDialog *dialog)
 
   dialog->notebook = gtk_notebook_new ();
   gtk_container_set_border_width (GTK_CONTAINER (dialog->notebook), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), dialog->notebook, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), dialog->notebook, TRUE, TRUE, 0);
   gtk_widget_show (dialog->notebook);
 
   table = gtk_table_new (2, 2, FALSE);
@@ -245,7 +245,7 @@ thunar_properties_dialog_init (ThunarPropertiesDialog *dialog)
   /*
      First box (icon, name)
    */
-  box = gtk_hbox_new (FALSE, 6);
+  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   gtk_table_attach (GTK_TABLE (table), box, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 3);
   gtk_widget_show (box);
 
@@ -272,7 +272,6 @@ thunar_properties_dialog_init (ThunarPropertiesDialog *dialog)
 
   ++row;
 
-
   spacer = g_object_new (GTK_TYPE_ALIGNMENT, "height-request", 12, NULL);
   gtk_table_attach (GTK_TABLE (table), spacer, 0, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 3);
   gtk_widget_show (spacer);
@@ -434,7 +433,7 @@ thunar_properties_dialog_init (ThunarPropertiesDialog *dialog)
   gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 3);
   gtk_widget_show (label);
 
-  box = gtk_hbox_new (FALSE, 6);
+  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
   exo_binding_new (G_OBJECT (box), "visible", G_OBJECT (label), "visible");
   gtk_table_attach (GTK_TABLE (table), box, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 3);
   gtk_widget_show (box);
diff --git a/thunar/thunar-renamer-dialog.c b/thunar/thunar-renamer-dialog.c
index 66ea52f..3bb99b3 100644
--- a/thunar/thunar-renamer-dialog.c
+++ b/thunar/thunar-renamer-dialog.c
@@ -317,6 +317,7 @@ thunar_renamer_dialog_init (ThunarRenamerDialog *renamer_dialog)
   GList                  *lp;
   gint                    active = 0;
   guint                   n;
+  GtkWidget              *content_area;
 
   /* allocate a new bulk rename model */
   renamer_dialog->model = thunar_renamer_model_new ();
@@ -374,12 +375,13 @@ thunar_renamer_dialog_init (ThunarRenamerDialog *renamer_dialog)
   /* add the toolbar to the dialog */
   toolbar = gtk_ui_manager_get_widget (renamer_dialog->ui_manager, "/toolbar");
   exo_binding_new (G_OBJECT (renamer_dialog), "standalone", G_OBJECT (toolbar), "visible");
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (renamer_dialog)->vbox), toolbar, FALSE, FALSE, 0);
+  content_area = gtk_dialog_get_content_area (GTK_DIALOG (renamer_dialog));
+  gtk_box_pack_start (GTK_BOX (content_area), toolbar, FALSE, FALSE, 0);
 
   /* create the main vbox */
-  mbox = gtk_vbox_new (FALSE, 12);
+  mbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
   gtk_container_set_border_width (GTK_CONTAINER (mbox), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (renamer_dialog)->vbox), mbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (content_area), mbox, TRUE, TRUE, 0);
   gtk_widget_show (mbox);
 
   /* create the scrolled window for the tree view */
@@ -440,7 +442,7 @@ thunar_renamer_dialog_init (ThunarRenamerDialog *renamer_dialog)
   gtk_tree_view_append_column (GTK_TREE_VIEW (renamer_dialog->tree_view), column);
 
   /* create the vbox for the renamer parameters */
-  vbox = gtk_vbox_new (FALSE, 6);
+  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
   gtk_box_pack_start (GTK_BOX (mbox), vbox, FALSE, FALSE, 0);
   gtk_widget_show (vbox);
 
@@ -1880,7 +1882,7 @@ thunar_show_renamer_dialog (gpointer     parent,
     gtk_window_set_startup_id (GTK_WINDOW (dialog), startup_id);
 
   /* check if we have a toplevel window */
-  if (G_LIKELY (window != NULL && GTK_WIDGET_TOPLEVEL (window)))
+  if (G_LIKELY (window != NULL && gtk_widget_get_toplevel (window)))
     {
       /* dialog is transient for toplevel window, but not modal */
       gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
diff --git a/thunar/thunar-renamer-progress.c b/thunar/thunar-renamer-progress.c
index 8e3fa39..35a29b7 100644
--- a/thunar/thunar-renamer-progress.c
+++ b/thunar/thunar-renamer-progress.c
@@ -36,7 +36,7 @@ enum
 
 
 static void     thunar_renamer_progress_finalize          (GObject                    *object);
-static void     thunar_renamer_progress_destroy           (GtkObject                  *object);
+static void     thunar_renamer_progress_destroy           (GtkWidget                  *object);
 static gboolean thunar_renamer_progress_next_idle         (gpointer                    user_data);
 static void     thunar_renamer_progress_next_idle_destroy (gpointer                    user_data);
 
@@ -70,14 +70,14 @@ G_DEFINE_TYPE (ThunarRenamerProgress, thunar_renamer_progress, GTK_TYPE_ALIGNMEN
 static void
 thunar_renamer_progress_class_init (ThunarRenamerProgressClass *klass)
 {
-  GtkObjectClass *gtkobject_class;
+  GtkWidgetClass *gtkwidget_class;
   GObjectClass   *gobject_class;
 
   gobject_class = G_OBJECT_CLASS (klass);
   gobject_class->finalize = thunar_renamer_progress_finalize;
 
-  gtkobject_class = GTK_OBJECT_CLASS (klass);
-  gtkobject_class->destroy = thunar_renamer_progress_destroy;
+  gtkwidget_class = GTK_WIDGET_CLASS (klass);
+  gtkwidget_class->destroy = thunar_renamer_progress_destroy;
 }
 
 
@@ -115,14 +115,14 @@ thunar_renamer_progress_finalize (GObject *object)
 
 
 static void
-thunar_renamer_progress_destroy (GtkObject *object)
+thunar_renamer_progress_destroy (GtkWidget *widget)
 {
-  ThunarRenamerProgress *renamer_progress = THUNAR_RENAMER_PROGRESS (object);
+  ThunarRenamerProgress *renamer_progress = THUNAR_RENAMER_PROGRESS (widget);
 
   /* exit the internal main loop on destroy */
   thunar_renamer_progress_cancel (renamer_progress);
 
-  (*GTK_OBJECT_CLASS (thunar_renamer_progress_parent_class)->destroy) (object);
+  (*GTK_WIDGET_CLASS (thunar_renamer_progress_parent_class)->destroy) (widget);
 }
 
 
diff --git a/thunar/thunar-standard-view.c b/thunar/thunar-standard-view.c
index 1ac61ac..ee1578c 100644
--- a/thunar/thunar-standard-view.c
+++ b/thunar/thunar-standard-view.c
@@ -489,11 +489,11 @@ thunar_standard_view_class_init (ThunarStandardViewClass *klass)
 
   /* setup the key bindings for the standard views */
   binding_set = gtk_binding_set_by_class (klass);
-  gtk_binding_entry_add_signal (binding_set, GDK_BackSpace, GDK_CONTROL_MASK, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_Delete, 0, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Delete, 0, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_BackSpace, GDK_CONTROL_MASK, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, 0, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, 0, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
 }
 
 
@@ -656,7 +656,7 @@ thunar_standard_view_constructor (GType                  type,
   exo_binding_new (object, "zoom-level", G_OBJECT (standard_view->preferences), THUNAR_STANDARD_VIEW_GET_CLASS (standard_view)->zoom_level_property_name);
 
   /* determine the real view widget (treeview or iconview) */
-  view = GTK_BIN (object)->child;
+  view = gtk_bin_get_child (GTK_BIN (object));
 
   /* apply our list model to the real view (the child of the scrolled window),
    * we therefore assume that all real views have the "model" property.
@@ -948,7 +948,7 @@ static void
 thunar_standard_view_grab_focus (GtkWidget *widget)
 {
   /* forward the focus grab to the real view */
-  gtk_widget_grab_focus (GTK_BIN (widget)->child);
+  gtk_widget_grab_focus (gtk_bin_get_child (GTK_BIN (widget)));
 }
 
 
@@ -1166,6 +1166,7 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
   ThunarStandardView *standard_view = THUNAR_STANDARD_VIEW (navigator);
   ThunarFolder       *folder;
   gboolean            trashed;
+  GtkWidget          *child = gtk_bin_get_child (GTK_BIN (standard_view));
 
   _thunar_return_if_fail (THUNAR_IS_STANDARD_VIEW (standard_view));
   _thunar_return_if_fail (current_directory == NULL || THUNAR_IS_FILE (current_directory));
@@ -1184,13 +1185,13 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
        * to update the selection everytime (i.e. closing a window with a lot of
        * selected files), so we temporarily disconnect the model from the view.
        */
-      g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", NULL, NULL);
+      g_object_set (G_OBJECT (child), "model", NULL, NULL);
 
       /* reset the folder for the model */
       thunar_list_model_set_folder (standard_view->model, NULL);
 
       /* reconnect the model to the view */
-      g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", standard_view->model, NULL);
+      g_object_set (G_OBJECT (child), "model", standard_view->model, NULL);
 
       /* and we're done */
       return;
@@ -1203,7 +1204,7 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
   /* We drop the model from the view as a simple optimization to speed up
    * the process of disconnecting the model data from the view.
    */
-  g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", NULL, NULL);
+  g_object_set (G_OBJECT (child), "model", NULL, NULL);
 
   /* open the new directory as folder */
   folder = thunar_folder_get_for_file (current_directory);
@@ -1219,7 +1220,7 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
   g_object_unref (G_OBJECT (folder));
 
   /* reconnect our model to the view */
-  g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", standard_view->model, NULL);
+  g_object_set (G_OBJECT (child), "model", standard_view->model, NULL);
 
   /* check if the new directory is in the trash */
   trashed = thunar_file_is_trashed (current_directory);
@@ -2128,7 +2129,6 @@ thunar_standard_view_action_select_by_pattern (GtkAction          *action,
   dialog = gtk_dialog_new_with_buttons (_("Select by Pattern"),
                                         GTK_WINDOW (window),
                                         GTK_DIALOG_MODAL
-                                        | GTK_DIALOG_NO_SEPARATOR
                                         | GTK_DIALOG_DESTROY_WITH_PARENT,
                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                         _("_Select"), GTK_RESPONSE_OK,
@@ -2137,7 +2137,7 @@ thunar_standard_view_action_select_by_pattern (GtkAction          *action,
   gtk_window_set_default_size (GTK_WINDOW (dialog), 290, -1);
 
   hbox = g_object_new (GTK_TYPE_HBOX, "border-width", 6, "spacing", 10, NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
   gtk_widget_show (hbox);
 
   label = gtk_label_new_with_mnemonic (_("_Pattern:"));
@@ -2415,7 +2415,7 @@ thunar_standard_view_new_files (ThunarStandardView *standard_view,
           g_list_free (file_list);
 
           /* grab the focus to the view widget */
-          gtk_widget_grab_focus (GTK_BIN (standard_view)->child);
+          gtk_widget_grab_focus (gtk_bin_get_child (GTK_BIN (standard_view)));
         }
     }
 }
@@ -2553,7 +2553,7 @@ thunar_standard_view_key_press_event (GtkWidget          *view,
   if ((event->keyval == GDK_slash || event->keyval == GDK_asciitilde || event->keyval == GDK_dead_tilde) && !(event->state & (~GDK_SHIFT_MASK & gtk_accelerator_get_default_mod_mask ())))
     {
       /* popup the location selector (in whatever way) */
-      if (event->keyval == GDK_dead_tilde)
+      if (event->keyval == GDK_KEY_dead_tilde)
         g_signal_emit (G_OBJECT (standard_view), standard_view_signals[START_OPEN_LOCATION], 0, "~");
       else
         g_signal_emit (G_OBJECT (standard_view), standard_view_signals[START_OPEN_LOCATION], 0, event->string);
@@ -2783,7 +2783,7 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
 
                       /* determine the toplevel window */
                       toplevel = gtk_widget_get_toplevel (view);
-                      if (toplevel != NULL && GTK_WIDGET_TOPLEVEL (toplevel))
+                      if (toplevel != NULL && gtk_widget_get_toplevel (toplevel))
                         {
 #if defined(GDK_WINDOWING_X11)
                           /* on X11, we can supply the parent window id here */
@@ -2799,9 +2799,10 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
                       argv[n++] = NULL;
 
                       /* try to run exo-desktop-item-edit */
-                      succeed = gdk_spawn_on_screen (gtk_widget_get_screen (view), working_directory, argv, NULL,
-                                                     G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
-                                                     NULL, NULL, &pid, &error);
+                      /* TODO use xfce_spawn here */
+                      succeed = g_spawn_async (working_directory, argv, NULL,
+                                               G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
+                                               NULL, NULL, &pid, &error);
                       if (G_UNLIKELY (!succeed))
                         {
                           /* display an error dialog to the user */
@@ -3026,7 +3027,8 @@ thunar_standard_view_drag_data_get (GtkWidget          *view,
 
   /* set the URI list for the drag selection */
   uri_string = thunar_g_file_list_to_string (standard_view->priv->drag_g_file_list);
-  gtk_selection_data_set (selection_data, selection_data->target, 8, (guchar *) uri_string, strlen (uri_string));
+  gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
+                          8, (guchar *) uri_string, strlen (uri_string));
   g_free (uri_string);
 }
 
@@ -3211,15 +3213,17 @@ thunar_standard_view_drag_scroll_timer (gpointer user_data)
   gint                offset;
   gint                y, x;
   gint                w, h;
+  GtkWidget          *child;
 
   GDK_THREADS_ENTER ();
 
   /* verify that we are realized */
-  if (G_LIKELY (GTK_WIDGET_REALIZED (standard_view)))
+  if (G_LIKELY (gtk_widget_get_realized (standard_view)))
     {
       /* determine pointer location and window geometry */
-      gdk_window_get_pointer (GTK_BIN (standard_view)->child->window, &x, &y, NULL);
-      gdk_window_get_geometry (GTK_BIN (standard_view)->child->window, NULL, NULL, &w, &h, NULL);
+      child = gtk_bin_get_child (GTK_BIN (standard_view));
+      gdk_window_get_pointer (gtk_widget_get_window (child), &x, &y, NULL);
+      gdk_window_get_geometry (gtk_widget_get_window (child), NULL, NULL, &w, &h, NULL);
 
       /* check if we are near the edge (vertical) */
       offset = y - (2 * 20);
@@ -3291,9 +3295,11 @@ thunar_standard_view_drag_timer (gpointer user_data)
 static void
 thunar_standard_view_drag_timer_destroy (gpointer user_data)
 {
+  GtkWidget *child = gtk_bin_get_child (GTK_BIN (user_data));
+
   /* unregister the motion notify and button release event handlers (thread-safe) */
-  g_signal_handlers_disconnect_by_func (GTK_BIN (user_data)->child, thunar_standard_view_button_release_event, user_data);
-  g_signal_handlers_disconnect_by_func (GTK_BIN (user_data)->child, thunar_standard_view_motion_notify_event, user_data);
+  g_signal_handlers_disconnect_by_func (child, thunar_standard_view_button_release_event, user_data);
+  g_signal_handlers_disconnect_by_func (child, thunar_standard_view_motion_notify_event, user_data);
 
   /* reset the drag timer source id */
   THUNAR_STANDARD_VIEW (user_data)->priv->drag_timer_id = -1;
@@ -3591,7 +3597,7 @@ thunar_standard_view_queue_popup (ThunarStandardView *standard_view,
       standard_view->priv->drag_y = event->y;
 
       /* figure out the real view */
-      view = GTK_BIN (standard_view)->child;
+      view = gtk_bin_get_child (GTK_BIN (standard_view));
 
       /* we use the menu popup delay here, which should give us good values */
       settings = gtk_settings_get_for_screen (gtk_widget_get_screen (view));
diff --git a/thunar/thunar-text-renderer.c b/thunar/thunar-text-renderer.c
index f40f424..5f41f19 100644
--- a/thunar/thunar-text-renderer.c
+++ b/thunar/thunar-text-renderer.c
@@ -469,19 +469,19 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
 
   if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
     {
-      if (GTK_WIDGET_HAS_FOCUS (widget))
+      if (gtk_widget_has_focus (widget))
         state = GTK_STATE_SELECTED;
       else
         state = GTK_STATE_ACTIVE;
     }
   else if ((flags & GTK_CELL_RENDERER_PRELIT) == GTK_CELL_RENDERER_PRELIT
-        && GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT)
+        && gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT)
     {
       state = GTK_STATE_PRELIGHT;
     }
   else
     {
-      if (GTK_WIDGET_STATE (widget) == GTK_STATE_INSENSITIVE)
+      if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE)
         state = GTK_STATE_INSENSITIVE;
       else
         state = GTK_STATE_NORMAL;
@@ -556,7 +556,7 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
   /* draw the focus indicator */
   if (text_renderer->follow_state && (flags & GTK_CELL_RENDERER_FOCUSED) != 0)
     {
-      gtk_paint_focus (widget->style, window, GTK_WIDGET_STATE (widget), NULL, widget, "icon_view",
+      gtk_paint_focus (widget->style, window, gtk_widget_get_state (widget), NULL, widget, "icon_view",
                        cell_area->x + x_offset, cell_area->y + y_offset, text_width, text_height);
     }
 
@@ -802,7 +802,7 @@ thunar_text_renderer_entry_menu_popdown_timer (gpointer user_data)
   GDK_THREADS_ENTER ();
 
   /* check if we still have the keyboard focus */
-  if (G_UNLIKELY (!GTK_WIDGET_HAS_FOCUS (text_renderer->entry)))
+  if (G_UNLIKELY (!gtk_widget_has_focus (text_renderer->entry)))
     thunar_text_renderer_editing_done (GTK_CELL_EDITABLE (text_renderer->entry), text_renderer);
 
   GDK_THREADS_LEAVE ();
diff --git a/thunar/thunar-throbber.c b/thunar/thunar-throbber.c
index 4bcd087..9d210e1 100644
--- a/thunar/thunar-throbber.c
+++ b/thunar/thunar-throbber.c
@@ -123,7 +123,7 @@ thunar_throbber_class_init (ThunarThrobberClass *klass)
 static void
 thunar_throbber_init (ThunarThrobber *throbber)
 {
-  GTK_WIDGET_SET_FLAGS (throbber, GTK_NO_WINDOW);
+  gtk_widget_set_has_window (GTK_WIDGET (throbber), FALSE);
   throbber->timer_id = -1;
 }
 
diff --git a/thunar/thunar-tree-view.c b/thunar/thunar-tree-view.c
index bdbc367..7abead6 100644
--- a/thunar/thunar-tree-view.c
+++ b/thunar/thunar-tree-view.c
@@ -336,11 +336,11 @@ thunar_tree_view_class_init (ThunarTreeViewClass *klass)
 
   /* setup the key bindings for the tree view */
   binding_set = gtk_binding_set_by_class (klass);
-  gtk_binding_entry_add_signal (binding_set, GDK_BackSpace, GDK_CONTROL_MASK, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_Delete, 0, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Delete, 0, "delete-selected-files", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_BackSpace, GDK_CONTROL_MASK, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, 0, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, 0, "delete-selected-files", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, GDK_SHIFT_MASK, "delete-selected-files", 0);
 }
 
 
@@ -2124,7 +2124,7 @@ thunar_tree_view_action_properties (ThunarTreeView *view)
     {
       /* determine the toplevel window */
       toplevel = gtk_widget_get_toplevel (GTK_WIDGET (view));
-      if (G_LIKELY (toplevel != NULL && GTK_WIDGET_TOPLEVEL (toplevel)))
+      if (G_LIKELY (toplevel != NULL && gtk_widget_get_toplevel (toplevel)))
         {
           /* popup the properties dialog */
           dialog = thunar_properties_dialog_new ();
@@ -2346,7 +2346,7 @@ thunar_tree_view_drag_scroll_timer (gpointer user_data)
   GDK_THREADS_ENTER ();
 
   /* verify that we are realized */
-  if (GTK_WIDGET_REALIZED (view))
+  if (gtk_widget_get_realized (view))
     {
       /* determine pointer location and window geometry */
       gdk_window_get_pointer (GTK_WIDGET (view)->window, NULL, &y, NULL);
diff --git a/thunar/thunar-util.c b/thunar/thunar-util.c
index 7b97414..c9c5f19 100644
--- a/thunar/thunar-util.c
+++ b/thunar/thunar-util.c
@@ -309,7 +309,7 @@ thunar_util_parse_parent (gpointer    parent,
     {
       /* parent is a widget, so let's determine the toplevel window */
       window = gtk_widget_get_toplevel (GTK_WIDGET (parent));
-      if (GTK_WIDGET_TOPLEVEL (window))
+      if (gtk_widget_get_toplevel (window))
         {
           /* make sure the toplevel window is shown */
           gtk_widget_show_now (window);
diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c
index 7e19e57..9fe737e 100644
--- a/thunar/thunar-window.c
+++ b/thunar/thunar-window.c
@@ -528,13 +528,13 @@ thunar_window_class_init (ThunarWindowClass *klass)
 
   /* setup the key bindings for the windows */
   binding_set = gtk_binding_set_by_class (klass);
-  gtk_binding_entry_add_signal (binding_set, GDK_BackSpace, 0, "back", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_F5, 0, "reload", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_F9, 0, "toggle-sidepane", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Add, GDK_CONTROL_MASK, "zoom-in", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Subtract, GDK_CONTROL_MASK, "zoom-out", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_0, GDK_CONTROL_MASK, "zoom-reset", 0);
-  gtk_binding_entry_add_signal (binding_set, GDK_KP_Insert, GDK_CONTROL_MASK, "zoom-reset", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_BackSpace, 0, "back", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_F5, 0, "reload", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_F9, 0, "toggle-sidepane", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Add, GDK_CONTROL_MASK, "zoom-in", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Subtract, GDK_CONTROL_MASK, "zoom-out", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_0, GDK_CONTROL_MASK, "zoom-reset", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_CONTROL_MASK, "zoom-reset", 0);
 }
 
 
@@ -817,7 +817,7 @@ thunar_window_init (ThunarWindow *window)
       gtk_container_add (GTK_CONTAINER (ebox), label);
       gtk_widget_show (label);
 
-      separator = gtk_hseparator_new ();
+      separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
       gtk_table_attach (GTK_TABLE (window->table), separator, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
       gtk_widget_show (separator);
     }
@@ -2178,8 +2178,7 @@ thunar_window_action_open_templates (GtkAction    *action,
     {
       /* display the "About Templates" dialog */
       dialog = gtk_dialog_new_with_buttons (_("About Templates"), GTK_WINDOW (window),
-                                            GTK_DIALOG_DESTROY_WITH_PARENT
-                                            | GTK_DIALOG_NO_SEPARATOR,
+                                            GTK_DIALOG_DESTROY_WITH_PARENT,
                                             GTK_STOCK_OK, GTK_RESPONSE_OK,
                                             NULL);
 
@@ -2187,7 +2186,7 @@ thunar_window_action_open_templates (GtkAction    *action,
 
       hbox = gtk_hbox_new (FALSE, 6);
       gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
-      gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+      gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
       gtk_widget_show (hbox);
 
       image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG);
@@ -2195,7 +2194,7 @@ thunar_window_action_open_templates (GtkAction    *action,
       gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
       gtk_widget_show (image);
 
-      vbox = gtk_vbox_new (FALSE, 18);
+      vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18);
       gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
       gtk_widget_show (vbox);
 
@@ -2586,7 +2585,7 @@ thunar_window_notify_loading (ThunarView   *view,
   _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
   _thunar_return_if_fail (THUNAR_VIEW (window->view) == view);
 
-  if (GTK_WIDGET_REALIZED (window))
+  if (gtk_widget_get_realized (window))
     {
       /* setup the proper cursor */
       if (thunar_view_get_loading (view))


More information about the Xfce4-commits mailing list