Commit Graph

39816 Commits

Author SHA1 Message Date
Carlos Garnacho
42c41d7bbd scrolledwindow: Be smarter at invalidating overshoot areas
The previous way to invalidate was meant to work on the overshoot window
so it wouldn't be as taxing. Since the overshoot window is gone, this
would invalidate way more than intended. So constrain invalidated areas
to the sides where overshoot is happenning at that moment.

https://bugzilla.gnome.org/show_bug.cgi?id=735223
2014-08-28 16:44:12 +02:00
Carlos Garnacho
3df8b95e0e tooltip: Use subsurfaces on wayland
This places tooltips in the right place, and avoids having those attempt
to steal the focus.

https://bugzilla.gnome.org/show_bug.cgi?id=735531
2014-08-28 16:41:14 +02:00
Lapo Calamandrei
68d6968955 Adwaita: border rationalization and cleanup
Rely only on border-style for border, take out border-width and
border-style from drawing functions.
2014-08-28 15:44:36 +02:00
Emmanuele Bassi
5ad60caa3c css: Implement font-stretch
The font-stretch CSS property is defined in the Level 3 CSS Fonts
module, available at:

  http://dev.w3.org/csswg/css-fonts/#propdef-font-stretch

It allows defining a normal, condensed, or expanded face to the font
description. Pango already supports it, so this is literally just the
CSS parser machinery needed to bridge our CSS to the FontDescription
API.

https://bugzilla.gnome.org/show_bug.cgi?id=735593
2014-08-28 13:41:40 +01:00
Lapo Calamandrei
f05e9d2612 Adwaita: take named colors out of _colors.scss
To be able to use sass for shipped css, importing _colors.scss
and _drawings.scss.
2014-08-28 13:21:14 +02:00
Lapo Calamandrei
c0ed8e954e Adwaita: rationalize font sizes.
...making GtkSwitch font-size relative in the process.
2014-08-28 12:48:32 +02:00
Emmanuele Bassi
80f4dffa76 theme: Specify the weight, not the font, for header bar titles
Using `font: Bold` will override the font with whatever the system
resolves a `Bold` font name to, including the font's own default size.

We want the font weight to be bold, but we want the default font name
and size to come from the GtkSettings:font-name property, like we do for
the rest of the system.
2014-08-28 11:20:45 +01:00
Matthias Clasen
974807fae9 Adwaita: Make expanders turn again
The theme needed some small adjustments for the recent expander
state changes ACTIVE to CHECKED.
2014-08-27 22:17:29 -04:00
Benjamin Otte
75ac49c475 Use CHECKED instead of ACTIVE for expanded expanders
https://bugzilla.gnome.org/show_bug.cgi?id=733967
2014-08-27 21:27:20 +02:00
Benjamin Otte
f1b14a33b5 configure: Move AC_USE_SYSTEM_EXTENSIONS up
We don't want to get warnings from autoconf about
AC_USE_SYSTEM_EXTENSIONS coming after AC_COMPILE_IFELSE.
2014-08-27 21:27:20 +02:00
Jesse van den Kieboom
b57bef989a quartz-dnd: make sure to set source window
https://bugzilla.gnome.org/show_bug.cgi?id=658722
2014-08-27 20:57:17 +02:00
Lapo Calamandrei
6b0e4ba789 Adwaita: no edge hilight for popover checks/radios 2014-08-27 18:29:32 +02:00
Benjamin Otte
21d3701291 reftests: Fix Makefile
with non-installed tests the build would get an empty $(reftestdir)
which would screw up the LDFLAGS.

An rpath seems to be required to make libtool build a shared object.
Without an rpath line, it only builds a static object.

https://bugzilla.gnome.org/show_bug.cgi?id=735401
2014-08-27 18:02:52 +02:00
Benjamin Otte
4a6ecf33fc gtk-demo: Don't use mad mime type guessing
... for displaying resources. Instead use the proven and way more
reliable method of trial and error.

It's less code and more portable for a start.
But most of all it displays PNM files as text if you fail to compile
the gdk-pixbuf loader for it.
2014-08-27 18:02:48 +02:00
Benjamin Otte
de061a83a4 modifierstyle: Remove the changed signal
It's been unused since last commit
2014-08-27 17:57:10 +02:00
Benjamin Otte
01d644b7ee widget: Don't connect to GtkModifierStyle::changed
Changes to the modifier style will be picked up by the
GtkStyleProviderPrivate::changed signal. And that signal will actually
invalidate properly.
2014-08-27 17:57:10 +02:00
Carlos Garnacho
d34f2526c4 wayland: Ensure the parent is committed after repositioning subsurfaces
Subsurface position is deemed part of the state of the parent surface, so
ensure wl_surface_commit() happens on the parent surface if none is
scheduled, so the repositioning takes place.
2014-08-27 17:45:16 +02:00
Carlos Garnacho
e6199af60d treeview: Reset multipress controller after 2nd click
The pre-gestures code used to compare the current button press with the
previous one on !activate_on_single_click, and unset the previous event
data so ::row-activated would be emitted every 2 clicks.

So do the same with the multipress gesture and reset it after every 2nd
click to have ::row-activated emitted multiple times while manic clicking.

https://bugzilla.gnome.org/show_bug.cgi?id=735353
2014-08-27 17:12:52 +02:00
Emmanuele Bassi
79c3ff3c4e threads: Do not release the GDK lock if it hasn't been acquired yet
Since GLib ≥ 2.41, attempting to release an unlocked mutex will abort(),
as it happens on most systems already.

Given the lack of proper documentation on how to use GDK with threads,
there is code in the wild that does:

    gdk_threads_init ();
    gdk_init ();

    ...

    gtk_main ();

instead of the idiomatically correct:

    gdk_threads_init ();
    gdk_threads_enter ();

    gtk_init ();

    ...

    gtk_main ();

    ...

    gdk_threads_leave ();

Which means that gtk_main() will try to release the GDK lock, and thus
trigger an error from GLib.

we cannot really fix all the wrong code everywhere, and since it does
not cost us anything, we can work around the issue inside GDK itself, by
trying to acquire the GDK lock inside gdk_threads_leave() with
trylock().

https://bugzilla.gnome.org/show_bug.cgi?id=735428
2014-08-26 20:07:33 -04:00
Benjamin Otte
0f0fc59fbd build: make reftests work without installed tests
The libreftest.so module needs to be built in all cases.
Without installed tests, it needs to not be installed though.

https://bugzilla.gnome.org/show_bug.cgi?id=735401
2014-08-26 20:05:49 -04:00
Ikey Doherty
6e1ef76480 Cleanup invalid comments (duplication of words)
https://bugzilla.gnome.org/show_bug.cgi?id=735301

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2014-08-26 19:55:38 -04:00
Carlos Garnacho
ea830aee5d button: Track gesture point to maintain priv->in_button
This makes the active state work invariably with both mouse/touch, and
regardless of X11 pointer emulation being friendly and sending crossing
events for the emulated pointer events in the latter.

This makes GtkButtons' active state look correct when pressing on
touchscreens on wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=731380
2014-08-26 23:21:24 +02:00
Carlos Garnacho
d04d29f26c entrycompletion: Mark popup window as subsurface on wayland
This will make the completion window use GDK_WINDOW_SUBSURFACE and be
shown relative to the parent window without involving compositor grabs.

https://bugzilla.gnome.org/show_bug.cgi?id=695504
2014-08-26 23:06:02 +02:00
Carlos Garnacho
c38651cac4 gtkwindow: Add private API to mark as subsurface
This is a rather hackish way to let GTK+ widgets declare popup windows
as subsurfaces, so they may work on wayland without the need of xdg_popup,
and without many changes yet on the GTK+ side.

https://bugzilla.gnome.org/show_bug.cgi?id=695504
2014-08-26 23:06:01 +02:00
Lapo Calamandrei
6574d99adf Adwaita: menu checks and radios making sense 2014-08-26 20:32:36 +02:00
Lapo Calamandrei
a02b8e06a4 Adwaita: set a background for GtkTextView
Needed for gedit line numbers, overridden by .view {} normally
2014-08-26 19:54:41 +02:00
Lapo Calamandrei
a65acc7e8d Adwaita: minor fixes to GtkLabel 2014-08-26 19:24:44 +02:00
Lapo Calamandrei
e9a3d42473 Adwaita: take rtl into consideration for GtkAssistant 2014-08-26 18:02:28 +02:00
Lapo Calamandrei
a677205dca Adwaita: GtkAssistant tweakings 2014-08-26 17:51:45 +02:00
Lapo Calamandrei
c942389adb Adwaita: treeview checks/radios minor fix
Superfluous icon shadow in checked hover state removed.
2014-08-26 16:56:22 +02:00
Lapo Calamandrei
9585de7832 Adwaita: in app notification fixes 2014-08-26 16:54:19 +02:00
Carlos Garnacho
bb3a8edb9f scalebutton: Handle smooth scroll events
This has the double effect to make scale button truly smooth, and make
scrolling work on wayland, since all scrolling is "smooth" there.

https://bugzilla.gnome.org/show_bug.cgi?id=720269
2014-08-26 14:54:08 +02:00
Carlos Garnacho
2e7d5b22a1 wayland: Fix x/y coordinate arguments on wl_data_device events
Those are wl_fixed_t, not int.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-08-26 14:46:13 +02:00
Carlos Garnacho
001327d999 wayland: ensure gdk_device_manager_get_client_pointer() returns a master pointer
The internal ordering of devices isn't quite guaranteed, so ensure we're returning
the right one.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-08-26 14:46:13 +02:00
Jakub Steiner
dd464513a3 Revert "Adwaita: notebook background"
Not a good solution to the problem at hand (gedit line numbering)

This reverts commit fde03c1f81.
2014-08-26 14:08:47 +02:00
Carlos Garnacho
29d9b2f7cf wayland: unset sequence if the xdg surface is moved/resized through touch
The latest implicit grab serial is used in order to start the compositor
grab, If it belongs to a touch event, remove that touch sequence, as the
rest of the sequence will be gone for good.

This avoids stale sequences (and implicit grab info) after a window is
moved/resized.

https://bugzilla.gnome.org/show_bug.cgi?id=731380
2014-08-26 13:41:05 +02:00
Carlos Garnacho
2c36dc7592 wayland: Add internal API to unset a touch implicit grab
This removes both the wayland specific accounting, and the Gdk implicit
grab tracking.

https://bugzilla.gnome.org/show_bug.cgi?id=731380
2014-08-26 13:39:41 +02:00
Carlos Garnacho
6f789d5a78 wayland: Update the display serial on touch down/up events
https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:33:30 +02:00
Carlos Garnacho
537ff9fcad wayland: Improve implicit grab serial retrieval
_gdk_wayland_device_get_button_press_serial() has been replaced by
_gdk_wayland_device_get_implicit_grab_serial(), which takes a touch/pointer
event and figures out the relevant serial, and
_gdk_wayland_device_get_last_implicit_grab_serial() which returns
the most recent serial.

The button press serial was currently used when operating popping up
xdg_shell/surface popups and window menus, so this is now touch aware, of
some sort.

https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:32:46 +02:00
Carlos Garnacho
5b8641740b wayland: Store per-touch touch_down serial
https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:32:16 +02:00
Carlos Garnacho
12398c5d74 wayland: rename internal touch management functions
These functions arent quite related to the device manager, so rename these
more conveniently.

https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:31:52 +02:00
Carlos Garnacho
8f2d8dfa3b wayland: Protect against invalid keymaps gotten from the compositor
If the compositor sends a keymap that fails on "compilation",
xkb_keymap_new_from_string() returns NULL, which makes xkb_state_new()
crash when assuming there is a keymap.

In these cases, gdk must remain with a xkb_state to handle modifiers/keys
properly, so warn about the invalid keymap string, and keep the previous
keymap (currently initialized to "us")

https://bugzilla.gnome.org/show_bug.cgi?id=735389
2014-08-26 13:04:08 +02:00
Carlos Garnacho
ab6f771413 wayland: create a wl_subsurface interface for GDK_WINDOW_SUBSURFACE windows
This subsurface is currently dependent on the transient_for parent, so the
subsurface is repositioned relative to it.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Carlos Garnacho
ad9da99d86 wayland: Acquire wl_subcompositor interface
This will be needed for GDK_WINDOW_SUBSURFACE windows.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Carlos Garnacho
84414f0381 gdk: Add GDK_WINDOW_SUBSURFACE window type
This window type can only be used on wayland so far, so NULL is returned
if it's attempted to be used on any other windowing backend.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Carlos Garnacho
e206b72635 wayland: Make toplevels' X/Y coordinates be 0
To all effects each window has its own "root" coordinates system, so set
toplevels at 0,0 in that coordinate system, so root coordinate calculations
are locally right.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Jakub Steiner
fde03c1f81 Adwaita: notebook background 2014-08-26 12:32:05 +02:00
Paolo Borelli
290a19e93d TextView: clear the background using the default bg color
Try to tidy up how the background is set on the textview:
 *) the .view class should be applied only to the text window, not
    to the margins
 *) when setting the background on the margins we must use .left etc
 *) use context_set_bg instead of manually setting the color

https://bugzilla.gnome.org/show_bug.cgi?id=735368
2014-08-26 09:55:53 +02:00
Matthias Clasen
d5876e99f5 GtkTreeView: Avoid a crash with empty trees
The gesture code was assuming that the rb tree exists, which
will not be the case if the treeview is empty.

https://bugzilla.gnome.org/show_bug.cgi?id=735300
2014-08-26 00:06:23 -04:00
Jakub Steiner
318555ca26 Adwaita: define styling for location-bar toolbars
- same inset style as searchbars
2014-08-25 19:20:49 +02:00