wayland: Fix order of xdg-shell requests
headerbar: Remove unused private API

Don't remove gtkheaderbarprivate.h, even though it's empty,
since we'll add more to it soon.

https://bugzilla.gnome.org/show_bug.cgi?id=720233
GtkFileChooserDefault: Remove unused struct field

The field changing_folder is no longer used anywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=720293
testtitlebar: Fix -Wunused-variable warning

GtkWidget *title is no longer used.

https://bugzilla.gnome.org/show_bug.cgi?id=720296
Updated Spanish translation
Add a header bar example to gtk-demo

This is basically standalone the testtitlebar example, turned
into a demo.
gtk-demo: Use title case consistently
Make testtitlebar more testy

Now that the nice titlebar example is in gtk3-demo, we can
use testtitlebar as an actual testbed for headerbar stuff.

This immediately reveals size allocation issues when titlebar
widgets change size.
GtkFileChooser: Don't fill location_entry if we just populated the file list

Only fill the location entry with the file name of the tree view's
selected file when the selection was done by the user.

When the file chooser's action is GTK_FILE_CHOOSER_ACTION_OPEN, it
selects the first file in the tree view once loading has finished. For
this case we don't want it to insert the file name in the location
entry, as it hinders efficient navigation using the location entry. To
achieve this, use a priv flag to keep track of whether the
selection-changed signal was caused by the file chooser itself.

https://bugzilla.gnome.org/show_bug.cgi?id=386569
GtkHeaderBar: treat "" as 'no subtitle'

This is one of the few cases where it makes some sense to blur
the line between and empty string and NULL: without this, it is
hard to reset the subtitle e.g. from a builder file. And we
have the has-subtitle property now to enforce subtitle size
allocation independently.
headerbar: Support all kinds of CSD decorations

Move the gtkwindow.c CSD code into GtkHeaderBar, and make it triggerable
by the show-close-button property, and remove shows-fallback-app-menu.

https://bugzilla.gnome.org/show_bug.cgi?id=720233
testtitlebar: more tests

Turn this into a GtkApplication with an app menu.
Allow to override the gtk-shell-shows-app-menu setting
and the decoration-button-layout style property.
testtitlebar: Fix initial values

Make sure that the controls show the initial values fo the
headerbar properties, not the other way around.
window: Update decorations when updating state

This fixes the maximize button not updating...
headerbar: Respect the show-close-button property
gdk: add gdk_window_set_shadow_width()

And deprecate the X11-specific version of it.

We call this new API _set_shadow_width() and not _set_frame_extents()
because we already have a gdk_window_get_frame_extents() with a
different meaning and different type of value.

https://bugzilla.gnome.org/show_bug.cgi?id=720374
testtitlebar: Set a window icon

This reveals that GtkHeaderBar does not pick up window icons
correctly for it menu button, currently.
Make window icons work in GtkHeaderBar
GtkHeaderBar: don't show dangling separators

If we don't have a window icon, we hide the titlebar_icon,
we still add it, so we can't simply go by the number of
children when deciding whether to show the separator or
now. Instead, update the separator visibility as we create
the various buttons.
Drop a reference to nonexisting API

The GtkApplicationWindow documentation had a reference
to gtk_header_bar_set_show_fallback_app_menu(). That
function no longer exists, so drop it.