widget-factory: Fix a typo
listbox: Scroll headers on screen

The listbox code relies on the container focus adjustment handling
to scroll the cursor row on screen. But GtkContainer has no idea
about row headers, so ensure that we scroll the header on screen too.
Adwaita: Try to fix up selection touch handles

The text handles reuse the style context from their parent widget,
and just add .cursor-handle. That means that the more specific
entry selectors override the .cursor-handle theming unless we
select for .entry.cursor-handle. We also need to work harder to
keep the .entry styling from drawing decorations around the outlines.
Allow to use -gtk-icon-source for handles

This will let us use icons for touch selection handles, once
they use gtk_render_handle.
GtkTextHandle: Better draw() implementation

Conceptually, text handles are boxes, whose content is a 'handle',
so draw background, frame and handle. With this, and the previous
commit, the cursor-handle theming in Adwaita now works as intended.
Adwaita: Work towards working touch selection popups

This fixes some of the confusion around toolbars inside .osd.
The look is not perfect, but less broken than before.
inspector: Do not accidentally change tab in the object notebook

The "hide-and-show" dance makes the notebook select the next tab.

https://bugzilla.gnome.org/show_bug.cgi?id=733092
Handle resolution changes in the GDK backend code

gdk_x11_display_set_window_scale() affects the interpretation of the
Xft/DPI XSETTING - it is substituted inside GDK with the value of
Gdk/UnscaledDPI xsetting. However, this change is not propagated to
GTK+ and from GTK+ back to gdk_screen_set_resolution() until the
main loop is run.

Fix this by handling the screen resolution directly in gdk/x11.
This requires duplication of code between GDK and GTK+ since we still
have to handle DPI in GTK+ in the case that GdkSettings:gtk-xft-dpi
is set by the application.

https://bugzilla.gnome.org/show_bug.cgi?id=733076
listbox: Avoid a warning

Don't try to set an adjustment value if we don't have an adjustment.
inspector: Make listbox rows non-activatable
inspector: Make values in general tab selectable
Add a getter for the adjustment animation duration
GtkTreeView: Avoid interference with animation

The animated scrolling interferes with incremental validation.
As short-term solution, disable scrolling animation during
incremental validation. This is not a proper solution, but
it avoids broken behavior like scrollbars that are not reacting
to clicks. The problem was visible, e.g. in the list view
example in gtk3-demo.
Revert "GtkTreeView: Avoid interference with animation"

This reverts commit faa676ffa73060538a4a456531ad1810f3ff7b95.

It fixed the problematic list view example in gtk3-demo, but
broke all others :-(
Fix a typo

A getter shouldn't return void.
GtkTreeView: Avoid interference with animation

The animated scrolling interferes with incremental validation.
As short-term solution, disable scrolling animation during
incremental validation. This is not a proper solution, but
it avoids broken behavior like scrollbars that are not reacting
to clicks. The problem was visible, e.g. in the list view
example in gtk3-demo.
Don't use guint32 with XChangeProperty

As pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=710449,
XChangeProperty expects data to be a long array for format 32.
listbox: Update docs

Multiple selection is supported now.
widget-factory: Use multi-selection for the listbox example
widget-factory: Fix multi-selection example

It turns out that activate-on-single-click interferes with the
expected multi-selection behavior. Turn it off, since there's nothing
to activate in this list, anyway.