Matthias Clasen
805f3bb123
vulkan: Give up on VkResult
...
This enumeration is not managed in a sane way.
Just report the numbers.
2020-12-28 19:04:35 -05:00
Benjamin Otte
0fcf01ddd5
Merge branch 'gtkmediafile-pixel-aspect-ratio' into 'master'
...
gtkmediafile: Consider pixel-aspect-ratio for rendering video with the correct aspect ratio
Closes #3516
See merge request GNOME/gtk!3007
2020-12-28 14:54:30 +00:00
Asier Sarasua Garmendia
1119a74ff0
Update Basque translation
2020-12-27 17:56:02 +00:00
Sebastian Dröge
18ea60e235
gtkmediafile: Consider pixel-aspect-ratio for rendering video with the correct aspect ratio
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3516
2020-12-27 19:33:55 +02:00
Matthias Clasen
d752828977
Merge branch 'wip/jtojnar/trivial-fix-pc-vulcan' into 'master'
...
build: Fix vulkan reference in pc file
Closes #3517
See merge request GNOME/gtk!3006
2020-12-27 17:06:52 +00:00
Fran Dieguez
1034271d9a
Update Galician translation
2020-12-27 16:56:56 +00:00
Fran Dieguez
f013d3b5d6
Update Galician translation
2020-12-27 16:51:38 +00:00
Benjamin Otte
5f41d26abc
Merge branch 'gtkgstsink-unmap-only-when-done' into 'master'
...
gtkmediafile: Only unmap the GstVideoFrame in the GBytes destroy notify
See merge request GNOME/gtk!3003
2020-12-27 06:17:36 +00:00
Jan Tojnar
7d5826ccf7
build: Fix vulkan reference in pc file
...
A mistake in string concatenation caused the vulcan dependency to be omitted.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3517
2020-12-27 06:42:29 +01:00
Matthias Clasen
daded2bc86
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!3004
2020-12-27 05:21:26 +00:00
Matthias Clasen
bc7619abaf
Merge branch 'gtkclip' into 'master'
...
gtk: remove GtkClipboard leftovers
See merge request GNOME/gtk!2991
2020-12-27 04:32:26 +00:00
Matthias Clasen
459d6e1349
Merge branch 'wip/carlosg/for-master' into 'master'
...
gtk/gesturestylus: Convert motion history from surface coordinates
Closes #3491
See merge request GNOME/gtk!2999
2020-12-27 04:30:38 +00:00
Sebastian Dröge
6e108d310a
gtkmediafile: Only unmap the GstVideoFrame in the GBytes destroy notify
...
The memory pointed to by GstVideoFrame::plane_data becomes invalid after
unmapping causing the GBytes to point at some random memory if the
unmapping is not deferred until its destroy notify.
When the GStreamer buffer is backed by normal system memory this is not
a problem but if it is backed by e.g. an OpenGL texture, dmabuf or some
other hardware-specific memory this will otherwise cause interesting
problems.
2020-12-26 14:26:23 +02:00
Benjamin Otte
9c84fa127a
Merge branch 'unused-static-inline' into 'master'
...
Remove unused static inline function
See merge request GNOME/gtk!3002
2020-12-25 18:05:11 +00:00
Emmanuel Gil Peyrot
84c6708366
Remove unused static inline function
...
This was causing a warning on AArch64 since __LITTLE_ENDIAN__ and
__BIG_ENDIAN__ weren’t set, but the functions were actually completely
unused.
2020-12-25 16:16:43 +01:00
Benjamin Otte
f7e3016949
Merge branch 'gles-gears' into 'master'
...
Fix gtk4-demo’s gears demo on OpenGL ES
See merge request GNOME/gtk!3000
2020-12-25 01:36:34 +00:00
Emmanuel Gil Peyrot
dd1110ca5c
Fix some of gtk4-demo’s transitions example on OpenGL ES
...
Same issue as the previous commit, int+float is error, and pow() only
works on floats.
2020-12-25 01:36:21 +01:00
Emmanuel Gil Peyrot
28c4adac24
Fix gtk4-demo’s gears demo on OpenGL ES
...
Here is a command to reproduce this testcase:
GDK_DEBUG=gl-gles gtk4-demo --run gears
Without this patch, Mesa throws this compile error:
0:130(13): error: no matching function for call to `mod(error, float)'; candidates are:
This is caused by `u_rotation - 90` being of type error since
`u_rotation` is a float and it’s illegal to subtract it with an integer.
2020-12-25 01:21:08 +01:00
Carlos Garnacho
cf20cfd31e
gtk/gesturestylus: Convert motion history from surface coordinates
...
Motion history coordinates are based on GdkSurface coordinates. Transform
the coordinates from the GtkNative they are received on, accounting for the
possible transforms (e.g. due to window borders and shadows).
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3491
2020-12-24 19:59:51 +01:00
Matthias Clasen
7e579bb59a
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2997
2020-12-24 07:13:22 +00:00
Benjamin Otte
96e1b85c2c
gdkarray: Add a "stolen" boolean to splice()
...
If set to TRUE, does not call the free func for the removed items.
This can be used to move items between arrays without having to do the
refcounting dance.
2020-12-24 06:38:45 +01:00
Benjamin Otte
71e616d17e
listview: Use the correct scroll policy
...
Use the horizontal policy for horizontal decisions, not the vertical
one.
This broke in 0011ce949c .
2020-12-24 06:38:45 +01:00
Benjamin Otte
f85d939e5e
docs: Put render nodes in their own sections
2020-12-24 06:38:45 +01:00
Benjamin Otte
8d014d6cb0
roundedbox: Remove unused API
2020-12-24 06:38:45 +01:00
Benjamin Otte
f7f8990f7a
picture: Fix copy/paste error in docs
2020-12-24 06:38:45 +01:00
Benjamin Otte
d6f288427a
video: When autoplaying, start playing once the video is prepared
...
This fixe video sources with longer loading times not automatically
playing.
2020-12-24 06:38:45 +01:00
Benjamin Otte
2a8f371643
gtk-demo: Don't put the search bar in the scroll area
...
1. That's a bad idea UI wise as you can't see the search after you
scrolled.
2. That's a bad idea code-wise because Listviews need to be put into
a ScrolledWindow or they won't scroll.
2020-12-24 06:38:45 +01:00
Benjamin Otte
dee863dbb2
rendernode: Bail if matrix is invalid
...
Invalid matrices are okay in GSK (and GL), but not in Cairo.
Testcase included.
2020-12-24 06:38:45 +01:00
A S Alam
7d6877ec80
Update Punjabi translation
2020-12-23 19:48:28 +00:00
Danial Behzadi
f426d23690
Update Persian translation
2020-12-23 15:53:07 +00:00
Matthias Clasen
6bd0dc3e78
colorbutton: Correct the css docs
...
Mention the wrapper colorbutton node.
2020-12-23 09:03:07 -05:00
Matthias Clasen
4f0c920a8e
fontbutton: Correct the css docs
...
Mention the wrapper fontbutton node.
2020-12-23 08:59:58 -05:00
Matthias Clasen
b0b793dd94
menubutton: Correct the css docs
...
We are using menubutton instead of button.popup now.
2020-12-23 08:56:18 -05:00
Matthias Clasen
efbb649eee
modelbutton: Center titles
...
The centering of titles was broken in b5b81dea7f .
Make it mostly work again by adding an empty end indicator.
Related: #3405
2020-12-23 00:51:51 -05:00
Matthias Clasen
e128a77eed
Merge branch 'matthiasc/for-master' into 'master'
...
window: Release application in destroy
See merge request GNOME/gtk!2994
2020-12-23 03:01:55 +00:00
Matthias Clasen
5cd2ee927a
window: Release application in destroy
...
We used to do this; it was lost in some life-cycle
reshuffling.
2020-12-22 20:34:13 -05:00
Marc-André Lureau
90dfb5e138
gtk: remove GtkClipboard leftovers
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
2020-12-22 16:39:54 +04:00
Matthias Clasen
e854b90293
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2990
2020-12-22 04:53:31 +00:00
Matthias Clasen
6d042d9e61
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2988
2020-12-22 02:29:03 +00:00
Matthias Clasen
4310f24a4e
Fix warnings with Vulkan < 162
...
Tiring to watch the Vulkan people stumble through
ABI and API compat, but what can you do.
2020-12-21 20:00:16 -05:00
Matthias Clasen
aebf8e3c29
Merge branch 'mcatanzaro/fix-gtk-builder-tool' into 'master'
...
Fix buffer overruns in 'gtk-builder-tool simplify'
See merge request GNOME/gtk!2987
2020-12-21 22:49:42 +00:00
Matthias Clasen
fcd449f0d4
modelbutton: Remove an unused field
...
We're not using the centered field anymore.
2020-12-21 17:45:01 -05:00
Michael Catanzaro
ab1b117d91
Fix buffer overruns in 'gtk-builder-tool simplify'
...
Oops, here we allocate only one byte for each pointer we want to store.
We need to multiply by the size of a pointer.
2020-12-21 15:39:34 -06:00
Emmanuele Bassi
1253296387
Merge branch 'fix-printbackends' into 'master'
...
Fix the value for the print-backends setting
Closes #3486
See merge request GNOME/gtk!2986
2020-12-21 20:04:26 +00:00
Matthias Clasen
466484176f
Merge branch 'ebassi/docs-for-master' into 'master'
...
Ebassi/docs for master
See merge request GNOME/gtk!2983
2020-12-21 19:22:38 +00:00
Matthias Clasen
20289ad8e1
Fix the value for the print-backends setting
...
This was broken in the meson conversion, causing
us to default to "" instead of the built print
backends.
Fixes : #3486
2020-12-21 14:10:03 -05:00
Matthias Clasen
0abb8c6862
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2984
2020-12-21 19:00:10 +00:00
Matthias Clasen
147386189f
inspector: Show glyphs as in node files
...
Reuse the glyph serialization code from gsk to
show glyphs in the same way here.
2020-12-21 13:11:46 -05:00
Matthias Clasen
9cec9e4ce2
gsk: Export the glyph serialization privately
...
We want to use the same serialization in the inspector,
so export this function.
2020-12-21 13:11:08 -05:00
Matthias Clasen
26119af7a6
gsk: Improve glyph serialization
...
The special case for ASCII glyphs is unfortunately not
working very well, because of an oversight in pango:
When I added subpixel positioning, I made pango_shape()
default to not rounding, and make PangoLayout call
pango_shape_with_flags() and pass the rounding information
down. The upshot is that we need to use the _with_flags
variant here and tell it to round position, so it matches
what the text node contains.
2020-12-21 13:08:34 -05:00
Timm Bäder
478d1f71e3
Merge branch 'fix-node-glyphs' into 'master'
...
gsk: Fix serialization of glyphs
Closes #3496
See merge request GNOME/gtk!2982
2020-12-21 17:16:38 +00:00
Emmanuele Bassi
b1d952b8a2
docs: Add examples for GtkDropTarget
...
Like we did for GtkDragSource.
2020-12-21 17:11:42 +00:00
Emmanuele Bassi
b9bcdbbfdc
docs: Add examples of GtkDragSource use
...
The description is a bit terse; we should help out application
developers some more.
2020-12-21 17:03:59 +00:00
Emmanuele Bassi
6c31ed53f4
docs: Fix typo and whitespace
2020-12-21 17:03:42 +00:00
Matthias Clasen
aa95ae774f
gsk: Fix serialization of glyphs
...
We were forgetting to put a space between two numbers
in some cases, confusing the parser.
Test included.
Fixes : #3496
2020-12-21 10:49:56 -05:00
Emmanuele Bassi
65adfd9243
Merge branch 'box_docs' into 'master'
...
box: improve documentation
Closes #3499
See merge request GNOME/gtk!2981
2020-12-21 15:40:07 +00:00
Yetizone
c4a8c0893b
box: improve documentation
...
Rephrase a function parameter description and remove "." from all function parameters descriptions
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3499
2020-12-21 17:26:23 +02:00
Timm Bäder
e90f5e8a20
gskpango: Don't copy fg color
...
No need to do that here, we copy it in to the individual render nodes
anyway.
2020-12-21 15:23:25 +01:00
Timm Bäder
526c76181e
gl renderer: Check for pointer equality in rounded_rect_equal
2020-12-21 15:22:08 +01:00
Timm Bäder
cf352374ae
gskpango: Correct a comment
...
Not all other draw calls will use cairo.
2020-12-21 13:23:28 +01:00
Timm Bäder
98b99201b0
gskpango: Remove bounds rect
...
We only need this to render shapes and trapezoids, i.e. only when
falling back to cairo. Remove code to measure the layout and convert the
ink_rect to a graphene_rect_t from gtk_snapshot_append_layout() and do
it when drawing shapes and trapezoids instead.
2020-12-21 12:56:38 +01:00
Timm Bäder
bce4d669ee
gskpango: Fix a potential cairo_t leak
...
The previous early return did not cairo_destroy() it.
2020-12-21 12:49:06 +01:00
Timm Bäder
e7a326e230
label: Refactor get_layout_location()
...
Rename a few local variables to be clearer about whether they belong to
the widget or to the layout.
Remove a workaround for an old bug that is no longer valid. We don't
underallocate the layout anymore. Aways center vertically, with respect
to the yalign.
2020-12-21 12:44:01 +01:00
Timm Bäder
9eaeaa8452
label: Refactor snapshot()
...
Use two early-out style if statements to reduce indentation in this
entire function.
2020-12-21 12:32:32 +01:00
Timm Bäder
2031c5bf90
textlayout: Remove dead offset_y code
2020-12-21 10:26:03 +01:00
Timm Bäder
9fefa7b44c
rendernode: Different uniformity in border nodes
...
Means they are different and a diff is impossible.
2020-12-21 10:26:03 +01:00
Timm Bäder
a2a70c3b65
rendernode: Sort diff() requirements by complexity
2020-12-21 10:26:03 +01:00
Timm Bäder
0b4ed8d791
renderborder: Avoid 0 width outline color nodes
2020-12-21 10:26:03 +01:00
Timm Bäder
c34f98931e
layoutoverlay: Avoid adding transparent color nodes
...
We have a region for the border here, but the color is defined as
transparent black because we don't want to render anything for it.
This way, the generated .node file for the listbox demo in gtk4-demo
with enabled layout borders is 3.5MB instead of 3.8MB.
2020-12-21 10:26:03 +01:00
Timm Bäder
2feac2772f
layoutoverlay: Avoid adding 0 sized color nodes
...
This way, the output node file of the listbox demo in gtk4-demo with
enabled layout borders is only 3.8MB instead of 12MB.
2020-12-21 10:26:03 +01:00
Timm Bäder
fdda4e4e99
GskTransform: Add nullable annotations to _equals()
...
Both can be NULL here.
2020-12-21 10:26:03 +01:00
Timm Bäder
e1cf0cff26
gl renderer: Proper state tracking for color matrix ops
2020-12-21 10:26:03 +01:00
Timm Bäder
634fa772c9
gl renderer: Add missing debug output for repeat ops
2020-12-21 10:26:03 +01:00
Timm Bäder
4b3bbe0ecd
gl renderer: Create shader-global uniform ops on draw()
...
This way we can render the first frame of tests/testoutsetshadowdrawing
in 153 ops instead of 183.
And the first frame of gtk4-demo in 260 instead of 300.
2020-12-21 10:26:03 +01:00
Timm Bäder
cde43541d0
gl renderer: Unify new clip/viewport rects in blur_texture()
2020-12-21 10:26:03 +01:00
Timm Bäder
186287ecfb
GskTransform: Fix identity transform class name
2020-12-21 10:26:02 +01:00
Timm Bäder
bd5d1615ac
GskTransform: Avoid a ref+unref pair
...
If gsk_transform_is_identity() returned FALSE for the next transform,
the previous code did a ref + unref pair, even though it was unneeded.
2020-12-21 10:26:02 +01:00
Timm Bäder
21299cc7e4
icontheme: Make some constant values const
2020-12-21 10:26:02 +01:00
Timm Bäder
e747ea7dfd
pixbufutils: Only convert icon size to string once
2020-12-21 10:26:02 +01:00
Timm Bäder
810cd7881e
icontheme: Make icon_paintable_ensure_texture() return an unowned value
...
It's private, has only one caller and that one doesn't need the extra
ref.
2020-12-21 10:26:02 +01:00
Timm Bäder
a8213d7f45
gl renderer: Avoid setting modelview to identical values
...
The previous comment here was incorrect. We can save the op itself, we
just can't save us the entry in the modelview stack.
2020-12-21 10:26:02 +01:00
Timm Bäder
e6f6d1e478
main: Add & use gdk_event_dup_axes()
...
The way this code is written trips up scan-build. Add
gdk_event_dup_axes() and use it in gtkmain.c.
2020-12-21 10:26:02 +01:00
Rafael Fontenelle
933d241bba
Update Brazilian Portuguese translation
2020-12-21 07:02:13 +00:00
Matthias Clasen
7249c3a09b
Merge branch 'ebassi/issue-3495' into 'master'
...
Use full path when calling gtk4-update-icon-cache
Closes #3495
See merge request GNOME/gtk!2979
2020-12-20 22:40:48 +00:00
Emmanuele Bassi
d13f8ac3a9
Call the newly installed gtk4-update-icon-cache
...
Otherwise we rely on whatever it's inside the PATH.
2020-12-20 16:33:41 +00:00
Emmanuele Bassi
fa35e3b874
Pass the bindir to the post-install script
2020-12-20 16:33:25 +00:00
Rafael Fontenelle
853883c6e5
Update Brazilian Portuguese translation
2020-12-20 14:06:52 +00:00
sicklylife
b467279c7d
Update Japanese translation
2020-12-20 08:03:00 +00:00
sicklylife
c6a5ac1d16
Update Japanese translation
2020-12-20 07:58:09 +00:00
A S Alam
e41288de4f
Update Punjabi translation
2020-12-20 06:14:42 +00:00
Jordi Mas i Hernandez
b886988a54
Update Catalan translation
2020-12-19 18:29:08 +00:00
Matthias Clasen
bb8a459fe2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2978
2020-12-19 17:20:39 +00:00
Matthias Clasen
d5143a1bf0
Revert "gl renderer: Render too big textures to the clipped area"
...
This reverts commit 7f6608cbed .
2020-12-19 11:43:56 -05:00
Matthias Clasen
12611fa142
Revert "gl renderer: Take a out graphene_rect in blur_node()"
...
This reverts commit 7eece7e769 .
2020-12-19 11:43:43 -05:00
Matthias Clasen
3e319b409b
Merge branch 'ebassi/issue-3492' into 'master'
...
3to4: Remove GtkCheckButton:draw-indicator
Closes #3492
See merge request GNOME/gtk!2976
2020-12-19 16:41:14 +00:00
Emmanuele Bassi
f2b16836c2
3to4: Add test for GtkCheckButton:draw-indicator removal
2020-12-19 15:52:22 +00:00
Emmanuele Bassi
14bf45a0d5
3to4: Remove GtkCheckButton:draw-indicator
...
The property was removed from the widget, so we need to remove it from
UI files too.
Fixes : #3492
2020-12-18 23:14:24 +00:00
Timm Bäder
0c6a6b3370
Merge branch 'doc_backticks' into 'master'
...
docs: backtick fixes
See merge request GNOME/gtk!2975
2020-12-18 15:57:30 +00:00
wisp3rwind
9521f609d8
docs: backtick fixes
...
- in the gettext() examples, at least the _() triggers italics
- add missing closing backtick
2020-12-18 16:31:41 +01:00
Matthias Clasen
7533369695
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2973
2020-12-18 05:06:35 +00:00
Matthias Clasen
f31765d5dd
Merge branch 'ebassi/mnemonic-label-remove' into 'master'
...
a11y: Fix removing mnemonic widgets
See merge request GNOME/gtk!2970
2020-12-18 00:00:48 +00:00
Matthias Clasen
d33062795c
Merge branch 'ebassi/docs-for-master' into 'master'
...
Ebassi/docs for master
See merge request GNOME/gtk!2971
2020-12-17 23:59:41 +00:00
Emmanuele Bassi
2da8d9b0ac
Do not build gdk-pixbuf's man page
...
When using it as a sub-project. We don't really need them.
2020-12-17 20:50:16 +00:00
Matthias Clasen
3f56e8191f
Merge branch 'shortcuts' into 'master'
...
docs: Add separation between kinds of shortcuts in Keyboard input
See merge request GNOME/gtk!2964
2020-12-17 19:43:38 +00:00
Chris Mayo
bf4c3dc2c5
docs: Fix list of kinds of shortcuts in Keyboard input
...
Formatting in HTML was mangled.
2020-12-17 19:18:10 +00:00
Emmanuele Bassi
a5365ec8cb
docs: Add missing GTK types
...
If we don't specify the get_type() function, gtk-doc will not collect
properties and signals, and will use a different URL for the page.
2020-12-17 18:30:19 +00:00
Emmanuele Bassi
ec94ec0286
Merge branch 'ebassi/password-entry-notify' into 'master'
...
Notify properties on deletion in PasswordEntryBuffer
Closes #3484
See merge request GNOME/gtk!2969
2020-12-17 15:51:04 +00:00
Emmanuele Bassi
af0973c847
a11y: Fix removing mnemonic widgets
...
We must not use the variadic arguments version with GList, as it expects
a pointer to a GtkAccessible.
2020-12-17 15:49:00 +00:00
Emmanuele Bassi
e71f6b0bc0
docs: Note the caveat on GtkEditable signals with delegates
...
We cannot bubble up ::insert-text and ::delete-text signals from the
delegate to the wrapper editable without causing an infinite recursion,
due to how the signals are designed; ideally, we would have decoupled
signal emission from virtual functions *before* releasing GTK4, but now
that we have, we can't break the contract.
2020-12-17 15:13:43 +00:00
Emmanuele Bassi
1738724e4a
Notify properties on deletion in PasswordEntryBuffer
...
The GtkEntryBufferClass.deleted_text() behaviour changed between GTK3
and GTK4, which means any subclass of GtkEntryBuffer is now responsible
for emitting the "notify" signal for the "text" and "length" properties.
Without this, the GtkText delegate widget used by GtkPasswordEntry would
not be able to communicate changes in the contents of its buffer.
Fixes : #3484
2020-12-17 15:01:35 +00:00
Emmanuele Bassi
e9e09be37e
Merge branch 'issue-3483' into 'master'
...
Fix URLs for the download.gnome.org locations
Closes #3483
See merge request GNOME/gtk!2968
2020-12-17 13:47:01 +00:00
Matthias Clasen
8a923e02a1
Merge branch 'wip/jimmac/flat-button-tweaks' into 'master'
...
Adwaita: flat button adjustments
See merge request GNOME/gtk!2967
2020-12-17 12:52:22 +00:00
Emmanuele Bassi
4f12e2f711
Fix URLs for the download.gnome.org locations
...
Use a trailing slash, otherwise we end up on an out of date mirror.
Fixes : #3483
2020-12-17 12:46:12 +00:00
Jakub Steiner
addcf57b4d
Adwaita: flat button adjustments
...
- normally lighter (on bg_color)
- darker for headerbar
- undecorated checked buttons were never style properly (even gtk3)
see page2 volume buttons
Finetunes https://gitlab.gnome.org/GNOME/gtk/-/issues/3427
2020-12-17 12:20:29 +01:00
Matthias Clasen
db08bccb11
Merge branch 'cursor-aspect-ratio' into 'master'
...
Cursor aspect ratio fixes for gtk 4
Closes #3441
See merge request GNOME/gtk!2966
2020-12-16 23:40:26 +00:00
Sebastian Keller
02f0681344
settings: Change gtk-cursor-aspect-ratio from float to double
...
Float properties can not be read from keyfiles. This was causing changes
to this property in settings.ini to be ignored. Fix this by changing it
to a double.
Technically this change could be considered an API break, but there are
no users of this property as float yet and it is early enough to expect
there to never be any.
Also document this change in the 3 to 4 migration guide since in gtk 3
this setting will be kept a float.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
2020-12-16 22:35:36 +01:00
Emmanuele Bassi
62dbadd536
Merge branch 'fix-macos-compilation' into 'master'
...
macos: fix typo that breaks compilation
See merge request GNOME/gtk!2962
2020-12-16 20:18:27 +00:00
Matthias Clasen
0588db8a69
Merge branch 'wip/carlosg/for-master' into 'master'
...
gdk/x11: Transform XI_Motion based scroll into discrete
Closes #3459
See merge request GNOME/gtk!2959
2020-12-16 19:56:16 +00:00
Emmanuele Bassi
58b1a13453
Merge branch 'ricotz/for-master' into 'master'
...
gdk: Use correct parameter name to fix g-ir-scanner warning
See merge request GNOME/gtk!2963
2020-12-16 19:46:51 +00:00
Rico Tzschichholz
df70dbbae4
gdk: Use correct parameter name to fix g-ir-scanner warning
...
../gdk/gdktoplevellayout.c:217: Warning: Gdk: gdk_toplevel_layout_get_maximized:
unknown parameter 'maximized' in documentation comment, should be 'maximize'
2020-12-16 20:19:05 +01:00
Tom Schoonjans
81c55b06d2
macos: fix typo that breaks compilation
2020-12-16 19:16:19 +00:00
Matthias Clasen
591c2f0595
4.0
2020-12-16 12:12:58 -05:00
Matthias Clasen
9c5a42be0d
Update expected test results
...
We have one test that expected 3.99 to show up in an error message.
2020-12-16 12:12:58 -05:00
Matthias Clasen
45b7fa15e5
Merge branch 'ebassi/docs-for-master' into 'master'
...
Ebassi/docs for master
See merge request GNOME/gtk!2960
2020-12-16 16:41:44 +00:00
Emmanuele Bassi
e3de92f1ea
docs: Fix annotation for GtkSearchEntry::activate
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
2ffa2be64e
doc: Document missing GtkNotebook types
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
387078b40c
docs: Document GtkNativeDialogClass
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
5203bf0b83
docs: Document GtkTreeViewColumn::clicked
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
fb93baeae4
docs: Add missing description for GtkWidget::move-focus
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
9fa4c2f5b8
docs: Ignore gtkspinbuttonprivate.h
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
cc9528eaec
docs: Add missing documentation to GtkStatusbar
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
73dda96711
docs: Add missing stanzas for gtk_test_accessible API
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
d711acc954
docs: Ignore gtksorterprivate.h
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
ab59c47880
docs: Add missing documentation to GtkPopover
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
e4b7847904
docs: Fix documentation of GtkGestureStylus
...
Document all the signals, and fix the syntax for boolean values.
2020-12-16 16:29:01 +00:00
Emmanuele Bassi
308115ebae
docs: Add gtk-doc stanza for GtkExpander::activate
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
1cb72536ea
docs: Fix syntax of GtkEntry::activate signal
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
f24429e84a
docs: Remove private symbols
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
fc4402b456
docs: Ignore gtkpasswordentryprivate.h
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
077aec5d32
docs: Add missing documentation for GtkTextCharPredicate
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
548949214c
docs: Add missing documentation GtkNative
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
2aec47f56f
docs: Add missing documentation for GtkCellRenderer
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
344eb21bee
docs: Complete symbol coverage for GSK
...
100% symbol docs coverage.
241 symbols documented.
0 symbols incomplete.
0 not documented.
2020-12-16 16:29:00 +00:00
Emmanuele Bassi
4fb55b3270
docs: Complete symbol coverage for GDK
...
100% symbol docs coverage.
833 symbols documented.
0 symbols incomplete.
0 not documented.
What's left are just type system macros and windowing system opaque
structures.
2020-12-16 16:28:58 +00:00
Matthias Clasen
75764c284d
Merge branch 'wip/toplevel-layout-intent' into 'master'
...
Fix toplevel layout state communication
Closes #3466
See merge request GNOME/gtk!2958
2020-12-16 16:02:00 +00:00
Carlos Garnacho
c95a32def8
gdk/x11: Transform XI_Motion based scroll into discrete
...
Depending on the input driver, we will get XI_Motion based scroll
events for regular mouse wheels. These are intended to be handled
as discrete scroll, so detect smooth scroll events that move by
exactly 1.0 in either direction.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3459
2020-12-16 14:26:44 +01:00
Jonas Ådahl
142f7862ed
gdk/toplevellayout: Change API to be about intent, not full state
...
When being fullscreen, and wanting to unfullscreen but not caring about
whether to go unmaximized or maximized (as this information is lost), if
the GdkToplevelLayout represents the full intended state, we won't be
able to do the right thing.
To avoid this issue, make the GdkToplevelLayout API intend based, where
if one e.g. doesn't call gdk_toplevel_set_maximized() with anything, the
backend will not attempt to change the maximized state.
This means we can also remove the old 'initially_maximized' and
'initially_fullscreen' fields from the private GtkWindow struct, as we
only deal with intents now.
2020-12-16 14:16:08 +01:00
Jonas Ådahl
b6412adc32
gtk/window: Check widget mappdness and not surface mappedness
...
When deciding whether to call gdk_toplevel_present(), check the
mappedness of GtkWidget instead of the mapped-ness of GdkSurface, as the
latter is mapped asynchronously, while the former is direct state of the
GtkWindow itself.
This fixes an issue where calling e.g. gtk_window_maximize() shortly
after showing it didn't take effect, as hadn't been mapped yet. While
maximizing after showing is racy, and will likely glitch from time to
time, the correct thing to do is still to maximize and handle whatever
state the compositor configured the window to be in.
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3466
2020-12-16 11:56:41 +01:00
Timm Bäder
7eece7e769
gl renderer: Take a out graphene_rect in blur_node()
2020-12-16 09:13:12 +01:00
Timm Bäder
7f6608cbed
gl renderer: Render too big textures to the clipped area
2020-12-16 08:26:46 +01:00
Timm Bäder
f816a8fb82
gl renderer: Unify viewport setting in add_offscreen_ops()
...
We use the same rect here a few times.
2020-12-16 08:26:46 +01:00
Timm Bäder
3c2484142d
vulkancontext: Remove usage of VK_ERROR_INCOMPATIBLE_VERSION_KHR
...
According to
https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/html/chap46.html
this has been removed. It also breaks the build on my system
2020-12-16 08:26:46 +01:00
Matthias Clasen
2192bb3dde
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2957
2020-12-15 20:33:01 +00:00
Matthias Clasen
e1df9a043f
Add a doc comment for GskConicGradientNode
2020-12-15 14:18:26 -05:00
Matthias Clasen
338d3ffa13
Add a doc comment for gdk_surface_request_layout
2020-12-15 14:14:49 -05:00
Emmanuele Bassi
6039a36183
Merge branch 'ebassi/for-master' into 'master'
...
Clean up the build system
See merge request GNOME/gtk!2955
2020-12-15 16:54:59 +00:00
Matthias Clasen
c551f693c2
Merge branch 'matthiasc/for-master' into 'master'
...
Update the node format docs
See merge request GNOME/gtk!2956
2020-12-15 16:23:15 +00:00
Emmanuele Bassi
5d2278a5ca
docs: Add public symbols to the GTK reference
2020-12-15 16:21:20 +00:00
Emmanuele Bassi
ea5e186bb8
Hide GtkTextAttributes functions
...
The type is private, so making functions operating on it public is
pointless.
2020-12-15 16:20:21 +00:00
Emmanuele Bassi
69b181f263
Remove boxed type for GtkCrossingData
...
The GtkCrossingData type is completely private, so there's no point in
having a boxed type for it.
2020-12-15 15:55:15 +00:00
Emmanuele Bassi
3132b10bc0
docs: Add more private headers
2020-12-15 15:55:06 +00:00
Matthias Clasen
7335e166b7
Update the node format docs
...
Update this document to mention all the render nodes we
have, and the default values for their properties.
2020-12-15 10:30:18 -05:00
Emmanuele Bassi
91bba794a6
docs: Add missing symbols to the GTK reference
2020-12-15 14:30:32 +00:00
Emmanuele Bassi
a6bd0c7eed
Remove stray mentions of GdkConfigureEvent
...
The event was removed, but some traces of it linger.
2020-12-15 13:58:52 +00:00
Emmanuele Bassi
ff351721b2
docs: Add missing symbols to the GDK reference
2020-12-15 13:47:40 +00:00
Emmanuele Bassi
538aa6c200
Move private GdkX11 symbols out of a public header
...
This avoids private symbols showing up in the introspection data, as
well as in the undocumented symbols list when generating the GDK API
reference.
2020-12-15 13:46:50 +00:00
Emmanuele Bassi
f546e03d31
docs: Add missing symbols to the GSK reference
2020-12-15 13:35:19 +00:00
Emmanuele Bassi
bdbea0d037
docs: Add more ignored header for GSK
2020-12-15 13:31:02 +00:00
Emmanuele Bassi
474b4ac1af
build: Use Meson support for dylib versions
...
Do not hand-code it inside GTK's meson.build.
2020-12-15 12:47:05 +00:00
Emmanuele Bassi
99e0929d6c
build: Use a consistent style for Meson files
2020-12-15 12:46:59 +00:00
Emmanuele Bassi
e75e44bdcc
build: Remove duplicate definition
...
The `GTK_COMPILATION` symbol is defined in gir_args.
2020-12-15 11:47:32 +00:00
Emmanuele Bassi
7975bbfcaa
build: Remove linker flags from static libraries
...
We only need hardening linker flags on the libgtk shared library;
internal static libraries don't really need them.
2020-12-15 11:36:20 +00:00
Emmanuele Bassi
11bca98a29
build: Remove unused variable
...
We don't need a `gsk_source` variable after all.
2020-12-15 11:35:27 +00:00
Emmanuele Bassi
618186723a
build: Remove unused backend_immodules variable
...
We don't have input method modules any more.
2020-12-15 11:20:19 +00:00
Emmanuele Bassi
a5986f0dcd
build: Use get_supported_link_arguments()
...
Instead of hand-coding it ourselves, let Meson deal with linker
arguments discovery.
2020-12-15 11:19:39 +00:00
Daniel Mustieles
c162d7148f
Updated Spanish translation
2020-12-15 10:28:49 +01:00
Matthias Clasen
7e1a210ae0
Merge branch 'ebassi/for-master' into 'master'
...
docs: Add note for the removal of GtkFileChooserButton
See merge request GNOME/gtk!2954
2020-12-14 20:37:34 +00:00
Jordi Mas
bf5e3efd54
Update Catalan translation
2020-12-14 18:39:00 +01:00
Emmanuele Bassi
08d52bee14
docs: Add note for the removal of GtkFileChooserButton
...
Point developers in the direction of GtkButton and GtkFileChooserNative.
2020-12-14 16:55:15 +00:00
Emmanuele Bassi
a6e9a9b644
Merge branch 'pixbuf-from-surface-leak' into 'master'
...
gdkpixbuf-drawable: Free the pixbuf on Cairo error
See merge request GNOME/gtk!2951
2020-12-14 15:12:56 +00:00
Adrien Plazas
dc96542742
gdkpixbuf-drawable: Free the pixbuf on Cairo error
...
This avoids leaking the pixbuf.
2020-12-14 15:07:41 +01:00
Matthias Clasen
e2afb59a0b
Merge branch 'matthiasc/for-master' into 'master'
...
Avoid adding // to resource paths
Closes #3469
See merge request GNOME/gtk!2947
2020-12-14 13:14:32 +00:00
Jakub Steiner
daa5d5aead
Merge branch 'dropdown-searchbar' into 'master'
...
dropdown: Improve search bar styling
See merge request GNOME/gtk!2948
2020-12-14 09:39:38 +00:00
Jakub Steiner
fd0a03cf78
Merge branch 'emoji-searchbar' into 'master'
...
Adwaita: Improve emoji picker styling
See merge request GNOME/gtk!2949
2020-12-14 09:38:45 +00:00
nana-4
34d99ea1d0
Adwaita: Improve emoji picker styling
...
- Add borders around the main scrollable content, like most other
places.
- Set padding and spacing on .emoji-searchbar and .emoji-toolbar in a
more proper way.
- Remove unused button.emoji-section label styles.
2020-12-14 05:26:39 +09:00
nana-4
90355c0b27
emojichooser: Add .emoji-searchbar style class
...
Similar to .emoji-toolbar, it would be nice to have this for styling.
2020-12-14 05:26:13 +09:00
nana-4
538cf9e294
dropdown: Improve search bar styling
...
As per the mockup. See:
https://gitlab.gnome.org/Teams/Design/os-mockups/-/blob/master/dropdown-lists/dropdown-lists.png
2020-12-14 05:08:59 +09:00
Piotr Drąg
8e3f2b879e
Update Polish translation
2020-12-13 16:51:51 +01:00
Florentina Mușat
8fa6a25aa5
Update Romanian translation
2020-12-12 18:49:22 +00:00
Matthias Clasen
96a300b2de
Merge branch 'wip/jimmac/button-shed' into 'master'
...
headerbar window controls & clean up flat button extend
Closes #3427
See merge request GNOME/gtk!2942
2020-12-12 02:51:05 +00:00
Matthias Clasen
aeca9cb7ba
Avoid adding // to resource paths
...
The GResource machinery is not forgiving about this
sort of thing.
Fixes : #3469
2020-12-11 21:47:54 -05:00
Matthias Clasen
c2727e6e04
Merge branch 'wip/carlosg/for-master' into 'master'
...
Wip/carlosg/for master
Closes #3461 , #593 , #3083 , #3009 , #3463 , and #3426
See merge request GNOME/gtk!2945
2020-12-12 02:35:01 +00:00
Carlos Garnacho
8be0918d7e
gdk/surface: Trigger motion check for next frame after thaw
...
This is a more reliable calling point than ::resume-events, and a
good one to schedule things so they happen on a frame clock in no
special phase (Thus still fixing the original issue at 80d4a08e30 )
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3461
2020-12-12 02:14:02 +01:00
Carlos Garnacho
612d3bca7d
gtk/window: Bring back L-shaped resize corners
...
These ended up square in the various refactors. Make them again L-shaped
by extending these along the edge being checked. This means we have to
check for corner positions in all edges, though.
2020-12-12 01:42:42 +01:00
Carlos Garnacho
e9fe270e94
gtk/scrolledwindow: Handle full scroll sequences only
...
In order to do this, leverage smooth scroll handling into the capture
phase scroll controller, controlled by ::scroll-begin in the propagation
phase controller.
There's 2 cases here:
- A child widget handles scroll. The scrolled window does not get
::scroll-begin, the child widget handles the full scroll sequence.
- No child handles scroll, the scrolled window gets ::scroll-begin,
and transfers control of scrolling to the capture phase controller.
As scrolling is performed, the pointer may fall into scrollable children,
but the scrolled window will be capturing the scroll events, so these
won't be seen by the child widgets.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/593
2020-12-12 01:42:42 +01:00
Carlos Garnacho
8402665c55
gtk/eventscrollerscroll: Handle smooth events in discrete controllers
...
We let smooth scroll events that don't trigger a ::scroll signal through.
This is unintended, these are handled, even if just accumulated.
This fixes cases like GtkSpinButton inside GtkScrolledWindow, where both
would handle events, until the GtkSpinButton eventually shifts away from
underneath the pointer.
Brought up at https://gitlab.gnome.org/GNOME/gtk/-/issues/593
2020-12-12 01:42:42 +01:00
Carlos Garnacho
79090f1755
gtk/entrycompletion: Ensure to show first row when shown, not allocated
...
This code was here in gtk3 to cater for the completion window being
positioned. That was only to meant once as long as the completion window
was shown.
This doesn't work as well for gtk4, ::size-allocate gets propagated from
the toplevel, so happens much more often for the completion window, this
ends up with the completion position being reset to the first row
frequently.
Do this simply once when popping up the completion, instead.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3083
2020-12-12 01:42:42 +01:00
Carlos Garnacho
3d84a38867
gtk/treeview: Position editable widgets correctly wrt left border
...
The coordinates are already widget-local here, not transformed by the
adjustment positions. Using the adjustment value here ends up pushing
the entry far from the left border.
The correct minimum value here is 0, which matches the treeview left
border.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3009
2020-12-12 01:42:42 +01:00
Carlos Garnacho
5155fac94f
gtk/modelbutton: Handle unpaired releases
...
Let model buttons handle unpaired releases, these may happen indirectly
e.g. due to other child menus being opened at the time. Clicking would
dismiss the menu, but the menu item beneath the pointer would not get
activated.
We can handle that button release though via ::unpaired-release, so
there's no second click required.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3463
2020-12-12 01:42:42 +01:00
Carlos Garnacho
7a4d15dc67
gtk/range: Move button release handling to GtkGestureDrag
...
Tracking it through the GtkGestureClick becomes a bit cumbersome for
handling of simultaneously pressed buttons. We can track ::stopped,
but that also emits for a number of situations where we want drag to
continue.
However, the GtkGestureDrag is grouped with the click gesture, and
knows better when to finish the drag gesture (not just because of a
button release), so hook drag and zoom mode finalization there.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3426
2020-12-12 01:42:42 +01:00
Emmanuele Bassi
e4d8d50a8b
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2944
2020-12-12 00:01:38 +00:00
Emmanuele Bassi
3c9a13e6cf
Update CODEOWNERS
...
Add me as the reference for the accessibility bits of the code base.
2020-12-11 23:42:25 +00:00
Emmanuele Bassi
2c97d44281
docs: Fix the Widget as Buildable example
...
The layout properties use an old name.
2020-12-11 23:41:51 +00:00
Kjartan Maraas
2d3a398678
Update Norwegian Bokmål translation
2020-12-11 11:40:55 +00:00
Florentina Mușat
d380ed2b3a
Update Romanian translation
2020-12-10 15:34:51 +00:00
Matthias Clasen
644a45714a
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Update references to GtkWindow:fullscreened
See merge request GNOME/gtk!2943
2020-12-10 14:31:54 +00:00
Matthias Clasen
324683993e
docs: Update references to GtkWindow:fullscreened
...
The property got renamed from fullscreen to fullscreened.
Update all references.
2020-12-10 09:10:21 -05:00
Jakub Steiner
f6f6241627
Adwaita: special case flat headerbar buttons
...
- make sure the hovers and pushed states are legible on a tintend headerbar
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3427
2020-12-10 14:24:29 +01:00
Jakub Steiner
6a33bed353
Adwaita: flat button :hover and :active
...
- special case undecorated button hovers
2020-12-10 14:16:25 +01:00
Jakub Steiner
f83ee0be23
Adwaita: headerbar_color > headerbar_bg_color
...
- semantic correction
2020-12-10 13:58:42 +01:00
Jakub Steiner
7442bdc383
Adwaita: duplicate selector
...
- awkward duplicate selector that should have no effect
(resulting in the same css)
2020-12-10 13:51:10 +01:00
Luna Jernberg
82950528ed
Update Swedish translation
2020-12-09 21:05:25 +00:00
Matthias Clasen
97eaef8308
Merge branch 'ebassi/popcount' into 'master'
...
Share the popcount() fallback for MSVC
See merge request GNOME/gtk!2940
2020-12-09 16:32:09 +00:00
Matthias Clasen
92189cf96a
Merge branch 'matthiasc/for-master' into 'master'
...
Remove NoDisplay from demo desktop files
Closes #2932
See merge request GNOME/gtk!2939
2020-12-09 16:10:04 +00:00
Emmanuele Bassi
b8a651df47
Share the popcount() fallback for MSVC
...
We use __builtin_popcount() in a couple of places, so it makes sense to
have it in one header.
2020-12-09 16:06:52 +00:00
Matthias Clasen
c0ed89be9a
widget-factory: Autoplay the video
...
The empty video on the frontpage is a bit of a letdown, since
the big arrow can't be clicked.
2020-12-09 10:52:55 -05:00
Matthias Clasen
ade4bcb125
Remove NoDisplay from demo desktop files
...
When these are installed (in particular, as flatpaks),
we should not hide them.
Fixes : #2932
2020-12-09 10:09:06 -05:00
Matthias Clasen
c5dd34344f
Merge branch 'wip/carlosg/for-master' into 'master'
...
Wip/carlosg/for master
Closes #3426 and #3264
See merge request GNOME/gtk!2933
2020-12-09 15:04:01 +00:00
Matthias Clasen
c90cc976a5
Merge branch 'wip/jimmac/row-transitions-and-spacing' into 'master'
...
Adwaita: row transitions and spacing
Closes #3434
See merge request GNOME/gtk!2937
2020-12-09 13:35:54 +00:00
Matthias Clasen
bd9bcd5905
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #3431
See merge request GNOME/gtk!2938
2020-12-09 13:34:21 +00:00
Matthias Clasen
0ddcbb52e6
Merge branch 'ebassi/4-0-abi-bump' into 'master'
...
Ebassi/4 0 abi bump
Closes #3392
See merge request GNOME/gtk!2883
2020-12-09 13:20:20 +00:00
Emmanuele Bassi
2457f3d54c
build: Bump up the SONAME for GTK4
...
We released all the 3.9x development snapshots using:
libgtk-4.0.so.0.xxxx.y
which means that the 4.0.0 release of GTK will have a lower SONAME than
the snapshots. To avoid that, bump the SONAME to 1.xxxx.y.
Fixes : #3392
2020-12-09 12:19:50 +00:00
Emmanuele Bassi
1cc207af32
build: Tie interface age to the development cycle
...
We don't want to increase the interface age manually, because we're
going to end up forgetting about it.
Instead, we should tie it to the rest of the version:
- in stable (even minor) cycles, we don't add new API; the interface
age is the same as the micro version
- in unstable (odd minor) cycles, every new release might have new API,
or updates to newly added API; keep the interface age to 0
This removes one more manual thing to change during release, and keeps
us honest with our promise not to add symbols during stable cycles.
2020-12-09 12:19:50 +00:00
Emmanuele Bassi
f4a0d57c07
Prepare version macros for 4.0
...
Remove the 3.9x version macros, and ensure that we handle 4.0 as the
backstop for the minimum required version.
2020-12-09 12:19:50 +00:00
Jakub Steiner
a76ee61e97
Adwaita: row transitions and spacing
...
- no fading out of row hovers. Many feel like it's a slow
refresh rather than intentional effect.
- give some margin to navigation lists
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3434
2020-12-09 12:16:15 +01:00
Yuri Chornoivan
fac367495b
Update Ukrainian translation
2020-12-09 07:08:51 +00:00
Matthias Clasen
76177b6065
Merge branch 'ebassi/prop-names' into 'master'
...
Ebassi/prop names
See merge request GNOME/gtk!2936
2020-12-09 05:51:00 +00:00
Matthias Clasen
433f305fa9
Merge branch 'sophie-h-master-patch-62064' into 'master'
...
gtk-demo: Remove potentially ableist metaphor
See merge request GNOME/gtk!2934
2020-12-09 00:53:10 +00:00
Matthias Clasen
fce824e78f
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3451
See merge request GNOME/gtk!2935
2020-12-09 00:52:53 +00:00
Emmanuele Bassi
c4b768a4ec
Rename GtkWindow:fullscreen to :fullscreened
...
Having a property with the same name of a method makes some languages
which put properties and method names in the same flat namespace not
really happy about our choices. To avoid collisions, let's put the the
"fullscreen" property into the past, alongside the "maximized" property.
2020-12-09 00:11:49 +00:00
Emmanuele Bassi
6d1be832d9
Fix the documentation for GtkWindow state properties
...
Drop the "don't write code that crashes" folksy bit; don't start
sentences with conjunctions; remove copy-pasted references to
"iconified" states; point to the corresponding property notification in
a consistent manner.
2020-12-08 23:49:45 +00:00
Matthias Clasen
a828d4318e
Mark flaky tests as flaky
...
We can't mark these as xfail, since it sometimes succeed.
2020-12-08 18:10:02 -05:00
Sophie Herold
a36ccd7f42
gtk-demo: Remove potentially ableist metaphor
2020-12-08 23:02:03 +00:00
Matthias Clasen
b4a7fe8d8f
Add bug reporting address to pot files
...
Fixes : #3451
2020-12-08 17:51:38 -05:00
Carlos Garnacho
43e4848872
gtk/main: Keep implicit grab until all buttons are released
...
Currently, the implicit grab is broken on the first button release,
in the case of pressing multiple buttons simultaneously. This means
that we emit crossing events early, and the next button releases
are sent to the pointer focus widget instead.
Consider the implicit grab effective until all buttons are released,
and only unset the pointer implicit grab (and emit crossing events)
after there are no further buttons pressed. We do this by checking
event modifiers, given button release events do contain the modifiers
in effect at the time the event was generated, we have to look for
exactly one active button modifier.
Fixes weird pointer states after pressing multiple buttons on a
widget.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3426
2020-12-08 23:27:03 +01:00
Carlos Garnacho
80d4a08e30
gdk/surface: Delay gdk_surface_request_motion() requests internally
...
Those requests are received while dealing with the ::layout frame
clock phase, this has the unintended side effect of making the
frame clock "rewind" to handle ::flush-events again during this
frame, which delays everything and practically halves the frame
rate.
We do intend to make the motion events dispatches on the next frame,
so do this in an idle at a slightly lower priority than layout/draw,
so the ::flush-events phase is actually requested for the next frame.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3264
2020-12-08 23:27:03 +01:00
Carlos Garnacho
47d0b5ad0c
gkt/textview: Set an iter position for event-less menu activation
...
This went missing. Use the current insertion position as a reference.
Fixes invoking the menu via keyboard.
2020-12-08 23:27:03 +01:00
Matthias Clasen
c59b433395
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: fix macOS build breakage
See merge request GNOME/gtk!2931
2020-12-08 20:32:51 +00:00
Yuri Chornoivan
18d06a1cd5
Update Ukrainian translation
2020-12-08 20:25:26 +00:00
Florentina Mușat
f13041360a
Update Romanian translation
2020-12-08 19:52:12 +00:00
Christian Hergert
0236fe80c1
macos: fix macOS build breakage
...
Fixes breakages due to recent refactoring around sizing changes.
2020-12-08 11:29:31 -08:00
Matthias Clasen
2caf283323
Mark the window-show-contents-on-map.ui reftest as xfail
...
We know now what the test is trying to test, just lack
the right plumbing to do it properly. So, keep the test
around, marked as expected fail.
2020-12-08 12:04:47 -05:00
Matthias Clasen
6fb66e299a
Revert "reftests: Remove window-show-contents-on-map.ui test"
...
This reverts commit 074b933ae4 .
2020-12-08 11:45:52 -05:00
Matthias Clasen
398a74d871
3.99.5
2020-12-08 10:58:40 -05:00
Matthias Clasen
08ca8a361e
docs: Remove a mention of gtk_window_get_size
...
That function has been removed.
2020-12-08 10:44:33 -05:00
Matthias Clasen
1f141c1953
Merge branch 'wip/surface-state-rework' into 'master'
...
Rework surface state and geometry computation
See merge request GNOME/gtk!2885
2020-12-08 15:38:36 +00:00
Jakub Steiner
1e14a91cb9
Merge branch 'wip/jimmac/no-inner-shadow-sidebars' into 'master'
...
Adwaita: no 3d shadow for pressed sidebar
Closes #3413
See merge request GNOME/gtk!2928
2020-12-08 14:18:44 +00:00
Jonas Ådahl
074b933ae4
reftests: Remove window-show-contents-on-map.ui test
...
It tested that a widget shown after the window was mapped deals with
window resizing appropriately when doing the follow-up allocation. Now,
doing this only allocates both at the same time, as allocation happens
during the frame dispatch.
To do the equivalent now, one would have to write code that shows the
label after the first frame was drawn, and that's not possible via a
reftest, so lets remove it.
2020-12-08 14:22:59 +01:00
Jonas Ådahl
7b7f3342d8
reftests/textview-tags: Hide text view cursor
...
Otherwise it'd sometimes show up, causing test flakyness.
2020-12-08 12:03:18 +01:00
Matthias Clasen
adc4bcbd24
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: various GL context cleanups
See merge request GNOME/gtk!2929
2020-12-08 00:06:19 +00:00
Jonas Ådahl
130ff5f841
testsuite/notify: Don't fiddle with GtkWidget::visible
...
It may map toplevel windows with arbitrary modes, which will effect
other properties, such as GtkWindow::maximized and
GtkWindow::fullscreen.
2020-12-07 22:41:36 +01:00
Jonas Ådahl
fea1b151e6
testsuite/filtermodel: Remove calls to gtk_widget_realize()
...
They don't do what they used to do.
2020-12-07 22:29:51 +01:00
Christian Hergert
6e0fffa0f8
macos: use CGLSetParameter and CGLEnable
...
We don't need to go through the NSOpenGLContext for these.
We can just use the C API directly. It's also clearer what is using
CGLEnable() vs CGLSetParameter().
2020-12-07 11:47:51 -08:00
Jonas Ådahl
d2c95a1b13
gdk: Replace 'WITHDRAWN' state with async 'is-mapped' boolean
...
It was used by all surfaces to track 'is-mapped', but still part of the
GdkToplevelState, and is now replaced with a separate boolean in the
GdkSurface structure.
It also caused issues when a widget was unmapped, and due to that
unmapped a popover which hid its corresponding surface. When this
surface was hidden, it emitted a state change event, which would then go
back into GTK and queue a resize on popover widget, which would travel
back down to the widget that was originally unmapped, causing confusino
when doing future allocations.
To summarize, one should not hide widgets during allocation, and to
avoid this, make this new is-mapped boolean asynchronous when hiding a
surface, meaning the notification event for the changed mapped state
will be emitted in an idle callback. This avoids the above described
reentry issue.
2020-12-07 20:37:30 +01:00
Jonas Ådahl
8f8c5040db
gtk/headerbar: Remove unused 'state' field
2020-12-07 20:37:30 +01:00
Matthias Clasen
3b69facf0b
Mention window sizes in the migration guide
2020-12-07 20:37:30 +01:00
Matthias Clasen
a6bc4c95b1
docs: Add gtk_window_is_fullscreen
2020-12-07 20:37:30 +01:00
Matthias Clasen
59fd171515
popup: Documentation tweaks
...
Use proper syntax for referring to signals.
2020-12-07 20:37:30 +01:00
Matthias Clasen
3db0d06901
Properly remove gtk_window_get_size
...
It was still in the headers and the docs, but did
not have an implementation anymore.
2020-12-07 20:37:30 +01:00
Jonas Ådahl
d7d738d745
tests/animated-resizing: Use gtk_window_default_size() instead
...
This will actually make it resize on-demand, as the default size is the
size used when computing the window size when the size is not fixed.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
ac17217c69
wayland/toplevel: Don't alwyas skip changing xdg_toplevel state
...
We only called xdg_toplevel.(un)set_maximize() if the toplevel layout
changed, but this misses the case when the compositor had changed the
maximized state. Change it to call the xdg_toplevel request if either
the local layout changed, or if the layout differs from the current
state.
This fixes an issue where one couldn't unmaximize a window by double
clicking the titlebar that, had previously been maximized e.g. using a
keyboard binding.
Do the same for fullscreen.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
2e5eeb6b92
gtk/window: Add 'fullscreen' prop and gtk_window_is_fullscreen()
...
This makes it possible to set 'fullscreen' to 'true' in a .ui file to
start an application in fullscreen mode.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
eb0eac0f03
gtk/window: Make R/O is-maximized R/W maximized prop
...
This makes it possible to set 'maximized' to true in .ui files, and the
window will show up maximized.
gtk_window_is_maximized() will return the intended maximized state until
actually mapped, it will then show the actual maximized state. The same
applies to reading the property.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
27077d5be8
gtk/window: Make 'default-size' adapt to configured size
...
This commit changes the behavior of window size computation and the
default size properties to:
* The default-width and default-height properties are updated to the
current window size unless the size is fixed by e.g. being maxmized,
tiled etc.
* The compute-size semantics are to just pick the default size, or if
not adequate, use the measured size, and consequently update the
default size, unless unresizable.
* gtk_window_get_size() is removed, what's more likely relevant is the
gtk_window_get_default_size() which will now contain more sensible
values.
Various places that used gtk_window_get_size() were updated to use
gtk_window_get_default_size() to remember and restore previous sizes.
This also changes the default value of 'default-width' and
'default-height' from -1 to 0. The gtk builder simplify tool is taught
how to omit when the default size is set to both -1 and 0.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
fd01723470
x11/surface: Avoid resizing if computed size didn't change
...
This fixes an issue where we'd resize to the previous window size during
interactive resize.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
994aa41ccc
x11/surface: Move the scattered compute-size calls to helper
...
This simplifies things, and fixes issue where we'd resize the wrong
time, and miss resizing other times.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
c791185c20
x11/surface: Remember the toplevel layout
2020-12-07 20:37:29 +01:00
Jonas Ådahl
e7ddaf5ed1
x11/surface: Compute size after update too
...
This will sometimes mean a frame is skipped if a resize was requested
during the update phase of the frame dispatch. Not doing so can cause
trying to allocate a window smaller than the minimum size of the widget.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
2217cf8ea2
x11/surface: Remember when there is a pending ConfigureNotify
...
This will be used to decide whether to try to resize windows when .
2020-12-07 20:37:29 +01:00
Jonas Ådahl
3bbeb891c4
gdk/surface: Allow inhibit layout from backend
...
If compute_size() returns TRUE, the layout will not be propagated to
GTK. This will be used by the X11 backend to queue asynchronous resizes
that shouldn't yet allocate in GTK.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
ff23a2a582
x11: Use resize counting for freezing updates too
...
It's already keep strack of when we're waiting for configure events, so
lets reuse it. This fixes an issue where reshown dialogs wouldn't
reappear.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
8396bdb759
wayland/surface: Reset last sent min/max size when hiding
...
As with the window geometry, the last sent min/max values must be reset
so they are sent again next time the surface is shown.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
351d88f7ae
wayland/surface: Clear shadow width when hiding
...
Not doing this means the next time the same surface is shown, if the
shadow size wasn't changed, it wouldn't be sent to the compositor, which
then would result in compositor deriving its own window geometry which
would include the shadow margin.
This fixes an issue where the file chooser dialog would grow each time
it opened.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
dfb7ab3352
x11/surface: Compute toplevel size outside of frame dispatch
...
We can't compute and resize a toplevel size during dispatch, as resizing
on X11 is an asynhronous operation, requiring a configuration event.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
8e3ee58e3f
tests/animated-resizing: Don't try to resize during frame dispatch
...
This will not work on X11 because it's too late to resize, due to
resizing being asynchronous i.e. it won't be complete before we need to
draw.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
40a9baa2db
gtk/native: Remove gtk_native_check_resize()
...
This is now handle by the corresponding implemenatations using per
non-gobject-type API.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
4b2aae9950
gtk/dragicon: Use private gtk_drag_icon_present() instead of GtkNative
...
It didn't even use GtkNative, just the vfunc it set to the interface
sturct.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
9d3f497a21
gtk/tooltipwindow: Use gtk_tooltip_window_present() instead of GtkNative
2020-12-07 20:37:29 +01:00
Jonas Ådahl
517bc0db84
gtk/texthandle: Use gtk_text_handle_present() instead of GtkNative
2020-12-07 20:37:29 +01:00
Jonas Ådahl
369b03a3d8
gtk/window: Don't go via GtkNative when presenting
...
It'll only call directly back into GtkWindow's toplevel present handling
code.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
2cddec7798
gtk/popover: Use gtk_popover_present() instead of going via GtkNative
...
This makes it more explicit that managers of popovers make it "present".
2020-12-07 20:37:29 +01:00
Jonas Ådahl
f7fceab40b
gtk/entry: Remove emoji chooser field
...
It wasn't ever set.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
3b66f63523
gtk/popover: Request fake motion events for popovers too
...
As with GtkWindow, we need to request fake motion events if allocation
changes, to emulate motion events given the new layout.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
96450ed9cc
gdk/surface: Emit layout event while frozen
...
The allocation of popups are part dependent of the allocation of the
root, which means the root must still be allocated when updates are
frozen, otherwise we'll try to allocate non-laid out popups.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
5eee1dfcd1
gdk/popup: Remove the popup-layout-changed signal
...
It was replaced with GdkSurface::layout.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
19d2a4ab94
gtk/window: Only fake motion events on windows with pending allocations
...
This fixes an issue where the focus of the window continuously received
fake motion events even when a popover was open, making input events end
up behind the popover.
It also adds a comment describing why motion events are requested. Note
that popovers won't work with this, and it's possible both in the past
and now that sporadic missplaced motion events will appear, e.g. when a
window changes allocation but a popover is open.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
6ee7535af0
gdk/toplevelsize: Rename 'margin' to 'shadow' and 'shadow_width'
...
This makes it more consistent with everywhere else.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
b738054344
gdk: Remove GdkSurface::size-changed
...
It's not emitted, and everyone should use the GdkSurface::layout signal
from now on.
2020-12-07 20:37:29 +01:00
Jonas Ådahl
b8fa892b70
gtk/window: Minor cleanup
2020-12-07 20:37:29 +01:00
Jonas Ådahl
ca65ee8d50
gtk/window: Remove out-dated comment
2020-12-07 20:37:29 +01:00
Jonas Ådahl
5eca548acc
gtk/window: Use default size if non-resizable if set
2020-12-07 20:37:29 +01:00
Jonas Ådahl
42679f2903
gdk: Replace all GDK_CONFIGURE usage with GdkSurface::layout
...
This removes the GDK_CONFIGURE event and all related functions and data
types; it includes untested changes to the MacOSX, Win32 and Broadway
backends.
2020-12-07 20:37:29 +01:00
Christian Hergert
b431e39d4e
macos: we only need 24-bit for color
2020-12-07 11:27:11 -08:00
Emmanuele Bassi
606cb51293
Merge branch 'ebassi/activate-signal' into 'master'
...
Add accessors for GtkWidgetClass.activate_signal
See merge request GNOME/gtk!2925
2020-12-07 15:23:55 +00:00
Jakub Steiner
62e0c0de59
Adwaita: no 3d shadow for pressed sidebar
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3413
2020-12-07 14:19:24 +01:00
Jakub Steiner
30f789650f
Revert "Adwaita: avoid clipping menu shadows"
...
While the workaround hides majority of the issue there are still two big downsides:
- shadow does eat from the widget dimensions so alignment is broken
- situations like popover going upwards on screen edge break completely
The appropriate action is to revert these theme duct tape solutions to make room
for a proper fix.
This reverts commit b3dba1dca6 .
Issue https://gitlab.gnome.org/GNOME/gtk/-/issues/1987
2020-12-07 10:58:12 +01:00
Jonas Ådahl
3f96d4b6da
gdk: Always get shadow width via GdkToplevelSize
...
This removes the gdk_surface_set_shadow_width() function and related
vfuncs. The point here is that the shadow width and surface size can now
be communicated to GDK atomically, meaning it's possible to avoid
intermediate stages where the surface size includes the shadow, but
without the shadow width set, or the other way around.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
0dcd4a5bdb
wayland: Stop emitting size-changed
...
It's dealt with by GdkSurface::layout now.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
8a599b2582
gtk: Allocate everything from GtkNativeClass::layout
...
This changes allocation of the widget trees to happen as a side effect
to the GdkSurface::layout signal, which first passes the GtkNative
instance where it is then forwarded to the implementations of the
GtkNative interface.
The implementations of GtkNative are the ones doing the actual
gtk_widget_allocate(), and they do so in their GtkNativeClass::layout
function.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
a798edc360
gtk/window: Only deal with shadow when (ex|in)cluding csd size
...
The size should correspond what gtk_widget_measure() does, and it
measures what's within the window excluding the shadow; so make this
helper function correspond to this.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
e51c32b9c1
gdk/wayland: Always compute-size if GTK asked fer layout
2020-12-07 09:46:39 +01:00
Jonas Ådahl
048a0172a0
gdk/wayland: Always configured size when resizing
...
GTK4 doesn't support arbitrary constraints when resizing a window (e.g.
steps, or aspect ratio), so we don't need to care about the result from
compute-size when doing interactive resizing.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
64f6118af4
gdk/toplevelsize: Don't complain if only shadow extends out of bounds
2020-12-07 09:46:39 +01:00
Jonas Ådahl
14b5a5a4c7
gtk/window: Remove gtk_window_resize()
...
Use gtk_window_set_default_size() or change the size of the widget
inside the window to get the same effect.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
4083f7e47f
testsuite: Remove test for gtk_window_resize()
...
And use gtk_window_set_default_size() in the other place.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
2854d0339c
tests/testgtk: Remove 'Resize' button
...
The gtk_window_resize() API is going away, so remove this test.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
98fffe6f23
tests/animated-resizing: Resize widget instead of window
...
This means the window needs to be marked as non-resizable, otherwise it
won't shrink.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
f083849ebb
tests: Use gtk_window_set_default_size() when appropriate
...
Replace the usage of gtk_window_resize() with
gtk_window_set_default_size() where possible.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
deb58339b9
gtk/expander: Remove manual call to gtk_window_resize()
...
It happens implicitly for a non-resizeable window.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
65ad9d6d96
gdk/x11: Flush layout changes to the frame clack dispatch
...
This follows the trail of the Wayland backend in that GdkSurface changes
happen during the layout phase, and that a GDK_CONFIGURE no longer being
used to communicate the size changes of a surface; this now also uses
the layout signal on the GdkSurface.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
e0f13ecae7
gdk/surface: Try to reschedule pending phase until dispatched
...
If a surface scheduled a relayout, got frozen, and a layout phase
happened, then got unfrozen, it wouldn't see it's layout being
requested; avoid this race by remembering the pending phases until they
actually happened.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
880ceebae4
gdk/surface: Make backends aware of when layout is requested
2020-12-07 09:46:39 +01:00
Jonas Ådahl
8c014e63af
x11: Remove handling of 'substructure' events
...
Reading the comment, it seems to be related being a window manager
decoration utility; this is not something GTK4 aims to handle, just drop
support for this.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
ecd40fa265
wayland: Layout drag icon from GdkSurface::layout
2020-12-07 09:46:39 +01:00
Jonas Ådahl
3b140a05a4
gtk/dragicon: Don't show until child is set
...
Showing before the child would result in bogus
gdk_drag_surface_present() with an "empty" (1x1) size. This can easily
be avoided by postponing showing until there is anything to show.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
d38f81999e
wayland: Communicate popup layout changes via GdkSurface::layout
...
By moving popup layout emission to the layout phase, the current
GdkPopup::poup-layout-changed signal has no value on its own as it'd be
ignored by GtkPopover.
Make the Wayland backend communicate the popup layout changes via the
common signal; but leave the rest intact until other backends catch up.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
efcfd23652
wayland/surface: Restructure fields used for the next layout
...
Put them in a anonymous struct, and separate the toplevel specific ones
into another anonymous struct inside the first one. Later popup related
fields will be added.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
70b83c9a70
gdk/surface: Remove left-over signal enum value
...
The popup-layout-change signal was moved to GdkPopup, but the enum was
never removed from GdkSurface.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
4779e4e488
gdk/frame-clock: Remove the newly added 'compute-size' phase
...
What was previously done in the layout phase is now done in response to
a GdkSurface signal, which means size computation can happen on layout.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
13931463bd
wayland/surface: Compute size on layout
...
Stop using the 'compute-size' phase of the frame clock, use the layout
phase instead, now that GTK isn't using the layout phase anymore.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
ecc861bf06
Pass the layout signal via GdkSurface to GtkRoot
...
Don't have GtkRoot listen directly to the layout signal on the frame
clock, but let it pass through GdkSurface. This will allow GdkSurface to
be more involved in the layout phase.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
475c07e935
gdk/surface: Make pending schedule a phase enum
...
Scheduling an update when frozen would reschedule when unfrozen; change
this to a generic pending phase enum, and use this for resrcheduling
paint and compute-size.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
0c8d97e3f7
gtk/root: Validate css node after update
...
It should happen before layout, but after the animation tick, thus after
the update.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
8d4f8f0cfc
wayland: Concentrate size computation to 'compute-size' phase
...
This includes computing the surface size, including shadow margin,
setting the surface size, during the 'compute-size' clock phase.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
289b50785b
wayland/surface: Don't save uninitialized size
...
GdkSurface's are initialized to have the size 1x1, as otherwise we'd
receive an X11 error, would a corresponding X11 window be created.
This confuses the "saved size" mechanisms in the Wayland backend, as
treats 0 as uninitialized, and not 1.
Fix this simply not saving size that if it's smaller or equal than 1.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
68c14242b2
gdk/surface: Add API to request 'compute-size' clock phase
2020-12-07 09:46:39 +01:00
Jonas Ådahl
4af54fb410
gdk/surface: Use helper to emit 'size-changed' signal
2020-12-07 09:46:39 +01:00
Jonas Ådahl
13b4a4b24c
gdk/toplevelsize: Add way to set margin
...
Will be used to communicate the shadow margin, instead of using
gdk_surface_set_shadow_width().
Also set these values in gtkwindow.c.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
e07fde5c81
frame-clock: Add 'compute-size' phase
...
This will be handled between 'update' (which may trigger animation
ticks, CSS update, etc) and 'layout' which will allocate the widget
tree. It's meant to perform surface size computation, and is done
between these two phases in order to have an up to date state, and
letting the layout phase have an up to date size to layout in.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
8f27b3fcf6
gtk/window: Let the backend handle toplevel freezing
2020-12-07 09:46:39 +01:00
Jonas Ådahl
251bd15597
wayland: Apply new surface state at the beginning of a frame
...
Concentrate state application to the start of a frame; this is to avoid
having GTK going back and forth between different state if so would
happen between two frames.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
dd738d2787
surface: Only keep state 'withdrawn' after hiding
...
A hidden surface should start from a clean slate when showing again, so
clear any now out of date state.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
18d92c3f16
wayland: Keep pending initial state separate
...
Queue it, and then wait for it to actually take effect, i.e. be
confirmed via a configure event from the compositor, before setting the
actual GdkSurface::state value.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
f4c36fe1ce
gdk/surface: Add API to queue and apply state changes
...
This will be used to compress state changes and apply as part of a frame
clock dispatch.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
23d7392eb9
gdk/surface: Removed unused struct field
...
The 'old_state' wasn't used anywhere, lets remove it.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
996eeec16c
gtk/window: Don't gdk_toplevel_present() if not mapped
...
That would map the window too early.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
641915974b
gdk/toplevel: Make gdk_toplevel_present() async
...
The plan is to concencrate size computations as part of the frame clock
dispatch, meaning we shouldn't do it synchronously in the present()
function.
Still, in Wayland, and maybe elsewhere, it is done in the present()
function, e.g. when no state change was made, but this will eventually
be changed.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
528ec4dded
wayland: Only set mapped state when mapped
...
Mapping a surface under Wayland is an asynchronous process, where one
creates a surface and commits an initial state without having drawn
anything, then waiting for a configuration, which then is acknowledged
and content is painted and committed. Not until having received this
configuration is a surface actually mapped, so wait with setting the
mappedness until this.
2020-12-07 09:46:39 +01:00
Jonas Ådahl
366b946f5b
wayland/popup: Use maybe_notify_mapped() helper
2020-12-07 09:46:38 +01:00
Jonas Ådahl
9e6a55a086
wayland: Decouple mapped state from surface creation
2020-12-07 09:46:38 +01:00
Christian Hergert
285781724f
macos: set opengl view as opaque in opaque windows
...
We don't need the OpenGL view to be transparent if the window itself
is not transparent. This has the potential to speed up the compositing
of the GL view onto the NSWindow.
2020-12-06 20:14:52 -08:00
Emmanuele Bassi
2d103cf80c
Merge branch 'wayland-inhbit0' into 'master'
...
wayland: avoid referencing unallocated memory when uninhibiting
See merge request GNOME/gtk!2927
2020-12-07 00:26:50 +00:00
Michael Terry
c8d991e4de
wayland: avoid referencing unallocated memory when uninhibiting
2020-12-06 18:37:40 -05:00
Zander Brown
a165bb9f46
Update British English translation
2020-12-06 22:08:30 +00:00
Timm Bäder
33ed42d985
gl renderer: Remove RESET_OPACITY flag
...
We always need to do that (and always passed the flag to
add_offscreen_ops() anyway).
2020-12-06 20:03:35 +01:00
Timm Bäder
1ee4f6138b
gl renderer: Reset opacity when rendering blend node children
...
We render those on a texture, so we need to reset the opacity because
that will be applied when rendering the resulting texture.
2020-12-06 20:01:36 +01:00
Timm Bäder
7b61ef9e0f
gl renderer: Initialize rounded rect early
2020-12-06 19:57:48 +01:00
Timm Bäder
b46d077b3a
gl renderer: Fix rendering clipped blurred inset shadow nodes
2020-12-06 19:18:10 +01:00
Timm Bäder
e32331d002
gl renderer: Ignore crossfades between equal texture nodes
2020-12-06 19:18:10 +01:00
Timm Bäder
05928608ec
gl renderer: Use scale_x and scale_y everywhere
...
Try to handle two different values for scale in horizontal and vertical
direction better.
Fixes #3431
2020-12-06 19:18:05 +01:00
Emmanuele Bassi
d8c9a67d20
docs: Clarify gtk_widget_activate()
...
We need to tell people what signal will be emitted when calling
gtk_widget_activate(), and that the shortcuts API might be more
appropriate to what they are looking for.
2020-12-06 15:13:57 +00:00
Emmanuele Bassi
c352fe9ab0
Move activate_signal to the widget private class data
...
Instead of having it as a field in the class structure.
2020-12-06 15:06:18 +00:00
Emmanuele Bassi
e396874f3c
Merge branch 'ebassi/a11y-leak' into 'master'
...
a11y: Plug a leak in the AT-SPI context
Closes #3450
See merge request GNOME/gtk!2926
2020-12-05 20:52:04 +00:00
Emmanuele Bassi
f6c53ced0d
a11y: Plug a leak in the AT-SPI context
...
Fixes : #3450
2020-12-05 20:25:30 +00:00
Matthias Clasen
ee26e282cc
Update contribution guide
...
Make my feelings about bug reporting by screencast known.
2020-12-05 11:34:52 -05:00
Matthias Clasen
894f893223
Merge branch 'revert-round-windows' into 'master'
...
Revert "theme: Round all window corners"
See merge request GNOME/gtk!2921
2020-12-05 15:10:16 +00:00
Piotr Drąg
67d7e2007f
Update POTFILES.in
2020-12-05 15:05:48 +01:00
Emmanuele Bassi
3a9cca74fc
Use WidgetClass.activate_signal getter function
2020-12-05 01:04:18 +00:00
Emmanuele Bassi
fe9c0db603
Add getter for WidgetClass.activate_signal
...
Just like we have a setter.
2020-12-05 01:04:18 +00:00
Emmanuele Bassi
fde32c5219
Use private can_activate() method
...
Instead of checking the activate_signal field directly.
2020-12-05 01:04:18 +00:00
Emmanuele Bassi
213024a560
Use function setter for WidgetClass.activate_signal
2020-12-05 01:04:18 +00:00
Emmanuele Bassi
e5e18ddffb
Add private method to check activatability
...
We should have an actual method, instead of checking the
WidgetClass.activate_signal directly.
2020-12-05 01:04:18 +00:00
Emmanuele Bassi
b3e03fa6f0
Add wrappers for setting the WidgetClass.activate_signal field
...
Setting a field on a class structure is not always an easy task from
languages other than C. While bindings can provide access to the class
pointer, twiddling the fields in the class structure can be awkward.
Additionally, signal ids are not always readily available.
We can paper over the direct access to the class structure, as well as
the "signal name to id" mapping with a simple couple of setter
functions.
2020-12-05 01:04:18 +00:00
Emmanuele Bassi
c0586ca6e2
Merge branch 'wip/jfelder/customsorter-null' into 'master'
...
customsorter: Add missing nullable annotation
See merge request GNOME/gtk!2923
2020-12-04 23:39:48 +00:00
Jean Felder
4430314514
customsorter: Add missing nullable annotation
2020-12-05 00:04:36 +01:00
Emmanuele Bassi
4087055b18
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: fix GL renderer for macOS
Closes #3420
See merge request GNOME/gtk!2922
2020-12-04 22:37:00 +00:00
Christian Hergert
a47c0065fb
macos: enable GL renderer by default
...
Now that the attribute locations are fixed for the GL renderer, we can
enable it by default on macOS.
Fixes #3420
2020-12-04 13:41:31 -08:00
Christian Hergert
6883c2214b
gl: specify attribute locations for vUv and aPosition
...
These positions are not guaranteed to be in a specific order when linked
into the final GPU program. They need to be specified so that our code
in gskglrenderer.c can use known positions for them to match up with
our GskQuadVertex.
This fixes the GL renderer on macOS's OpenGL shader compiler.
Fixes #3420
2020-12-04 13:33:34 -08:00
Matthias Clasen
7f6fdd6e7b
Merge branch 'matthiasc/for-master' into 'master'
...
emoji chooser: Fix incremental loading
Closes #3438
See merge request GNOME/gtk!2920
2020-12-04 17:21:56 +00:00
Matthias Clasen
24124452d5
docs: Fix up GtkPicture docs
...
These were missing proper linking.
2020-12-04 11:47:43 -05:00
Matthias Clasen
0dff89d9fb
Revert "theme: Round all window corners"
...
This reverts commit e46522e4b5 .
2020-12-04 11:13:26 -05:00
Matthias Clasen
f0f64f42ee
emoji chooser: Fix incremental loading
...
This broke when we started using GDK_PROFILER_CURRENT_TIME for
timekeeping - that gets defined to 0 when we're building without
sysprof, so we can use it to make such determinations. Go back
to using g_get_monotonic_time().
Fixes : #3438
2020-12-04 11:09:43 -05:00
Matthias Clasen
d278afc85b
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2918
2020-12-04 04:12:41 +00:00
Matthias Clasen
423b8209a1
gtk-demo: Use a native filechooser in the words demo
2020-12-03 22:31:05 -05:00
Benjamin Otte
559f74e0c1
Merge branch 'picture-docs2' into 'master'
...
Add docs about sizing pictures
See merge request GNOME/gtk!2917
2020-12-04 02:04:19 +00:00
Benjamin Otte
66c3a43e96
Add docs about sizing pictures
...
Suggested by Christopher Davis.
2020-12-04 02:04:19 +00:00
Matthias Clasen
d83554121f
gtk-demo: Use a native file chooser in the svg demo
2020-12-03 19:44:45 -05:00
Matthias Clasen
2688b94133
gtk-demo: Use a native filechooser in the video demo
2020-12-03 19:44:34 -05:00
Matthias Clasen
e035baee8a
gtk-demo: Remove empty row in the pickers demo
...
The file chooser button is gone.
2020-12-03 19:25:04 -05:00
Emmanuele Bassi
f1ff8f9aad
Merge branch 'wip/chergert/macos-decelerate' into 'master'
...
macos: fix typo when creating scroll events
Closes #3418
See merge request GNOME/gtk!2916
2020-12-03 22:54:46 +00:00
Christian Hergert
115ea624d9
macos: fix typo when creating scroll events
...
This fixes an issue where we would ignore events with Y delta
and no X delta while scrolling due to a typo when checking for
any delta.
This fixes deceleration of kinetic scrolling on the macOS backend.
Fixes #3418
2020-12-03 13:46:47 -08:00
Matthias Clasen
6ecae6c5f8
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: fix motion event delivery after closing transient window
Closes #3419
See merge request GNOME/gtk!2910
2020-12-03 20:07:16 +00:00
Matthias Clasen
6d76b587cf
Merge branch 'wip/chergert/shadertoy-macos-fix' into 'master'
...
demos: make alienplanet demo work on macOS OpenGL
See merge request GNOME/gtk!2915
2020-12-03 19:00:39 +00:00
Christian Hergert
8e62ff50fe
demos: make alienplanet demo work on macOS OpenGL
...
On the macOS OpenGL implementation, the use of noise2 as a
function within the glsl shader collides with the builtin noise2 of a
different signature.
This changes the name to something similar (noize2) so that we
do not risk colliding names when linking.
With this commit, the shadertoy alienplanet demo works on mac
OpenGL (albeit still with the Cairo renderer).
2020-12-03 10:23:13 -08:00
Matthias Clasen
0daa905a27
Merge branch 'wip/otte/conic' into 'master'
...
Implement a GL shader for conic gradients
See merge request GNOME/gtk!2913
2020-12-03 17:14:01 +00:00
Emmanuele Bassi
d1a4ad3db6
Merge branch 'wip/tintou/gdk-backends-header' into 'master'
...
build: Use the correct path to the header of the wayland and x11 backends
See merge request GNOME/gtk!2914
2020-12-03 12:32:24 +00:00
Benjamin Otte
2c1bd399d2
glrenderer: Implement a shader for conic gradients
2020-12-03 13:07:17 +01:00
Benjamin Otte
fac5fba0dc
rendernode: Fix some wrong constants for conic gradients
...
copy/paste from other nodes left some wrong values in there and that
screwed things up quite a bit.
2020-12-03 13:07:17 +01:00
Benjamin Otte
c907ad83b0
glrenderer: Emit more useful error messages
...
Catch the error when it happens, so that we can emit a specific and more
helpful error message.
Also verify that all branches in the code now do indeed set a proper
GError when they fail, so that the final catch-all is no longer needed.
Instead, assert that the error is set so that we catch future code
additions early that do not set the GError.
2020-12-03 13:07:17 +01:00
Corentin Noël
585ba777c2
build: Use the correct path to the header of the wayland and x11 backends
2020-12-03 10:02:03 +01:00
Matthias Clasen
f8ee4cfea5
NEWS: Updates
2020-12-02 23:10:39 -05:00
Matthias Clasen
35d2cbefe6
Merge branch 'wip/otte/conic' into 'master'
...
Add support for conic gradients
See merge request GNOME/gtk!2911
2020-12-03 03:54:24 +00:00
Christian Hergert
004f0a6596
macos: plug leak of application windows
...
This ensures that we don't leak window references inside the action muxer.
Otherwise, we risk not disposing the windows upon gtk_window_destroy()
and blocking the main loop from quitting.
Fixes #3419
2020-12-02 19:44:02 -08:00
Christian Hergert
b68e0bb3fb
muxer: add helper to get group by name
...
This is useful when you need to read a group back out of the muxer.
2020-12-02 19:44:02 -08:00
Christian Hergert
92f0216605
macos: ensure element is part of queue
...
We don't want to risk decrementing length field unless this is actually
part of the queue.
2020-12-02 19:44:02 -08:00
Christian Hergert
e317b9be00
macos: maintain GList element consistency
...
We need to keep this consistent so that we can look things up
faster in other places. Therefore, just take the hit here and clear
the entire list ensuring prev/next poniters are cleared.
2020-12-02 19:44:01 -08:00
Christian Hergert
2e52386be5
macos: send focus-out event to windowing
2020-12-02 19:44:01 -08:00
Christian Hergert
9431c70a6a
macos: freeze updates until surface is mapped
...
This more closely matches the X11 backend in terms of freezing
updates on the surface initially until we get mapped.
2020-12-02 19:44:01 -08:00
Matthias Clasen
6e67d44aa3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3429
See merge request GNOME/gtk!2912
2020-12-03 03:43:19 +00:00
Benjamin Otte
e622013f7e
css: Add support for conic-gradient()
...
This comes complete with animation support. For a good time, try:
@keyframes conic {
100% { background-image: conic-gradient(from 1turn, red, lime, blue, yellow, red); }
}
window {
background-image: conic-gradient(red, lime, blue, yellow, red);
animation: conic infinite linear 5s;
}
2020-12-03 04:13:33 +01:00
Benjamin Otte
3886f0c530
Merge branch 'wip/otte/diediedie' into 'master'
...
Remove GtkFileChooserButton
See merge request GNOME/gtk!2909
2020-12-03 01:31:39 +00:00
Benjamin Otte
eb9c204535
gtk: Remove GtkFileChooserButton
...
... as discussed in the meeting.
2020-12-03 02:02:27 +01:00
Matthias Clasen
ab9e99218f
docs: Remove mentions of <accelerator>
...
That is no longer supported, keyboard shortcuts
are done with GtkShortcut now.
Fixes : #3429
2020-12-02 19:59:44 -05:00
Matthias Clasen
714c610d6b
gtk-demo: Add a search button
...
Easter eggs are great, but search shouldn't be one.
2020-12-02 19:53:55 -05:00
Benjamin Otte
8706d69e60
snapshot: Add gsk_snapshot_append_conic_gradient()
2020-12-03 01:15:53 +01:00
Benjamin Otte
55a242bd81
gsk: Add GskConicGradientNode
2020-12-03 00:47:54 +01:00
Matthias Clasen
61b40c47f9
Merge branch 'fix/keyboard-input' into 'master'
...
Gdk4/Win32: Correct calls to gdk_key_event_new()
See merge request GNOME/gtk!2903
2020-12-02 22:14:27 +00:00
Matthew Jakeman
710d0620a4
Gdk4/Win32: Correct call to gdk_key_event_new()
...
The keycode and modifier (state) parameters are in the wrong order
for gdk_key_event_new() in the gdk win32 backend, which causes
key up/down events to be populated incorrectly.
2020-12-02 22:14:27 +00:00
Benjamin Otte
71cb7c2063
rendernodeparser: Split out a function
2020-12-02 21:48:35 +01:00
Matthias Clasen
a482d870dd
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
Revert "macos: specify a window level for surfaces"
See merge request GNOME/gtk!2908
2020-12-02 20:15:51 +00:00
Emmanuele Bassi
bc4992fef9
Merge branch 'ebassi/doc-fixes' into 'master'
...
Ebassi/doc fixes
Closes #3428
See merge request GNOME/gtk!2906
2020-12-02 20:08:05 +00:00
Christian Hergert
b38d0d7d9e
macos: resign main/key when hiding window
...
This isn't done automatically for us, so we need to synthesize it in
our hide helper.
With this commit, we properly re-focus the new main/key window after
we have closed a transient-for window.
2020-12-02 11:36:38 -08:00
Christian Hergert
853a9c7a8c
macos: disconnect frame clock when destroying surface
2020-12-02 11:35:02 -08:00
Christian Hergert
26b9254ac7
macos: track grab serial like other backends
...
This is what is done elsewhere, so copy that here too now that we actually
generate serials for events.
2020-12-02 11:34:31 -08:00
Benjamin Otte
a51f11999a
tests: Remove testsvg
...
That demo lives in gtk-demo now.
2020-12-02 20:17:28 +01:00
Christian Hergert
f11c23f407
Revert "macos: specify a window level for surfaces"
...
This reverts commit ca8b00e871 .
This isn't needed and causes issues with other applications getting
stacked beneath our windows.
2020-12-02 11:15:57 -08:00
Emmanuele Bassi
0c8de4e561
Fix transfer of GtkTreeExpander.get_item()
...
We return a full reference to the item.
Fixes : #3428
2020-12-02 19:10:13 +00:00
Emmanuele Bassi
13f9993007
docs: Add missing fields to GtkTextBufferClass
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
b2b451d762
docs: Hide private files/directories in the GTK reference
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
2e146a56f7
docs: Mark GtkModelButton's section as private
...
The widget is not public any more.
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
34197d4f8a
docs: Add more symbols to the GDK reference
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
39dbd91bb0
docs: Add yet another private header
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
901d99d7c5
docs: More ignored files
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
8f6e3848f6
docs: Remove duplicate symbol
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
3548350dfa
docs: Add missing GdkDragSurfaceInterface gtk-doc annotation
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
caae240bc7
docs: Ignore harder
...
First of all, we must list *all* ignored headers. Since we have public
headers in the x11 and wayland directories, we must explicitly declare
all headers that we consider private under those directories.
The "quartz" subdirectory was renamed "macos", with the new macOS
backend. The "mir" directory was removed, so there's no need to ignore
it.
We are also missing a bunch of ignored headers in the top-level gdk
directory.
Finally, pass the list of ignored files to gtkdoc-mkdb, so we won't get
missing declaration warnings.
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
f5f6ceece5
docs: Remove private symbols from the API reference
2020-12-02 19:05:41 +00:00
Emmanuele Bassi
4caceb5dd4
Remove gtk-doc annotation from private symbols
...
Keep the documentation, just tweak it so that gtk-doc won't try to find
the declarations of these private symbols.
2020-12-02 19:05:41 +00:00
Matthias Clasen
3da41b6021
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: fix window stacking
See merge request GNOME/gtk!2907
2020-12-02 18:38:14 +00:00
Christian Hergert
9b9fb4d7a3
macos: place above transient-for when presenting
...
We need to re-attach to the transient-for window whenever we present or
we risk getting placed behind the window by the display server. Apparently
that setting does not persist across a hide of the NSWindow.
2020-12-02 10:21:16 -08:00
Christian Hergert
ca8b00e871
macos: specify a window level for surfaces
2020-12-02 10:15:43 -08:00
Matthias Clasen
4434889e41
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2905
2020-12-02 15:57:39 +00:00
Bilal Elmoussaoui
475352fbc0
StringList: add missing nullability annotations
2020-12-02 10:36:29 -05:00
Bilal Elmoussaoui
ad30ac3932
Shortcut: add missing nullability annotations
2020-12-02 10:29:16 -05:00
Bilal Elmoussaoui
9d52ca1887
StringFilter: get_search fix nullable annotation
2020-12-02 10:28:07 -05:00
Bilal Elmoussaoui
ec537d75e4
Text: add missing nullability annotations
2020-12-02 10:28:07 -05:00
Bilal Elmoussaoui
b47ea9421f
TextView: add missing nullability annotations
2020-12-02 10:28:07 -05:00
Bilal Elmoussaoui
845d2e5433
TreeModel: add missing nullability annotations
2020-12-02 10:28:07 -05:00
Bilal Elmoussaoui
50310f7b14
TreeView: add missing nullability annotations
2020-12-02 10:28:07 -05:00
Matthias Clasen
af944aa74c
widget: Add a missing nullability annotation
2020-12-02 10:08:58 -05:00
Matthias Clasen
b5077d02ed
Clarify the docs for gtk_widget_class_set_css_name
...
Reword, and mention the default css name.
2020-12-02 10:06:01 -05:00
Bilal Elmoussaoui
6a3bd1c4d1
window: default_icon_name can be null
2020-12-02 10:00:18 -05:00
Emmanuele Bassi
2fcd0e21bd
Merge branch 'ebassi/for-master' into 'master'
...
Various documentation fixes
See merge request GNOME/gtk!2900
2020-12-02 13:40:25 +00:00
Daniel Mustieles
5127726bbc
Updated Spanish translation
2020-12-02 13:54:32 +01:00
Daniel Mustieles
db456a70ee
Updated Spanish translation
2020-12-02 09:26:08 +01:00
Emmanuele Bassi
770e848953
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: various macos improvements for GTK 4
See merge request GNOME/gtk!2902
2020-12-02 01:14:30 +00:00
Christian Hergert
9e1dd15e31
macos: use Cairo renderer by default
...
Until the GL renderer is working on macOS OpenGL, we need to default
to the Cairo renderer.
2020-12-01 16:24:15 -08:00
Christian Hergert
27b9a9e7ef
macos: glFlush() when switching GL contexts
...
The Mac OpenGL programming guide suggests that you glFlush() before changing
contexts to ensure that the commands have been submitted.
2020-12-01 16:19:04 -08:00
Christian Hergert
a020c901ba
macos: treat some toplevel NSWindow like document windows
...
This makes the window animate in by the window manager like other
application windows on macOS. Currently ignored for transient windows.
2020-12-01 16:19:04 -08:00
Emmanuele Bassi
cdad68e858
docs: Ignore generated Wayland protocol file
2020-12-01 18:03:31 +00:00
Emmanuele Bassi
ef36028526
docs: Ignore more private files
2020-12-01 18:01:33 +00:00
Emmanuele Bassi
69b1b19315
docs: Annotate missing symbols
2020-12-01 17:28:16 +00:00
Emmanuele Bassi
516f71bbdc
Use the appropriate prefix for GtkBuilderClosureFlags
...
Facilitate the job of glib-mkenums, and ensure that the enumeration
nicknames are computed reliably.
2020-12-01 17:26:34 +00:00
Emmanuele Bassi
d820fea7a4
docs: Annotate GtkBuildableParser
2020-12-01 17:21:45 +00:00
Emmanuele Bassi
3e8d157118
docs: Hide GtkBitsetIter fields
2020-12-01 17:18:38 +00:00
Emmanuele Bassi
67f45940ce
docs: Annotate GtkAssistant::escape action signal
2020-12-01 17:18:23 +00:00
Emmanuele Bassi
95400e6451
docs: Annotate GtkAppChooserButton::changed
2020-12-01 17:16:05 +00:00
Emmanuele Bassi
d46fe31f54
docs: Ignore more files
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
4f67be1c8e
docs: Add missing annotations for GtkTextTagTable
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
c13e164f25
Make GtkCenterLayout accessors more idiomatic
...
Add argument validation, and emit a layout-changed signal whenever the
start, center, and end widgets change.
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
eba8f36d4f
docs: Fix annotations in GtkCenterLayout
...
Missing ':' separator.
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
37f11ab77d
docs: Annotate GskRenderer
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
8b898818c2
docs: Annotate the GL shader objects
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
0f62ab6c42
docs: Annotate all render node types
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
c524b72d13
docs: Annotate structure types used by GskRenderNodes
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
b5313dbd4d
docs: Annotate GdkDeviceTool
2020-12-01 15:51:52 +00:00
Emmanuele Bassi
b9a1827da7
docs: Annotate GdkGLTexture
2020-12-01 13:48:07 +00:00
Emmanuele Bassi
1057189ea2
docs: Annotate GdkMemoryTexture
2020-12-01 13:47:56 +00:00
Emmanuele Bassi
879b2845ad
docs: Annotate GdkPaintable
...
The dummy typedef needs a gtk-doc stanza, and the interface
documentation needs to be slightly clarified.
2020-12-01 13:44:51 +00:00
Emmanuele Bassi
ecce3756d4
docs: Annotate GdkPopup
2020-12-01 13:42:07 +00:00
Emmanuele Bassi
6e4dd5811d
docs: Annotate GdkSnapshot
2020-12-01 13:41:28 +00:00
Emmanuele Bassi
598e1304f6
docs: Annotate the GdkToplevel interface
2020-12-01 13:39:48 +00:00
Emmanuele Bassi
e3fbc0ee9c
docs: Fix typo in the GdkTolevelLayout annotation
2020-12-01 13:38:33 +00:00
Emmanuele Bassi
4021734047
docs: Annotate the GdkContentProviderClass structure
2020-12-01 13:38:12 +00:00
Emmanuele Bassi
5a307fa7f3
docs: Ignore more private headers
2020-12-01 13:37:59 +00:00
Matthias Clasen
617d12fd77
Merge branch 'sophie-h/gtk-nullables-2'
...
Merge Sophie's nullable annotations, with some documentation
fixups on top.
2020-11-30 23:43:44 -05:00
Matthias Clasen
837f398a9b
columnviewcolumn: Improve docs
...
Mention what setting sorter to NULL means.
2020-11-30 23:40:03 -05:00
Matthias Clasen
e18211deca
centerlayout: Improve docs
...
Explain what passing NULL does.
2020-11-30 23:36:23 -05:00
Jordi Mas
32a547cc3e
Update Catalan translation
2020-11-30 22:35:47 +01:00
Matthias Clasen
365afa381a
Merge branch 'arnaudb/annotate-set-title' into 'master'
...
Add "nullable" annotation.
See merge request GNOME/gtk!2895
2020-11-30 21:14:28 +00:00
Matthias Clasen
b7d3c073f8
NEWS: Updates
2020-11-30 14:00:26 -05:00
Matthias Clasen
56b0095622
Merge branch 'master' into 'master'
...
broadway: make header name parsing case-insensitve
Closes #3406
See merge request GNOME/gtk!2894
2020-11-30 17:55:27 +00:00
Matthias Clasen
39f0c48eb2
Apply 1 suggestion(s) to 1 file(s)
2020-11-30 17:44:30 +00:00
Matthias Clasen
7d24e1405e
Apply 1 suggestion(s) to 1 file(s)
2020-11-30 17:42:39 +00:00
Matthias Clasen
3680ae220a
Merge branch 'matthiasc/for-master' into 'master'
...
build: Use link_whole for linking our convenience libs
See merge request GNOME/gtk!2899
2020-11-30 15:49:25 +00:00
Matthias Clasen
f309fa21c9
build: Use link_whole for linking our convenience libs
...
Without this, we lose exported symbols from e.g. libgsk
that are not used elsewhere in the code.
2020-11-30 09:56:55 -05:00
Matthias Clasen
61e7326f22
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3364
See merge request GNOME/gtk!2898
2020-11-30 14:44:15 +00:00
Timm Bäder
dc13ff97e2
modelbutton: Reset active menu item on pointer leave
...
We don't want to leave an active menu item behind if the pointer doesn't
enter another menu item.
This matches the old GtkMenu behavior
2020-11-30 09:23:03 -05:00
Timm Bäder
af28237569
popovermenu: Connect to right controller signal
...
leave is emitted before the new contains-pointer value is set, so the
signal handler wasn't working right.
2020-11-30 09:22:57 -05:00
Timm Bäder
ff8de0a93f
eventcontrollermotion: Notify by pspec
2020-11-30 09:22:49 -05:00
Timm Bäder
aefabcc056
popovermenu: Pull variable declaration in closest scope
2020-11-30 09:22:41 -05:00
Timm Bäder
1d6c6fc3b8
shortcutcontroller: Separate trigger/action early returns
...
We take this early return in update_accel over 36k times when starting
the widget factory and always because the action is not a named action.
2020-11-30 09:22:34 -05:00
Timm Bäder
8645773fc6
shortcutcontroller: Pass the muxer to update_accel()
...
We only needed the widget to get its action muxer. And this way we don't
have to call gtk_widget_get_action_muxer() dozens of times, just once in
set_widget().
2020-11-30 09:22:29 -05:00
Timm Bäder
d663909159
shortcutcontroller: Use priv->shortcuts directly in set_widget()
...
Instead of treating the shortcut controller itself as a GListModel,
which just passes everything along from priv->shortcuts.
2020-11-30 09:22:21 -05:00
Timm Bäder
e3ff92bc87
shortcutcontroller: Save signal handler ID
...
gtk_shortcut_controller_finalize() used to take ~13.8% when closing the
complex listbox demo in gtk4-demo. Now it takes nothing.
2020-11-30 09:21:57 -05:00
Timm Bäder
2d43ecf8ca
widget: root child before emitting child observer signals
...
Try to avoid the childen_observer signal handlers screwing up internal
state.
Fixes #3364
2020-11-30 09:21:52 -05:00
Timm Bäder
5f4beb711f
widgetprivate: Remove unused function
2020-11-30 09:21:42 -05:00
Timm Bäder
da514187f5
gl renderer: Make minimal rounded rects more minimal
2020-11-30 09:21:34 -05:00
Matthias Clasen
6bd9ce7b55
docs: Ignore more generated Wayland protocol headers
...
These inject mysterious words like Airbrush, Lense and
Mouse into the list of undocumented apis. No need for that.
2020-11-30 09:21:24 -05:00
Matthias Clasen
ec21d354b9
gsk: doc fixups
2020-11-30 09:21:24 -05:00
Matthias Clasen
8cf4ce5d9e
Merge branch 'ebassi/cell-renderer-get-size' into 'master'
...
Remove GtkCellRendererClass.get_size()
See merge request GNOME/gtk!2896
2020-11-30 14:09:03 +00:00
Emmanuele Bassi
09b6c37e1d
Merge branch 'ebassi/for-master' into 'master'
...
Blend nodes might have NULL top/bottom nodes
See merge request GNOME/gtk!2891
2020-11-30 13:10:25 +00:00
Piotr Drąg
3161dbfff2
Update Polish translation
2020-11-29 12:11:26 +01:00
Yuri Chornoivan
8412928a14
Update Ukrainian translation
2020-11-29 07:53:56 +00:00
Emmanuele Bassi
60a7830ba5
Remove GtkCellRendererClass.get_size()
...
The get_size() vfuncs is deprecated in GTK3, and only used as a
fallback path for cell renderers that do not implement preferred
size virtual functions.
2020-11-28 19:21:24 +00:00
Emmanuele Bassi
ac473282a2
Port CellRendererGraph to preferred size vfuncs
...
Drop use of GtkCellRendererClass.get_size()
2020-11-28 19:21:24 +00:00
Emmanuele Bassi
20f9e0f144
Port GtkCellRendererProgress to preferred size vfuncs
...
Drop the use of GtkCellRendererClass.get_size()
2020-11-28 19:21:24 +00:00
Emmanuele Bassi
71a9e5d8c2
Port GtkCellRendererToggle to preferred size vfuncs
...
Drop the use of GtkCellRendererClass.get_size()
2020-11-28 19:21:24 +00:00
Emmanuele Bassi
a605fcc2bd
Port GtkCellRendererSpinner to preferred size vfuncs
...
Drop the use of GtkCellRendererClass.get_size()
2020-11-28 19:21:23 +00:00
Emmanuele Bassi
3eaebf1e0b
Port GtkCellRendererPixbuf to preferred size vfuncs
...
Drop the GtkCellRendererClass.get_size() override.
2020-11-28 19:21:23 +00:00
Аляксей
e540ccbd34
Update Belarusian translation
2020-11-28 14:30:43 +00:00
Arnaud Bonatti
55ce61d1a8
Add "nullable" annotation.
2020-11-28 12:15:38 +01:00
Jakub Steiner
8e14f43398
Merge branch 'wip/jimmac/dark-prelights' into 'master'
...
wip/jimmac/dark prelights
Closes #3380
See merge request GNOME/gtk!2892
2020-11-27 18:14:09 +00:00
Jakub Steiner
bbbcc72460
Adwaita,HC: use dark prelights
...
- increase :hover visibility by going darker rather than lighter
puppies died.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3380
2020-11-27 18:17:12 +01:00
Anders Jonsson
c2b1b00e52
Update Swedish translation
2020-11-27 13:35:03 +00:00
Anders Jonsson
05c2e35c5d
Update Swedish translation
2020-11-27 13:31:30 +00:00
Benjamin Beichler
8efde9c48c
broadway: make header name parsing case-insensitve
...
since http RFC state that the header names should be processed case in-sensitive, broadway should not rely on the actual case. E.g. the go-language libraries tend to rewrite the header, which cause problems with e.g. Caddy
Fixes #3406
2020-11-27 12:05:51 +01:00
Emmanuele Bassi
247fc2e471
Blend nodes might have NULL top/bottom nodes
...
We have code in place to handle a NULL node in the state when dealing
with blend nodes, but we don't always check for NULL, which leads to
warnings in the CSS Blend modes demo.
2020-11-26 00:21:11 +00:00
Matthias Clasen
9d2ca90b4c
popover: Fix a typo
...
s/Wether/Whether/
Fixes #3393
2020-11-25 13:59:16 -05:00
Emmanuele Bassi
3a5f8b6192
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
Closes #3404 and #3403
See merge request GNOME/gtk!2890
2020-11-25 18:43:53 +00:00
Emmanuele Bassi
16b5a88097
a11y: Check before disconnecting Text signals
...
Use the same initial check for the accessible object type that we use
when connecting the signal, in case we try to disconnect signals on
different widgets. Additionally, check before accessing data that might
have already been removed.
Fixes : #3403
2020-11-25 18:15:04 +00:00
Emmanuele Bassi
fdf2e046c3
a11y: Check before disconnecting selection signals
...
If the selection data has already been cleared we should just bail out.
Fixes : #3404
2020-11-25 18:13:54 +00:00
Jakub Steiner
531d57f30c
Merge branch 'wip/jimmac/menus-darker' into 'master'
...
Adwaita: darker selected menuitem + sidebars
Closes #3390
See merge request GNOME/gtk!2881
2020-11-25 13:42:55 +00:00
Jordi Mas i Hernandez
841bf67bb9
Update Catalan translation
2020-11-25 13:42:11 +00:00
Jakub Steiner
399b457f54
Adwaita: darker selected menuitem + sidebars
...
- without sacrificing the fg/bg contrast too much, increase
selected item visibility
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3390
2020-11-25 14:28:19 +01:00
Sophie Herold
fed734edfc
Fix some nullable return annotations 2
2020-11-24 19:27:33 +01:00
Matthias Clasen
c84c014536
Merge branch 'wip/chergert/for-master' into 'master'
...
textview: fix precondition assertions
Closes #3386
See merge request GNOME/gtk!2886
2020-11-24 17:14:53 +00:00
Christian Hergert
1e994419ee
textview: fix precondition assertions
...
It is a programmer error to call this with a child widget that has not
been placed within the GtkTextView.
Fixes #3386
2020-11-24 08:29:52 -08:00
Matthias Clasen
7b22c44b39
Merge branch 'fix-integer-overflow' into 'master'
...
gdk/win32: fix integer overflow in monitor refresh rate calculation
Closes #3394
See merge request GNOME/gtk!2884
2020-11-24 16:22:49 +00:00
Anders Jonsson
2e744260e0
Update Swedish translation
2020-11-23 22:09:28 +00:00
Volker Rümelin
7190a31b5f
gdk/win32: fix integer overflow in monitor refresh rate calculation
...
In gdk/win32/gdkmonitor-win32.c in function
populate_monitor_devices_from_display_config() refresh->Numerator * 1000
overflows for refresh->Numerator > 4294976.
Cast the factor 1000 to UINT64 to prevent the overflow.
Fixes #3394
2020-11-23 21:42:58 +01:00
Matthias Clasen
729f007379
Merge branch 'no-more-devel-headers' into 'master'
...
Drop devel styling from our windows
See merge request GNOME/gtk!2882
2020-11-23 19:01:44 +00:00
Matthias Clasen
b75b359f19
Drop devel styling from our windows
...
We are about to do a stable release. Time to get used
again to plain old, boring header bars.
2020-11-23 12:10:01 -05:00
Emmanuele Bassi
d7de720275
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2876
2020-11-23 15:41:03 +00:00
Emmanuele Bassi
ef86e46238
a11y: Cache the accessibility bus address
...
Just check for it once; doing it every time we failed to create an
ATContext is just going to fill up the logs.
2020-11-23 14:34:46 +00:00
Emmanuele Bassi
0a46baeb56
a11y: Turn critical warnings into debug messages
...
The accessibility bus might not be available, and if it isn't the case,
it means something has failed at a level where the user can't do much
about it. There's no need to emit a critical warning.
2020-11-23 14:34:46 +00:00
Emmanuele Bassi
fd3a6299ce
Merge branch 'ebassi/glib-min-version' into 'master'
...
Ebassi/glib min version
See merge request GNOME/gtk!2880
2020-11-23 14:33:20 +00:00
Emmanuele Bassi
803b147483
Disable deprecation warnings from GLib
...
We don't want to test the latest changes in GLib in our own build.
2020-11-23 13:04:11 +00:00
Emmanuele Bassi
1f44319588
Drop redundant dependencies
...
PangoCairo already depends on Pango; Cairo-gobject already depends on
Cairo.
2020-11-23 13:04:11 +00:00
Emmanuele Bassi
505478bc59
Drop GLib dependency from GTK's declared dependencies
...
We depend on GObject, which already depends on GLib; on older versions
of Meson, this ends up trying to depend on the system copy of GLib,
instead of the sub-project copy, in case the version of GLib we have
installed is too old.
2020-11-23 12:29:32 +00:00
Emmanuele Bassi
de7833b6a0
Use the right GLib macros for version checking
...
There's a typo in the name, and we never noticed.
2020-11-23 12:06:22 +00:00
Emmanuele Bassi
3a1b2083d6
Do not depend on GLib API introduced after 2.66
...
To avoid bleeding edge deprecations we use GLIB_VERSION_MIN_REQUIRED and
GLIB_VERSION_MAX_ALLOWED. Since we depend on GLib 2.66, we cannot use
API introduced in 2.67, even when conditionally compiled.
2020-11-23 12:06:22 +00:00
nana-4
3e996f61ae
icon-browser: Add .sidebar style class in the main window
...
So the sidebar can get the proper background and border colors.
2020-11-23 10:51:58 +01:00
nana-4
56eac4f846
gtk-demo: Add .sidebar style class in the main window
...
So the sidebar can get the proper background and border colors.
2020-11-23 10:51:58 +01:00
nana-4
61dcb685b2
Adwaita: Unify sidebar background-color
...
The sidebar item style is already unified. The sidebar background-color
should be unified as well.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-23 10:51:58 +01:00
nana-4
bd0d75e237
Adwaita: Make sidebar row styling better
...
- Reorder declaration blocks for code legibility.
- Don't lighten text color on :hover and :selected for better contrast.
- Add missing :focus-visible:focus-within styling to non-:selected row.
2020-11-23 10:51:58 +01:00
nana-4
179fc68355
Adwaita: Fix some sidebar sizing
...
- Don't set the sidebar padding twice.
- Add padding to the assistant sidebar directly, as it doesn't have
.navigation-sidebar internally.
- Set missing margin to the sidebar separator.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-23 10:51:58 +01:00
nana-4
9828756e05
Adwaita: Move placessidebar-specific sizing from .navigation-sidebar
...
The common .navigation-sidebar styling should be more generic.
2020-11-23 10:51:58 +01:00
nana-4
40f2b49c0d
Adwaita: Make treeexpander styling generic
...
The widget can be used outside .navigation-sidebar.
This also fixes the label misalignment in the widget.
2020-11-23 10:51:58 +01:00
nana-4
8e81cbef2c
stacksidebar: Add missing .navigation-sidebar to the inner list
...
Also don't set :show-separators, which is not applied in other sidebars.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-23 10:51:58 +01:00
Timm Bäder
47d572834b
Merge branch 'scalebutton' into 'master'
...
properly set ScaleButton's parent_class
Closes #3381
See merge request GNOME/gtk!2877
2020-11-23 07:38:17 +00:00
Bilal Elmoussaoui
46601325f1
properly set ScaleButton's parent_class
...
GtkScaleButton doesn't subclass GtkButton anymore
Fixes #3381
2020-11-23 02:47:12 +01:00
Emmanuele Bassi
0abc7a3361
Merge branch 'nullables-1' into 'master'
...
Fix some nullable return annotations
See merge request GNOME/gtk!2873
2020-11-21 16:11:34 +00:00
Sophie Herold
1e01b9079d
Fix some nullable return annotations
2020-11-21 16:33:40 +01:00
Piotr Drąg
be688c46f2
Update POTFILES.skip
2020-11-21 14:39:17 +01:00
Jakub Steiner
ab163f168d
Merge branch 'wip/jimmac/clipped-menu-shadows' into 'master'
...
Adwaita: avoid clipping menu shadows
Closes #1987
See merge request GNOME/gtk!2872
2020-11-20 12:37:49 +00:00
Jakub Steiner
e937f7eac8
Revert "Adwaita: unified sidebar styles"
...
Doing the same mistake twice :( Even margin is eating from the container,
not expanding outside of it.
This reverts commit 6be575992f .
2020-11-20 13:24:23 +01:00
Jakub Steiner
b84945e43f
Merge branch 'wip/jimmac/sidebar-backdrop' into 'master'
...
Adwaita: don't backdrop labels
Closes #3377
See merge request GNOME/gtk!2868
2020-11-20 12:08:59 +00:00
Jakub Steiner
b3dba1dca6
Adwaita: avoid clipping menu shadows
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1987
2020-11-20 13:04:04 +01:00
Jakub Steiner
060cfc713f
Merge branch 'wip/jimmac/unified-sidebar-styles' into 'master'
...
Adwaita: unified sidebar styles
Closes #3382
See merge request GNOME/gtk!2871
2020-11-20 11:40:30 +00:00
Jakub Steiner
6be575992f
Adwaita: unified sidebar styles
...
- stacksidebar focus, separation and color as everything else
- eliminate placessidebar double padding
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3382
2020-11-20 12:24:40 +01:00
Jakub Steiner
4bec75c66b
Adwaita: don't backdrop labels
...
- instead of overriding :backdrop for sidebars, continue pursuing
not to backdrop anything but headerbar items and buttons.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3377
2020-11-20 09:34:23 +01:00
Matthias Clasen
8e4cc59a7a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2870
2020-11-20 02:02:10 +00:00
Matthias Clasen
c17227966d
Merge branch 'wip/carlosg/for-master' into 'master'
...
gtk/main: Do not unset active state on button release w/o implicit grab
See merge request GNOME/gtk!2869
2020-11-20 01:46:03 +00:00
Matthias Clasen
a2ce6268b2
gtk-demo: Make a more interesting constraints demo
...
Show various ways to influence spacing. This is more or
less modeled on the way Androids constraint layout lets
you set up 'chains'.
2020-11-19 20:35:15 -05:00
Carlos Garnacho
5ab14ff7f6
gtk/main: Do not unset active state on button release w/o implicit grab
...
If an active grab gets undone on button press (e.g. closing a menu), we
will receive a button release on the new target even though it didn't handle
the button press, and disable ::active state.
This causes warnings when handling the button release, as it tries to undo
::active state that is not really there.
In order to fix this, check that the pointer focus actually had an implicit
grab at the time of receiving the button release, before trying to unset
the ::active state.
2020-11-19 22:58:14 +01:00
Emmanuele Bassi
8482b956d6
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2867
2020-11-19 16:37:58 +00:00
Matthias Clasen
562c7b1ff3
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
GTK4: various fixes
See merge request GNOME/gtk!2864
2020-11-19 16:05:47 +00:00
Jakub Steiner
8099de22f9
Merge branch 'wip/jimmac/industrial-style-menuitems' into 'master'
...
Adwaita: revert edge-to-edge menuitems
Closes #3366
See merge request GNOME/gtk!2866
2020-11-19 15:52:25 +00:00
Emmanuele Bassi
a4c3bee4a1
a11y: Hide children of GtkFishBowl
...
The fishbowl widget is purely presentational, and its children should
not be visible in the accessibility tree.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
5afa985e85
demo: Make GtkFishBowl a presentation widget
...
It has no accessible content, even if it displays widgets.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
e600a07237
a11y: Skip atspi.Cache signals for hidden elements
...
If the accessible object is hidden, we can skip the emission of the
AddAccessible and RemoveAccessible signals on the cache, as those
objects won't be visible in the accessibility tree.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
8fa58c2e17
a11y: Get the accessible role once
...
Simplify getting the accessible role when checking if an accessible
implementation should present itself; this avoids going through
GtkAccessible twice to get the same data.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
d436c2e839
a11y: Remove weak ref from atspi.Cache
...
The GtkAtSpiContext is responsible for removing itself from the root,
which will remove itself from the cache. Any code path that leads to the
GtkAtSpiContext instance being collected passes through the
unrealization phase, which will also unregister the context from the
accessibility bus and from the cache.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
b37634dcd5
a11y: Add a fallback for the root base path
...
In case g_get_prgname() returns NULL, which seems to be the case for the
GTK tests.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
2d636fdda0
a11y: Reuse the generated AT-SPI interface name
...
We already have the name available.
2020-11-19 15:20:56 +00:00
Emmanuele Bassi
28095641c5
a11y: Use the appropriate GVariant for cache signals
...
We need to wrap the argument for AddAccessible and RemoveAccessible into
a tuple, as that's what GDBus expects.
2020-11-19 12:14:55 +00:00
Jakub Steiner
d58b06ceeb
Adwaita: revert edge-to-edge menuitems
...
- use the old Industrial style menuitems to make the design feel purposeful
- adjust corners to have compatible border-radii of child elements
- include sidebars and navigation sidebars to look consistent
(plus the assistant sidebar)
Implements https://gitlab.gnome.org/GNOME/gtk/-/issues/3366
2020-11-19 11:16:28 +01:00
Christian Hergert
82b4c34eca
gl: add some debugging information to DEBUG_OPS
2020-11-18 20:16:40 -08:00
Christian Hergert
ee47ddf5fd
lpr: fix cast warning
2020-11-18 20:16:40 -08:00
Christian Hergert
f32ae2964a
macos: fix various compiler warnings
2020-11-18 20:16:37 -08:00
Christian Hergert
eae5eaeb21
gl: use glFramebufferTexture2D to set framebuffer texture
...
When mapping a texture to the framebuffer, we can use the 2D
form instead of the cube mapping form.
2020-11-18 20:09:01 -08:00
Matthias Clasen
09fd2d61c4
gtk-demo: Rename some demos
...
This is just to make it easier for myself to
find the right sources.
2020-11-18 18:58:45 -05:00
Matthias Clasen
86d7ab7c50
docs: Update GtkSensitivityType docs
...
Don't talk about steppers here, since we are only using
this type for combobox buttons nowadays.
2020-11-18 18:18:31 -05:00
Matthias Clasen
88be92ceee
scrollbar: Don't talk about steppers
...
There steppers were lost on the way from GtkRange
to GtkScrollbar, so don't talk about them in the docs.
2020-11-18 17:27:13 -05:00
Matthias Clasen
04c4b387a0
gtk-demo: Add more keywords
...
Add GtkShortcutController as a keyword to some demos that
show its use.
2020-11-18 10:48:57 -05:00
Matthias Clasen
7551f85d4c
Merge branch 'wayland-minimize' into 'master'
...
wayland: Implement minimization
Closes #2688
See merge request GNOME/gtk!2861
2020-11-18 14:23:56 +00:00
Matthias Clasen
184886f893
Merge branch 'constraint-editor-work' into 'master'
...
Constraint editor work
See merge request GNOME/gtk!2863
2020-11-18 12:19:07 +00:00
Matthias Clasen
36ef94b002
constraint-editor: Fix creating constant constraints
...
We were not making the button sensitive in the case
of a constant constraint, and we were not properly
creating constant constraints either.
2020-11-17 23:16:57 -05:00
Matthias Clasen
831ebe3ef2
constraint-editor: Fix saving of constraints
...
g_file_replace_contents take a gsize, so passing -1
for string length does not work here.
2020-11-17 23:14:29 -05:00
Matthias Clasen
76b8676955
constraintlayout: Fix parsing of constant constraints
...
We were inadvertently turning constant constraints into
constraints against super, due to confusion between target
and source attribute.
2020-11-17 23:11:16 -05:00
Matthias Clasen
b3243132a0
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: fix rendering artifacts with hover transitions
See merge request GNOME/gtk!2862
2020-11-18 03:04:01 +00:00
Matthias Clasen
de461712a1
constraint-editor: Improve display of constraints
...
No need to go for ALGOL60 style operators when we
have Unicode.
2020-11-17 21:52:15 -05:00
Christian Hergert
dd7f52c59a
macos: fix rendering artifacts with hover transitions
...
Using an image surface seems to fix some rendering artifacts when
performing cross-fade CSS transitions.
2020-11-17 18:20:55 -08:00
Matthias Clasen
3f1bc740e4
wayland: Implement minimization
...
Use the set_minimized method of the xdg_toplevel
interface to implement minimization as well as possible.
It is not possible, since there is no corresponding
state that we could use to update our surface state,
but in practice, it works well enough.
Fixes : #2688
2020-11-17 19:57:56 -05:00
Matthias Clasen
9128ad105b
Merge branch 'wip/carlosg/for-master' into 'master'
...
gdk/wayland: Update to gtk_shell1 version 3
See merge request GNOME/gtk!2860
2020-11-18 00:13:17 +00:00
Carlos Garnacho
745cbc6c91
gdk/wayland: Update to gtk_shell1 version 3
...
Bring in line with gtk3, in terms of startup notification and
activation support.
2020-11-18 00:41:46 +01:00
Matthias Clasen
b635736ac2
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
node-editor: fix length of text during save
See merge request GNOME/gtk!2859
2020-11-17 22:49:05 +00:00
Matthias Clasen
ba081bf119
Merge branch 'fix-doc-packtype' into 'master'
...
doc: Adapt GtkPackType documentation to GTK4 changes
See merge request GNOME/gtk!2858
2020-11-17 22:46:43 +00:00
Christian Hergert
3003f37e9d
node-editor: fix length of text during save
...
The length parameter for g_file_replace_contents() is a gsize, so -1 is
unsuitable here. Just use strlen() directly.
2020-11-17 14:34:11 -08:00
Matthias Clasen
c1e05e7c52
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3278
See merge request GNOME/gtk!2856
2020-11-17 19:25:05 +00:00
Matthias Clasen
6b475aacd2
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
inspector: handle differences in DPI between backends
See merge request GNOME/gtk!2857
2020-11-17 19:24:47 +00:00
vanadiae
bc4969ec42
doc: Adapt GtkPackType documentation to GTK4 changes
...
Since GTK4, the functions that used the GtkPackType enumeration,
`gtk_box_pack_{start,end}`, were replaced by `gtk_box_{append,prepend}`,
hence this enumeration isn't used anymore by any function within the
GtkBox type, and the child packing properties were also removed for GTK4.
So this commit adapts the documentation accordingly.
2020-11-17 20:19:16 +01:00
Benjamin Otte
1c7daece7a
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2855
2020-11-17 19:08:01 +00:00
Christian Hergert
37a8c138f9
inspector: handle differences in DPI between backends
...
This fixes an issue on macOS where the text gets much larger once opening
the inspector.
2020-11-17 10:45:25 -08:00
Matthias Clasen
34d547a2aa
inspector: Limit the width of readonly properties
...
For readonly properties, we show the serialized value
in a label. If we don't take precautions, this can cause
our window to grow extremely wide, and break things.
So, ellipsize things at a reasonable size.
Fixes : #3278
2020-11-17 13:36:57 -05:00
Benjamin Otte
163c04c101
snapshot: Add cleanup function to snapshot state
...
Otherwise we're leaking data in error cases.
2020-11-17 19:04:39 +01:00
Benjamin Otte
f2284ff40f
rendernode: Rename all gsk_render_node_peek_*() functions
...
Those are getters, they should be gsk_render_node_get_*() functions.
2020-11-17 19:04:39 +01:00
Benjamin Otte
eded9459df
tests: Fix for new tranfer behavior of constructors
...
We were still unreffing a listmodel where the reference wasn't ours
anymore.
2020-11-17 19:04:39 +01:00
Benjamin Otte
8fd1530848
testsuite: Make defaultvalue test always get the property
...
Make the test not skip properties completely, just skip checking the
property.
This caught the last 2 commits.
2020-11-17 19:04:39 +01:00
Benjamin Otte
77f9efa747
textbuffer: Remove unused properties
...
The getters and setters were removed in
f53848c360 but the pspecs were forgotten.
2020-11-17 19:04:39 +01:00
Benjamin Otte
109ec523cb
shortcut: Actions are objects
2020-11-17 19:04:39 +01:00
Emmanuele Bassi
5cc5022a8f
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: bring forward quartz search engine updates
See merge request GNOME/gtk!2854
2020-11-17 17:58:14 +00:00
Emmanuele Bassi
3c769bb11d
Merge branch 'ebassi/inout-args' into 'master'
...
Remove pointless inout arguments
See merge request GNOME/gtk!2853
2020-11-17 17:40:13 +00:00
Christian Hergert
33b07e4825
macos: bring forward quartz search engine updates
...
These were not cherry picked after GTK branched for 4 development.
2020-11-17 09:37:13 -08:00
Matthias Clasen
714e5c72f6
docs: Add details about plain builds
...
Mention that build type 'plain' puts the responsibility
for debug features into the hands of the builder.
Related: !2831
2020-11-17 12:21:29 -05:00
Emmanuele Bassi
153c6424d3
Remove pointless inout arguments
...
GtkTreeView.get_tooltip_context() takes an inout X and Y coordinates,
but the "out" side is a side effect: the conversion from widget-relative
to bin window-relative coordinates is not documented, and can be done
using public API, if needed.
GtkIconView.get_tooltip_context() follows the same pattern, and takes
two inout arguments for the coordinates, but it does not change them any
more, after GtkIconView's bin window was dropped in commit 8dc5e13e .
There's really no point in having these `inout` arguments, and while
GtkTreeView and GtkIconView are certainly de-emphasised in GTK4, and we
nudge developers to move to the new list views, we should take advantage
of the API break to remove warts.
2020-11-17 16:38:12 +00:00
Emmanuele Bassi
b76e514322
Merge branch 'ebassi/for-master' into 'master'
...
Introspection fixes
Closes #3281
See merge request GNOME/gtk!2852
2020-11-17 16:04:03 +00:00
Jakub Steiner
1501aa0603
Revert "Adwaita: avoid clipping menu/popover shadow"
...
There are big side effects to adding padding around all menus and popovers.
https://gitlab.gnome.org/GNOME/gtk/-/issues/1987#note_963889
This reverts commit d266bd62de .
2020-11-17 16:53:32 +01:00
Emmanuele Bassi
cf5a173a4f
Add type annotations for GtkShortcutAction types
...
The constructors and singleton getters need proper annotations for their
return type, given that we return a base type.
2020-11-17 14:17:26 +00:00
Matthias Clasen
2b8c3731c1
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2851
2020-11-17 14:12:23 +00:00
Emmanuele Bassi
ade2f1030a
Annotate GdkTimeCoord's array field
...
We need to resolve the array length manually, because g-ir-scanner
cannot turn an enumeration member into a constant size.
2020-11-17 14:07:11 +00:00
Emmanuele Bassi
4f12df5f1c
Annotate the return type for GtkTreeExpander.get_item()
...
We use gpointer for C convenience, but the returned value is really a
GObject.
2020-11-17 13:54:22 +00:00
Emmanuele Bassi
9941799449
Annotate out argument for gdk_popup_layout_get_offset()
2020-11-17 13:52:15 +00:00
Emmanuele Bassi
5a938ad83d
Annotate the gsk_border_node_peek_widths() return value
...
We return a fixed sized C array of floats.
2020-11-17 13:48:07 +00:00
Matthias Clasen
835c807d7a
widget-factory: Remove an unused size group
...
This was left behind when 361407201b removed
the unused popover that this size group applied to.
2020-11-17 07:34:53 -05:00
Matthias Clasen
2ef72442ec
docs: Fix the links for keybinding signals
...
GtkBindingSignal does not exist anymore, so link to
GtkSignalAction for an explanation of keybinding signals.
2020-11-17 07:34:52 -05:00
Matthias Clasen
3bc2bf40a8
popover: Document signals
2020-11-17 07:34:52 -05:00
Matthias Clasen
cd4c0b6127
menubutton: Fix a gtk-doc complaint
2020-11-17 07:34:52 -05:00
Matthias Clasen
fa79e8651e
gtk: Fix a doc oversight
2020-11-17 07:34:52 -05:00
Matthias Clasen
9a29487e25
gsk: Fix a doc oversight
2020-11-17 07:34:52 -05:00
Matthias Clasen
fceff93994
Merge branch 'fix-gi-warning' into 'master'
...
Fix a warning caused by difference between prototype and definition
See merge request GNOME/gtk!2849
2020-11-17 12:31:36 +00:00
Matthias Clasen
acd8b08d35
Merge branch 'wip/exalm/caption' into 'master'
...
widget-factory: Fix caption style class name
See merge request GNOME/gtk!2850
2020-11-17 12:22:29 +00:00
Alexander Mikhaylenko
2abee57421
widget-factory: Fix caption style class name
...
It's lowercase.
2020-11-17 13:16:47 +05:00
Qiu Wenbo
437f902c9d
Fix a warning caused by difference between prototype and definition
...
This commit fix the warning:
../gdk/wayland/gdkdisplay-wayland.c:1079: Warning: GdkWayland: gdk_wayland_display_set_cursor_theme: unknown parameter 'name' in documentation comment, should be 'theme'
2020-11-17 14:59:14 +08:00
Matthias Clasen
a7befc647e
Merge branch 'gsk-binding-api' into 'master'
...
gsk: Avoid using gtk css types in public api
Closes #2454
See merge request GNOME/gtk!2848
2020-11-17 05:36:15 +00:00
Matthias Clasen
121e61cf01
gsk: Avoid using gtk css types in public api
...
Using GtkCssSection in public headers here may be
ok from the C perspective, since it all ends up in
the same library anyway. But it causes circular
dependency problems for our gir files that are still
split by namespace.
To avoid this problem, copy the GtkCssLocation struct
struct as GskParseLocation, and pass take two of them
instead of a GtkCssSection in the error callback.
Update all users.
Fixes : #2454
2020-11-16 23:27:44 -05:00
Matthias Clasen
f7ac13b78f
Merge branch 'matthiasc/for-master' into 'master'
...
popover: Fix submenu navigation
Closes #3301
See merge request GNOME/gtk!2847
2020-11-17 03:11:13 +00:00
Matthias Clasen
c2ae73f247
popover: Fix submenu navigation
...
In commit 024d832d94 , we introduced a
cascade-popdown property that makes closing a submenu
propagate up and close its parent menus. This is the
behavior we want when a menuitem in the submen is
activated.
What we overlooked is that we still need to be able to
close a submenu during navigation, before opening another
one. And in this case, propagating the closing is breaking
things. Fix this by adding a private close_submenu api
to GtkPopoverMenu that avoids the propagation.
Fixes : #3301
2020-11-16 21:34:33 -05:00
Benjamin Otte
4b0b6100d6
build: Include GSK types in gtk_test_register_all_type()
2020-11-17 03:13:31 +01:00
Matthias Clasen
2c9bf55eea
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2846
2020-11-17 01:07:34 +00:00
Emmanuele Bassi
1d11d42aa0
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2840
2020-11-16 23:06:55 +00:00
Matthias Clasen
361407201b
widget-factory: Remove an unused popover
...
We are no longer using the hand-rolled variant of that
popover on page 3, so drop it from the ui file.
2020-11-16 15:22:12 -05:00
Matthias Clasen
50c29398e6
Merge branch 'wip/exalm/button' into 'master'
...
Allow pressing multiple buttons at once on touch
See merge request GNOME/gtk!2813
2020-11-16 20:16:10 +00:00
Jakub Steiner
dff8a9eb46
Merge branch 'wip/jimmac/popover-menu-submenus' into 'master'
...
Adwaita: fix up submenus again
See merge request GNOME/gtk!2845
2020-11-16 19:50:08 +00:00
Matthias Clasen
1bb4e660fd
Merge branch 'wip/chergert/for-master' into 'master'
...
gsk: use glFrameBufferTexture2D and release texture
See merge request GNOME/gtk!2842
2020-11-16 19:20:19 +00:00
Jakub Steiner
ded6ec6424
Merge branch 'wip/jimmac/circular-button-focus' into 'master'
...
Adwaita: circular button focus
Closes #3368
See merge request GNOME/gtk!2844
2020-11-16 18:55:30 +00:00
Jakub Steiner
47e49acc7d
Adwaita: fix up submenus again
...
- move menubar section under more generic popover.menu
rather than resort to specificity dir(ltr) hacks
2020-11-16 19:48:11 +01:00
Jakub Steiner
0996b178dc
Adwaita: circular button focus
...
- have the same focus look like the other items
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3368
2020-11-16 19:11:52 +01:00
Matthias Clasen
4befd13744
Merge branch 'wip/jimmac/spinbutton-spacing' into 'master'
...
Adwaita: spinbutton spacing
Closes #3370
See merge request GNOME/gtk!2841
2020-11-16 17:50:56 +00:00
Emmanuele Bassi
bb1463871c
a11y: Ensure valid object paths in the fallback code
...
When falling back to using the program name to create a unique base path
for the objects on the accessibility bus we need to ensure that the name
is a valid DBus object path.
2020-11-16 17:47:15 +00:00
Christian Hergert
12a9164414
gsk: use glFrameBufferTexture2D and release texture
...
glFrameBufferTexture maps to all faces of a cube and that is not needed
here. Additionally, texture_id is not deleted after we use the additional
flipped texture, but should be.
2020-11-16 09:26:07 -08:00
Jakub Steiner
108fe033aa
Adwaita: spinbutton spacing
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3370
2020-11-16 18:22:17 +01:00
Emmanuele Bassi
9de2b4b0e1
a11y: Implement atspi.Cache
...
The AT-SPI cache interface is used to quickly populate the accessible
objects tree.
The tricky bit is ensuring that we emit change notifications on the
cache only when the cache is available, which means waiting until the
root is asynchronously registered.
2020-11-16 16:44:56 +00:00
Emmanuele Bassi
ee056fd8bd
a11y: Update the Cache interface introspection
...
The type for cached items is, unsurprisingly, wrong when compared to the
implementation inside atk-spi2-atk.
2020-11-16 16:44:56 +00:00
Emmanuele Bassi
bc4f71a107
a11y: Add getters for GtkAtSpiContext
...
We are going to use them in order to implement atspi.Cache.
2020-11-16 16:44:56 +00:00
Emmanuele Bassi
125442297f
a11y: Use the tab widget to label the notebook stack page
2020-11-16 16:44:56 +00:00
Emmanuele Bassi
eec92b40ea
a11y: Compute the base path in the root object
...
The root path is shared by all AtSpiContext instances, so we should
compute it once, instead of every time we instantiate a new context.
This allows us to defer the path creation at realization time and ensure
that we have a registered application.
2020-11-16 16:44:56 +00:00
Emmanuele Bassi
d392f6f2a4
a11y: Resync the AT-SPI XML
...
Mostly just changes in the annotations coming from at-spi2-core, but
it's good to try and keep the XML in sync.
2020-11-16 16:44:56 +00:00
Jakub Steiner
41a9c46ec8
Merge branch 'wip/jimmac/circular-button-padding' into 'master'
...
Adwaita: circular buttons
See merge request GNOME/gtk!2838
2020-11-16 14:50:16 +00:00
Matthias Clasen
0530aeec17
docs: Mention cairo-gobject as build requires
...
Using cairo from a system dependency and cairo-gobject
as subproject is problematic and left me stuck on a
hard-to-understand build error.
2020-11-16 09:31:23 -05:00
Jakub Steiner
22741a74ff
Adwaita: circular buttons
...
- the vertical padding was thown off with the chin/forehead of menus removed
2020-11-16 15:21:46 +01:00
Jakub Steiner
23331c1919
Merge branch 'wip/jimmac/menu-clipped-shadow' into 'master'
...
Wip/jimmac/menu clipped shadow
Closes #1987
See merge request GNOME/gtk!2837
2020-11-16 14:10:21 +00:00
Jakub Steiner
d266bd62de
Adwaita: avoid clipping menu/popover shadow
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1987
2020-11-16 14:20:24 +01:00
Matthias Clasen
57c95937b1
gsk: Fix some docs oversights
...
These apis have been renamed a few times, and the docs
haven't kept up.
2020-11-16 07:44:41 -05:00
Matthias Clasen
1d86086434
gdk: Docs cosmetics
...
Add a few missing parameters in doc comments.
2020-11-16 07:44:17 -05:00
Matthias Clasen
e2f26b0d9a
docs: Fix a typo
2020-11-16 07:37:33 -05:00
Matthias Clasen
7816fc2b83
docs: Remove gtk_render_insertion_cursor
...
This function was removed in 2bcef7f030 .
2020-11-16 07:35:41 -05:00
Jakub Steiner
04d802f7f4
Adwaita: remove chin on menus
...
- clipping a rounded corner seems to be working fine for first and last item.
Addresses https://gitlab.gnome.org/GNOME/gtk/-/issues/3366
2020-11-16 13:31:27 +01:00
Jakub Steiner
994cc32d7b
Merge branch 'wip/jimmac/subtle-sidebar' into 'master'
...
Adwaita: navigation sidebar color changes
Closes #3362
See merge request GNOME/gtk!2836
2020-11-16 09:34:36 +00:00
Jakub Steiner
f14ca28c4e
Adwaita: navigation sidebar color changes
...
- use more subtle selected state grey
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3362
2020-11-16 10:17:57 +01:00
Matthias Clasen
da9d32e472
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2835
2020-11-16 04:29:10 +00:00
Matthias Clasen
08d6db4ab6
gtk-demo: Plug a memory leak
...
The Characters demo was leaking its columns.
2020-11-15 23:03:30 -05:00
Matthias Clasen
6891f40110
modelbutton: Fix keynav for check and radio
...
The expected behavior when activating check or radio
menuitems via keynav is that Space toggles the item
but keeps the menu open, while Return toggles the
item and closes the menu.
2020-11-15 21:52:07 -05:00
Matthias Clasen
cdbf24c3af
Merge branch 'fix-tooltip-trigger' into 'master'
...
Fix tooltip triggering
See merge request GNOME/gtk!2833
2020-11-15 17:37:47 +00:00
Matthias Clasen
b30715da6a
Fix tooltip triggering
...
Ever since 5b5d2665d3 , tooltips don't work properly,
since we get more motion events now, and those keep the
tooltips from appearing. This can be seen e.g. on the icon
in the password entry in widget-factory, or on the section
switcher buttons in the Emoji chooser.
Ignore synthetic motion events for the purposes of
determining whether the user moved the mouse.
2020-11-15 10:54:36 -05:00
Emmanuele Bassi
5e9883453d
Merge branch 'widget-no-a11y-crash' into 'master'
...
gtkwidget: fix crashes with GTK_A11Y=none
Closes #3333
See merge request GNOME/gtk!2834
2020-11-15 15:23:42 +00:00
Christoph Reiter
b97b95b0c7
gtkwidget: fix crashes with GTK_A11Y=none
...
at_context can be NULL in that case, so guard against it.
Fixes #3333
2020-11-15 15:59:31 +01:00
Matthias Clasen
dd0a854bbb
Merge branch 'button-fill-var-removal' into 'master'
...
Adwaita: Stop using $button_fill
Closes #3354
See merge request GNOME/gtk!2828
2020-11-15 13:45:42 +00:00
Matthias Clasen
b8d0ad8643
Merge branch 'parse-debug-env-vars-always' into 'master'
...
Always parse GTK/GDK/GSK_DEBUG env vars and make some entries available in non-debug mode
See merge request GNOME/gtk!2830
2020-11-15 13:37:44 +00:00
Christoph Reiter
65d57877a8
Revert "Update comment annotations of gtk_tree_model_iter_previous and gtk_tree_model_iter_next to state that the ITER parameter is modified."
...
This reverts commit 1340ff2bc2 .
Same as with 53cd499621
2020-11-15 13:36:42 +01:00
Christoph Reiter
afc73c38ce
Always parse GTK/GDK/GSK_DEBUG env vars and make some entries available in non-debug mode
...
Currently GTK can be built with G_ENABLE_DEBUG which enables various debug code and parsing
of those env vars, or without, which instead of parsing them prints a warning if they are set.
While building with G_ENABLE_DEBUG isn't strictly needed it's the only way to make GTK_DEBUG=interactive work,
which is a nice thing to have always.
This enables parsing of those env vars in any case and allows specific values being marked as also
available when not built with G_ENABLE_DEBUG (interactive for example). If not built with G_ENABLE_DEBUG
then all unavailable values will be marked as such in the help output and a note is added that
GTK needs to be built with G_ENABLE_DEBUG to use them, which should help discoverability.
2020-11-15 11:34:54 +01:00
Yuri Chornoivan
f4e1c271ea
Update Ukrainian translation
2020-11-15 08:01:26 +00:00
Matthias Clasen
8e42239439
Merge branch 'wip/carlosg/for-master' into 'master'
...
gtk/main: Reset active state on grab broken only if implicit
See merge request GNOME/gtk!2832
2020-11-14 14:41:01 +00:00
Carlos Garnacho
5b4ac5456e
gtk/main: Reset active state on grab broken only if implicit
...
An implicit grab means some button is down, reset the active state
only in that case when we get a grab broken event.
Avoids active state accounting warnings when we do get active grabs
broken (e.g. after selecting a menu option).
2020-11-14 10:52:34 +01:00
nana-4
f1db73379e
Adwaita: Stop using $button_fill
...
Since the $button_fill variables are no longer used outside of the
button() mixin (and it was for an ugly hack), there is no need to keep
that anymore.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3354
2020-11-14 10:13:05 +09:00
Matthias Clasen
20918dbe8e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3359 and #3353
See merge request GNOME/gtk!2827
2020-11-14 00:15:34 +00:00
Matthias Clasen
b5ec20db88
Adwaita: Fix list separators
...
Commit bfe5b0d1b7 ran into some specificity
trouble.
Fixes : #3353
2020-11-13 17:18:05 -05:00
Matthias Clasen
d347df431d
label: Avoid short-circuiting
...
Commit 0db504edde made a mistake described here:
https://en.wikipedia.org/wiki/Short-circuit_evaluation#Possible_problems
Fixes : #3359
2020-11-13 15:35:51 -05:00
Matthias Clasen
25e6988d95
Merge branch 'alatiera/nightly-demos' into 'master'
...
ci: publish demo apps to the Nightly repository
See merge request GNOME/gtk!2825
2020-11-13 19:28:44 +00:00
Matthias Clasen
a7f05b8d91
Merge branch 'wip/jimmac/tooltips' into 'master'
...
Adwaita: tooltip styling
Closes #3352
See merge request GNOME/gtk!2826
2020-11-13 19:23:58 +00:00
Jordan Petridis
fe690265eb
ci: publish demo apps to the Nightly repository
2020-11-13 20:38:09 +02:00
Jakub Steiner
f45ea3fa90
Adwaita: tooltip styling
...
- balance padding
- increase border radius, yuck
- get rid of text shadow
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3352
2020-11-13 19:36:26 +01:00
Jakub Steiner
bdc28cd870
Merge branch 'wip/jimmac/submenus' into 'master'
...
Wip/jimmac/submenus
See merge request GNOME/gtk!2824
2020-11-13 17:05:00 +00:00
Jakub Steiner
c648c1f235
Merge branch 'wip/jimmac/declare-buttonfill-once' into 'master'
...
Adwaita: double declated $button_fill
See merge request GNOME/gtk!2823
2020-11-13 16:57:18 +00:00
Jakub Steiner
8a92ee03ea
Adwaita: rounded submenus
...
- all corners have rounded corners
See https://gitlab.gnome.org/GNOME/gtk/-/issues/2745
2020-11-13 17:27:40 +01:00
Jakub Steiner
e3c72f8f09
Adwaita: double declared $button_fill
...
- this was already in place in _common, no need to have it in _colors
2020-11-13 17:24:13 +01:00
Jakub Steiner
1f472104ad
Adwaita: double declated $button_fill
...
- this was already in place in _common, no need to have it in _colors
2020-11-13 17:21:03 +01:00
Jakub Steiner
4b41580041
Merge branch 'wip/exalm/window' into 'master'
...
Round window corners
See merge request GNOME/gtk!1952
2020-11-13 15:33:15 +00:00
Matthias Clasen
c136f84584
Merge branch 'wip/carlosg/for-master' into 'master'
...
Improve handling of ::active with touch and multiple foci
Closes #3348
See merge request GNOME/gtk!2821
2020-11-13 04:13:34 +00:00
Carlos Garnacho
80de00a248
gtk/main: Stack ::active calls
...
We may have the situation of multiple touchpoints in the same
widget, or combinations with other devices. Stack those ::active
states are preserved on widgets on all but the last pointer/touch
going away.
2020-11-13 00:39:23 +01:00
Carlos Garnacho
50a7e59623
gtk/main: Toggle active flag with touch events
...
This went missing at some point, add the missing toggling of active
state with GDK_TOUCH_BEGIN/END/CANCEL events.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3348
2020-11-13 00:39:23 +01:00
Emmanuele Bassi
92ca3a3419
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2819
2020-11-12 22:22:20 +00:00
Emmanuele Bassi
8203d9cc40
a11y: Use GROUP role for ShortcutsShortcut
...
And hide the image from the accessible tree.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
abc9b403f8
a11y: Implement atspi.Text.ScrollSubstringTo for GtkTextView
...
We reuse the existing implementation in GTK3.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
b9ad3172a4
a11y: Document GtkRevealer's accessible state
...
Use the GROUP role, and make sure to note that the child is always
revealed. Unlike GtkExpander, GtkRevealer can only be programmatically
toggled, so we cannot turn it into a "button" object.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
0d7fcdda28
a11y: Add more accessible data to GtkTreeExpander
...
Document the role of the GtkTreeExpander, and the behaviour of the
expander button.
Additionally, improve the label of the expander button, by adding a
fixed "Expand" label, and setting the "labelled-by" relation to the
child of the GtkTreeExpander.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
75f9b83b1e
Establish a control relation between demo search and list
...
The search entry changes the content of the list view, so we should
mention that relation to assistive technologies.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
61e980bfb6
a11y: Add accessible actions to GtkSearchEntry
...
Just like GtkPasswordEntry, GtkSearchEntry should have its set of
accessible actions.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
ebda736a09
a11y: Mark SearchEntry icons as presentational
...
While the "clear the search entry" icon behaves like a button, we don't
have any actual action that can trigger it, so let's ignore it.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
d4ddfdc265
a11y: Set the role on GtkSearchBar
...
The search bar widget has a "SEARCH" landmark role, which is described
as:
A landmark region that contains a collection of items and
objects that, as a whole, combine to create a search facility.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
f8bb206034
a11y: Icons in buttons are presentational
...
Buttons are described by text, and the icon child can be safely ignored.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
87f92a93d3
a11y: Add more accessibility labels to GtkNotebook
...
Label the various components:
- the tab list
- the tab widget
- the arrow widgets
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
e49e084f4c
a11y: Use the stack page title as its accessible label
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
995daa1e29
a11y: GtkStack is a group of stack pages
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
d34936c1ea
Handle empty stack pages when creating an ATContext
...
If we don't have a widget inside GtkStackPage, we should use the default
GdkDisplay.
2020-11-12 21:46:06 +00:00
Emmanuele Bassi
a59889a274
Unrealize the ATContext in StackPage on dispose
...
Otherwise we're going to try to unrealize it during the GtkStack
destruction, which will emit warnings.
2020-11-12 21:46:05 +00:00
Emmanuele Bassi
bfb054a023
a11y: Icons in WindowControls are presentational only
...
They don't contribute anything to the accessible description.
2020-11-12 21:46:05 +00:00
Emmanuele Bassi
e940704018
a11y: Ignore more structural roles when computing labels
...
These roles should not have a fallback name when explicitly unlabelled.
2020-11-12 21:46:05 +00:00
Emmanuele Bassi
429c7fc039
a11y: Add role exception for GtkScrolledWindow
...
ARIA does not have a "scroll pane" role, but AT-SPI does.
2020-11-12 21:46:05 +00:00
Emmanuele Bassi
0d6e4f7a6e
demo: Add more accessibility labels to the UI
2020-11-12 21:46:05 +00:00
Matthias Clasen
1f9eb5c64c
Merge branch 'clear-search-entry' into 'master'
...
searchbar: Fix clearing search entry on hide
See merge request GNOME/gtk!2820
2020-11-12 19:25:57 +00:00
Florian Müllner
056a073061
searchbar: Fix clearing search entry on hide
...
Commit fa3d1940bf added separate grab handling for GtkSearchEntry, but
didn't consider whether the bar was revealed or concealed. The expected
behavior for the latter is that the entry is cleared rather than focused,
fix the condition accordingly.
2020-11-12 19:59:55 +01:00
Alexander Mikhaylenko
e46522e4b5
theme: Round all window corners
2020-11-12 22:19:00 +05:00
Alexander Mikhaylenko
7ac7919697
theme: Restructure window style
2020-11-12 22:17:52 +05:00
Matthias Clasen
5d9799d4e3
Merge branch 'ebassi/for-master' into 'master'
...
ATContext lifetime fixes
Closes #3341
See merge request GNOME/gtk!2811
2020-11-12 12:35:23 +00:00
Jakub Steiner
f95943a752
Merge branch 'wip/jimmac/sassc-global-vars' into 'master'
...
Adwaita: avoid !global
See merge request GNOME/gtk!2816
2020-11-12 12:34:10 +00:00
Jakub Steiner
ef88e9ffcc
Adwaita: avoid !global
...
- Work around having !global variables as sassc will
no longer support it
2020-11-12 13:14:37 +01:00
Alexander Mikhaylenko
49613dca8e
button: Don't make the gesture exclusive
...
With the last commit, pressing the same button with multiple fingers
doesn't cause extra emissions, so we can remove exclusive and allow
pressing multiple buttons at once on touch.
2020-11-12 15:27:16 +05:00
Alexander Mikhaylenko
a651a0ce69
gestureclick: Only emit release for the same sequence
...
Avoid spurious releases when touching the same widget with another finger.
2020-11-12 15:26:36 +05:00
Emmanuele Bassi
08d59d3f68
docs: Add "Accessibility" section to various widgets
...
There are a few widgets that gained an accessible role, which means
adding an "Accessibility" section in their description.
2020-11-12 00:36:32 +00:00
Matthias Clasen
afff39c503
Merge branch 'suggestion-entry-demo2' into 'master'
...
gtk-demo: Add suggestion entry demos
See merge request GNOME/gtk!2812
2020-11-11 21:40:07 +00:00
Matthias Clasen
a2897e1868
gtk-demo: Add suggestion entry demos
...
Add a possible replacement for GtkEntryCompletion
as a demo.
Move the Dropdowns demo to Lists/Selections, and make
it show both GtkDropDown and the suggestion entry, with
some variations.
2020-11-11 15:54:43 -05:00
Matthias Clasen
15172ebdb0
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2810
2020-11-11 20:49:51 +00:00
Emmanuele Bassi
9ac4a7d99f
a11y: Simplify GtkModelButton
...
Instead of recreating GtkATContexts in order to change their role, we
can simply unrealize and realize them back.
2020-11-11 19:45:43 +00:00
Emmanuele Bassi
8157717e03
a11y: Add missing fallback for accessible-role getter
...
If the per-instance accessible role is unset, use the class role.
2020-11-11 19:45:43 +00:00
Emmanuele Bassi
9052f6dafe
a11y: Rework ownership and lifetime of GtkATContext
...
Now that GtkATContext is explicitly realized and unrealized, we should
always create an instance at widget initialization time, and drop it
during the widget finalization. This should make it easier to set up the
initial accessible state of a widget during the instance initialization,
as well as reduce the chances of accidental creation of GtkATContext
instances during the destruction sequence.
2020-11-11 19:45:43 +00:00
Emmanuele Bassi
292576f312
a11y: Defer to the GtkAccessible's implementation
...
Since GtkATContexts are now lazily realized, we need to go through the
GtkAccessible's implementation to access the :accessible-role property,
in case there are fallbacks.
2020-11-11 19:45:43 +00:00
Emmanuele Bassi
2285382074
a11y: Create AtSpiRoot on realization
...
There's no need to do a lot of work on construction, if we're delaying
all remote work after the GtkATContext is realized.
The GtkAtSpiContext should also keep a reference on the root, and drop
it at unrealize time.
2020-11-11 18:46:44 +00:00
Emmanuele Bassi
526f1e315b
a11y: Use GROUP role for GtkNotebook
...
A notebook is a grouping of a tab list, tabs, and tab pages.
2020-11-11 18:46:11 +00:00
Emmanuele Bassi
877a7f98ca
a11y: Protect should_present() from empty contexts
...
If the GtkAccessible implementation returns a NULL context, we should
not be calling methods on it.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
73b14a3c3a
a11y: Do not leak the ATContext in GtkStackPage
...
GtkStackPage is not a widget, so it must release the reference on the
ATContext it owns.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
40c0826921
a11y: Mark more containers as structural elements
...
Widgets that just provide grouping and layout to other widgets should
not be relevant to the accessible tree.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
27b9b2e76c
a11y: Use the window title as its label
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
04c4d293a7
a11y: Skip unlabelled structural roles
...
If a structural role is left unlabelled, just leave it unnamed.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
033791b374
a11y: Translate ARIA windows to AT-SPI frames
...
For backward compatibility with GTK3.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
95ee5ff424
a11y: Add more ARIA/AT-SPI role translations
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
65d29e00c7
a11y: Realize parent ATContext for the stack page
...
Just like for popovers, the stack page is not directly connected on the
widget's DOM, so we need to realize the parent ATContext ourselves.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
3b2cd972d5
a11y: Implement missing atspi.Component getters
...
Some of them are entirely innocuous, and we can easily provide values
that match what GTK3 provides.
2020-11-11 18:33:15 +00:00
Emmanuele Bassi
428ec29598
a11y: Unrealize ATContext on dispose()
...
By unrealizing the context we avoid additional work during the dispose
phase, in case widget code updates the accessible state. We use
GtkAccessible's API, to ensure we unrealize the right ATContext, instead
of the one we store inside GtkWidgetPrivate.
We drop the ATContext instance inside GtkWidget during finalization, to
mop up eventual vivifications there.
2020-11-11 18:33:15 +00:00
Matthias Clasen
bfe5b0d1b7
Adwaita: Don't do n-th child things for list rows
...
Making the list row child css depend on the position
is very expensive, and does not acutally work correctly
(since we don't have widgets for all children, so the
position of the child widget does not reflect the actual
model item position).
To make this more palatable, use the bottom border
instead of the top border, since most lists have a natural
border at the top (with headers), and may end up with
empty space at the bottom.
2020-11-11 13:18:08 -05:00
Matthias Clasen
82b855cc4b
label: Avoid a needless strdup
...
Don't duplicate the string before we know if it
has actually changed.
2020-11-11 12:24:35 -05:00
Matthias Clasen
0db504edde
label: Optimize GtkLabel setters
...
The overarching goal here is to not queue a resize
unless something has actually changed. In columnview
scenarios, we often deal with hundreds of labels.
Labels are cattle, not pets.
2020-11-11 11:48:27 -05:00
Matthias Clasen
5ed3ad6cc8
gtk-demo: Split off SvgPaintable
...
Put the SvgPaintable implementation into its
own source files, for ease of copying.
2020-11-11 10:35:54 -05:00
Matthias Clasen
27c4c19333
Don't hide widgets in dispose()
...
This is leftover code from when widgets were hidden
by default, and was setting them back to their initial
state.
This is getting in the way now, as hiding the widget
updates the HIDDEN accessible state, which ends up
re-creating the at context that we've already disposed
of, leading to memory leaks.
2020-11-11 10:35:54 -05:00
Matthias Clasen
74a7f73239
Merge branch 'matthiasc/builder-requires' into 'master'
...
Matthiasc/builder requires
See merge request GNOME/gtk!2806
2020-11-11 03:53:52 +00:00
Matthias Clasen
a047b7d6d1
Merge branch 'fix-demos-wo-pangoft2' into 'master'
...
gtk-demo: Fix building scrolling demo without PangoFT2
See merge request GNOME/gtk!2807
2020-11-11 03:50:46 +00:00
Chun-wei Fan
a76f37a501
gtk-demo: Fix building scrolling demo without PangoFT2
...
For builds that do not have PangoFT2, the demo fails to link because we weren't
building listview_ucd.c. Fix the build by building listview_ucd.c with
script-names.c and unicode-names.c for all builds, as we now require a Pango
version that already always depends on HarfBuzz and those sources do not use
anything from PangoFT2.
2020-11-11 11:15:05 +08:00
Matthias Clasen
d6a0948182
testsuite: Update buildertool tests
...
gtk-builder-tool simplify --3to4 now produces a
<requires lib="gtk" version="4.0"/>.
Adapt for that, and also add some tests that check that we
actually verify the requires, and accept 3.99 and 4.0, but
not 5.x.
2020-11-10 19:20:51 -05:00
Matthias Clasen
7215c74933
buildertool: Supplant a requires
...
When we convert a ui file to GTK 4 syntax, we *know*
that it requires GTK 4, so put that in the output.
2020-11-10 19:19:40 -05:00
Matthias Clasen
e4be785c6c
builder: Be a bit more strict about requires
...
Check that the major version matches (without this, the
requires check is really toothless), but allow 3.99 to
match 4.0.
2020-11-10 19:18:26 -05:00
Matthias Clasen
18779b9d67
testsuite: Remove <requires> from ui files
...
We don't need these here, the testsuite is shipped
with GTK.
2020-11-10 19:17:45 -05:00
Matthias Clasen
9b056f57f7
examples: Remove requires from ui files
...
No need to check requires for things that are shipped
with GTK.
2020-11-10 18:38:54 -05:00
Matthias Clasen
d6c753bde7
gtk4-demo: Remove <requires> from ui files
...
No need to check requires for things that are shipped
with GTK.
2020-11-10 18:37:40 -05:00
Matthias Clasen
d69a943661
gtk: Remove <requires> from ui files
...
We don't need to check requirements for things
that are shipped *with* gtk.
2020-11-10 18:36:03 -05:00
Matthias Clasen
0ececc7109
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
Closes #3343 and #3342
See merge request GNOME/gtk!2804
2020-11-10 18:33:36 +00:00
Matthias Clasen
3cc0870084
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2805
2020-11-10 16:59:47 +00:00
Emmanuele Bassi
2229d7f66c
docs: Add example of relations with lists of references
2020-11-10 14:38:09 +00:00
Emmanuele Bassi
ed7619ec16
a11y: Clone GtkATContext in GtkModelButton
...
The hypothetical widget that needs to clone ATContext instances
because it needs to control the accessible role post-construction is
really GtkModelButton.
Fixes : #3342
2020-11-10 14:31:57 +00:00
Emmanuele Bassi
7ed06480cf
a11y: Add private API to clone a GtkATContext
...
Some widgets might want to override GtkAccessible and create their own
context in order to control the accessible role post-construction time.
To avoid explicitly copying the existing state over from the original
ATContext to the new one, we need a way to clone the context's state
from inside the ATContext itself.
2020-11-10 14:31:56 +00:00
Emmanuele Bassi
f9db651f32
a11y: Do not copy the list of references
...
The constructor for GtkReferenceListAccessibleValue is transfer full,
which means we should not be copying the GList around.
Fixes : #3343
2020-11-10 14:31:56 +00:00
Emmanuele Bassi
c264254d4b
a11y: Parse reference lists using varargs
...
Using GList is a bit lame, and makes the API more complicated to use
than necessary in the common case.
The only real use case for a GList is gtk_widget_add_mnemonic_label(),
and for that we can use the GValue-based API instead.
Fixes : #3343
2020-11-10 14:31:56 +00:00
Emmanuele Bassi
6af89e9034
a11y: Add GValue initializers for accessible attributes
...
Consumers of the GValue-based API for GtkAccessible need to have a way
to initialize the GValue with the correct type for the given attribute.
2020-11-10 14:31:56 +00:00
Emmanuele Bassi
1bdc8b9061
a11y: Proxy GtkWidget:accessible-role
...
The accessible-role property in GtkWidget has three possible targets:
- the :accessible-role of a GtkATContext, if realized
- the accessible_role field of GtkWidgetPrivate
- the accessible_role field of GtkWidgetClassPrivate
When we set the accessible role of a widget using the GObject property
mechanism, we want to either set the GtkWidgetPrivate.accessible_role
field, if there's no ATContext *or* if the ATContext is not realized.
Conversely, when we get the accessible-role property we want to have a
series of fallbacks in place:
- if GtkAccessible.get_at_context() returns an ATContext, and that
ATContext is realized, return the :accessible-role of the context
- if GtkWidgetPrivate.accessible_role is not WIDGET, return the
stored accessible role
- return GtkWidgetClassPrivate.accessible_role
This should help catch the case of getting the accessible role of
widgets that override GtkAccessible.get_at_context(), like
GtkModelButton.
See: #3342
2020-11-10 14:31:56 +00:00
Matthias Clasen
c442f9f05a
printdialog: Plug listmodel memory leaks
...
We were leaking references returned from g_list_model_get_item
in some places.
2020-11-10 09:07:54 -05:00
Matthias Clasen
6cbd7e29dd
fontchooser: Plug listmodel memory leaks
...
We were leaking references returned from g_list_model_get_item
in some places.
2020-11-10 09:07:40 -05:00
Matthias Clasen
6079033cde
columnview: Plug listmodel memory leaks
...
We were leaking references returned from g_list_model_get_item
in some places.
2020-11-10 09:07:22 -05:00
Matthias Clasen
d63afaf5ad
x11: Plug listmodel memory leaks
...
We were leaking references returned from g_list_model_get_item
in some places.
2020-11-10 09:07:01 -05:00
Matthias Clasen
7e089664fc
win32: Plug listmodel memory leaks
...
We were leaking references returned from g_list_model_get_item
in some places.
2020-11-10 09:06:37 -05:00
Matthias Clasen
06fbad0b26
wayland: Plug listmodel memory leaks
...
We were leaking references returned from g_list_model_get_item
in some places.
2020-11-10 09:05:55 -05:00
Yuri Chornoivan
2a3c3b4c6a
Update Ukrainian translation
2020-11-10 08:15:59 +00:00
Yuri Chornoivan
eb3933cffd
Update Ukrainian translation
2020-11-10 07:58:38 +00:00
Matthias Clasen
d1de9234c5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2803
2020-11-10 04:47:28 +00:00
Matthias Clasen
3e8260d528
gtk-demo: Plug a memory leak
2020-11-09 23:29:03 -05:00
Matthias Clasen
192f515682
gtk-demo: Tweak a demo title
2020-11-09 23:28:45 -05:00
Matthias Clasen
2543c9f5a3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2802
2020-11-10 01:42:30 +00:00
Matthias Clasen
a745dbfc15
gkt-demo: Add a columview to the scroll demo
...
This is an interesting case, since it has many labels,
and we are struggling to provide good scrolling performance.
2020-11-09 20:07:09 -05:00
Matthias Clasen
14be50839e
gtk-demo: Improve consistency
...
Make the shortcut triggers demo big enough
to not ellipsize the window title.
2020-11-09 19:54:17 -05:00
Matthias Clasen
a85d9cda07
gtk-demo: Improve consistency
...
Make the paintable svg demo follow the same
pattern we use for other demos.
2020-11-09 19:53:44 -05:00
Matthias Clasen
7d49f1e250
gtk-demo: Improve consistency
...
Make the paintable emblems demo follow the same
pattern we use for other demos.
2020-11-09 19:52:28 -05:00
Matthias Clasen
6fa2936956
gtk-demo: Set default size for drawingarea demo
...
Set a default size, so we don't ellipsize the window
title when the window is presented.
2020-11-09 18:50:43 -05:00
Matthias Clasen
b81463e7d3
gtk-demo: Plug a memory leak
2020-11-09 18:48:10 -05:00
Matthias Clasen
b622745501
gtk-demo: Plug a memory leak
2020-11-09 18:48:10 -05:00
Matthias Clasen
5379a4bf34
a11y: Clean up properly in unregister_object
...
Things that are set up in register_object should
be cleaned up in unregister_object.
2020-11-09 18:48:10 -05:00
Matthias Clasen
b966f593a5
Merge branch 'wip/jimmac/search-entry-icon' into 'master'
...
search entry: icon
Closes #3340
See merge request GNOME/gtk!2801
2020-11-09 22:41:41 +00:00
Jakub Steiner
706a8f9784
search entry: icon
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3340
2020-11-09 22:55:21 +01:00
Matthias Clasen
2dc7e327ad
Merge branch 'ebassi/for-master' into 'master'
...
docs: Add missing a11y environment variables
See merge request GNOME/gtk!2788
2020-11-09 17:19:12 +00:00
Matthias Clasen
7b151c3ef0
Merge branch 'kinetic-scroll-velocity-accumulation' into 'master'
...
scrolledwindow: Accumulate velocity with kinetic scrolling
See merge request GNOME/gtk!2768
2020-11-09 17:14:03 +00:00
Emmanuele Bassi
0af6630521
a11y: Consolidate accessibility environment variables
...
Use a single environment variable for everything:
- select the ATContext implementation
- select the test ATContext
- disable ATContext entirely
We use the same pattern as GSK_RENDERER, GTK_DEBUG, etc.
The documentation needs to be updated to include the environment
variable.
2020-11-09 16:21:49 +00:00
Chris Lord
4b459a99be
scrolledwindow: Accumulate velocity with kinetic scrolling
...
Accumulate existing velocity when decelerating from a swipe if the swipe
velocity is above a certain fraction of that existing velocity.
2020-11-09 15:28:32 +00:00
Matthias Clasen
e093ed7d67
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3337
See merge request GNOME/gtk!2799
2020-11-09 14:21:26 +00:00
Matthias Clasen
ddbea8feda
Remove GtkPlacesOpenFlags from public headers
...
The GtkPlacesOpenFlags enum is only used in private
API, so move it to private headers. Since we still need
a GType for it, add gtkplacessidebarprivate.h to the
headers we use for generating private enum types. In turn,
this registers the other private enums in that header, so
take the opportunity to fix their naming, and use the
generated types for the corresponding sidebarrow properties.
Fixes : #3337
2020-11-09 08:45:36 -05:00
Matthias Clasen
6b5dff5667
docs: Document GTK_MEDIA
...
Add a paragraph about the GTK_MEDIA environment variable.
2020-11-08 09:58:26 -05:00
Matthias Clasen
53cd499621
Revert "Update gtktreestore.c: gtk_tree_store_remove didn't have the proper comment annotation"
...
This reverts commit 32baa0a549 .
See discussion in https://gitlab.gnome.org/GNOME/gtk/-/issues/78
for the background.
2020-11-07 21:36:34 -05:00
Matthias Clasen
30c5a6f79c
Merge branch 'patch-3' into 'master'
...
gtk/gtktextbuffer: remove GtkTextBufferTargetInfo
See merge request GNOME/gtk!2797
2020-11-08 01:11:26 +00:00
Emmanuele Bassi
4e1191550c
Merge branch 'patch-4' into 'master'
...
gtk/gtkversion: fix doc comment references
See merge request GNOME/gtk!2798
2020-11-08 00:50:40 +00:00
David Lechner
3b1363d31a
gtk/gtkversion: fix doc comment references
...
Cross-references for constants use the "%" prefix rather than the "#" prefix.
2020-11-07 23:57:13 +00:00
David Lechner
160e29ea95
gtk/gtktextbuffer: remove GtkTextBufferTargetInfo
...
GtkTextBufferTargetInfo is not used anywhere and can be removed.
2020-11-07 22:29:11 +00:00
Emmanuele Bassi
b9adad304e
Merge branch 'patch-6' into 'master'
...
gtk/enums: remove GtkPopoverConstraint
See merge request GNOME/gtk!2796
2020-11-07 22:19:33 +00:00
Emmanuele Bassi
ef17d716d7
Merge branch 'patch-4' into 'master'
...
doc: fix missing GtkNotebookTab
See merge request GNOME/gtk!2794
2020-11-07 22:01:33 +00:00
Emmanuele Bassi
8ec01772be
Merge branch 'patch-5' into 'master'
...
gtk/enums: remove GtkMenuDirectionType
Closes #3336
See merge request GNOME/gtk!2795
2020-11-07 21:59:04 +00:00
David Lechner
4084b4c6c6
gtk/enums: remove GtkPopoverConstraint
...
GtkPopoverConstraint is no longer used anywhere and can be removed.
2020-11-07 21:47:32 +00:00
David Lechner
c3cb8e0a79
gtk/enums: remove GtkMenuDirectionType
...
This was used by GtkMenu and can safely be removed.
Closes #3336
2020-11-07 21:39:34 +00:00
Emmanuele Bassi
19b5e5349e
Merge branch 'gles-no-queries' into 'master'
...
gl renderer: Generate queries only on desktop GL
See merge request GNOME/gtk!2792
2020-11-07 21:33:09 +00:00
Emmanuele Bassi
f87923e09e
Merge branch 'patch-3' into 'master'
...
docs: include GtkFilterMatch
See merge request GNOME/gtk!2793
2020-11-07 21:32:40 +00:00
David Lechner
05684f6c3c
doc: fix missing GtkNotebookTab
...
GtkNotebookTab was listed under private, but it is used by the "focus-tab" signal, so it needs to be public.
2020-11-07 21:17:09 +00:00
Emmanuel Gil Peyrot
08193ecf1c
gl renderer: Generate queries only on desktop GL
...
On desktop GL, GL 1.5 or GL_ARB_occlusion_query is required to get the
glGenQueries() etc. symbols. This isn’t the case on GLES, where they
are provided by GL_EXT_occlusion_query_boolean, and more importantly
have never been made core.
This patch allows gtk4-demo to start when GDK_DEBUG=gl-gles is set, on
my Mali 400 MP running the Lima driver from Mesa.
2020-11-07 21:49:42 +01:00
David Lechner
8c9a827516
docs: include GtkFilterMatch
...
The GtkFilterMatch enum type was missing from the documentation.
2020-11-07 20:45:41 +00:00
Timm Bäder
638987f359
Merge branch 'dlech-master-patch-13962' into 'master'
...
gtk/enums: fix doc comment references
See merge request GNOME/gtk!2791
2020-11-07 18:47:55 +00:00
David Lechner
8190f0c420
gtk/enums: fix doc comment references
...
Enum members need a "%" prefix rather than "@" or "%@" in order to
automatically create links in the documentation.
2020-11-07 17:46:26 +00:00
Arnaud Bonatti
f7de0bc9c8
Fix tests with regard to GtkBuilder <requires>.
2020-11-07 16:17:36 +01:00
Arnaud Bonatti
08f2990eac
Document the GtkBuilder <requires> tag changes.
2020-11-07 16:17:14 +01:00
Arnaud Bonatti
e6d46ec5ad
Teach gtk-builder-tool to rewrite <requires>.
2020-11-07 16:17:01 +01:00
Arnaud Bonatti
db6d7dccd8
Drop “gtk+” plus sign in GtkBuilder <requires>.
2020-11-07 16:16:55 +01:00
Piotr Drąg
4e8a5f2ec8
Update POTFILES.skip
2020-11-07 11:45:07 +01:00
Matthias Clasen
63e9414210
Merge branch 'wip/carlosg/for-master' into 'master'
...
Minor text handle fixes
See merge request GNOME/gtk!2787
2020-11-07 03:10:27 +00:00
Carlos Garnacho
4751ac1ac8
gtk/textview: Improve check for cursor-mode
...
Check the text handle role, instead of looking for the other handle
visibility. The other handle may be invisible during selection mode
(e.g. pointing to offscreen contents). This fixes both this code
switching to cursor mode out of the blue, and possible crashes later
on as this handle might be hidden in the process, while its own event
controller is handling events on the parent surface.
2020-11-06 14:30:18 +01:00
Carlos Garnacho
9d56c56117
gtk/texthandle: Point handle to the middle of the pointing_to rect
...
At least vertically, this gives again as much space up and down before
moving the selection the the prev/next line.
2020-11-06 14:28:46 +01:00
Matthias Clasen
0d82faa239
Merge branch 'wip/carlosg/for-master' into 'master'
...
Text handle fixes
Closes #3176
See merge request GNOME/gtk!2785
2020-11-06 01:23:16 +00:00
Matthias Clasen
fb27724042
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
...
macos: tweak opacity, color/alpha size requests
See merge request GNOME/gtk!2786
2020-11-06 01:20:23 +00:00
Christian Hergert
90141ef305
macos: use NSOpenGLContext directly for current tracking
...
We don't need to interact with GdkGLContext here to keep the
current context active.
2020-11-05 13:57:41 -08:00
Christian Hergert
bc05da8dc0
macos: explicitly request color and alpha sizes
2020-11-05 13:37:25 -08:00
Christian Hergert
bf3e1e5b40
macos: use opaque GL context when possible
...
This is better for situations where the window is decorated and therefore we can
rely on window system clipping of rounded corners.
2020-11-05 13:34:29 -08:00
Carlos Garnacho
0ae93c8cdc
gtk/textview: Do not forcibly show text handles
...
The gtk_text_view_set_handle_position() function called some lines above
takes care of handle visibility already, also accounting for other
conditions (e.g. whether the handle points to contents onscreen).
Forcibly showing handles here misbehaves if the handle should stay hidden,
and somewhat expensively as it involves creating and throwing a native
surface every time.
2020-11-05 21:29:20 +01:00
Carlos Garnacho
f9813019a7
gtk/textview: Defer touchscreen focus placing to drag end
...
With the scrolledwindow drag gesture not claiming the sequence immediately,
we end up placing the cursor (and undoing the previous selection) each time
we scroll.
There is already handling too short drags in ::drag-end, so let this code
handle touchscreens as well.
2020-11-05 21:29:20 +01:00
Carlos Garnacho
5e907ebd58
gtk/textview: Clean up further if the drag gesture is taken over
...
If the gesture becomes captured (e.g. from a parent scrolledwindow), we
leave some things in the air. Clean these up properly. This is recurrent
with touch scroll.
2020-11-05 21:29:20 +01:00
Carlos Garnacho
fa5fa3a881
gtk/imcontextwayland: Unset focus when unsetting widget
...
In destruction paths of a focused entry, the IM context might first
end up detached from its widget, then destroyed. This currently prevents
the IM context from detaching itself from the GtkIMContextWaylandGlobal.
Make it do so when unsetting the client widget, so the IM context gets
properly unfocused before destruction.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3176
2020-11-05 21:29:20 +01:00
Carlos Garnacho
9b9cc2f947
gtk/texthandle: Handle events on parent surface's native
...
In wayland, popup positioning and event handling are doubly async.
This makes it unreliable to figure out parent surface coordinates
out of the popup position and the events received. This results in
jumpy text handles there.
The best way to deal with parent surface coordinates is to handle
the events there. Make the handles transparent to input, and make
the drag gesture be set up on the parent widget's native.
The gesture is set up in the capture phase, setting it on the native
(as opposed to the parent widget) achieves a feeling similar to it
being a distinct surface, as it should take precedence over other
gestures in the emission chain (e.g. scrolledwindows).
As everything is in parent widget's native's coordinates, the drag
handles become smooth again.
2020-11-05 21:29:20 +01:00
Carlos Garnacho
80f5be8b13
gdk/wayland: Ensure to update input area on map
...
If a surface is hidden, then shown again, it should preserve the
input area specified. Make sure that happens.
2020-11-05 21:29:20 +01:00
Matthias Clasen
ec5b5e8aaa
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3325
See merge request GNOME/gtk!2784
2020-11-05 16:43:08 +00:00
Emmanuele Bassi
95463719ae
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2783
2020-11-05 15:37:38 +00:00
Emmanuele Bassi
041415e9b4
docs: Add a note on the "presentation" role
2020-11-05 14:50:40 +00:00
Emmanuele Bassi
abd5383d40
docs: Add a section on accessible buttons
...
Anything that behaves like a button should do so at the accessibility
level as well.
2020-11-05 13:57:50 +00:00
Emmanuele Bassi
c5dc0e2e4c
a11y: Use proper role and state for tree expander image
...
The "expander" image is a button, and it controls the expansion of the
row, so it has a state associated to it that we must update.
2020-11-05 13:46:43 +00:00
Emmanuele Bassi
88116712f6
a11y: Use "presentation" role instead of "hidden" state
...
The intended use case of the "presentation" role is
| […] when an element is used to change the look of the page but does not
| have all the functional, interactive, or structural relevance implied
| by the element type, or may be used to provide for an accessible
| fallback in older browsers that do not support WAI-ARIA.
One of the examples is, literally:
| An element whose content is completely presentational (like a spacer
| image, decorative graphic, or clearing element);
Which fits perfectly for the GtkTreeExpander's "indent" builtin icon
widget.
2020-11-05 13:25:53 +00:00
Emmanuele Bassi
7dfa41bbc4
a11y: ARIA's "presentation" role maps to ATSPI_ROLE_SECTION
...
See the mapping role table in the Core-AAM normative document:
https://w3c.github.io/core-aam/#mapping_role_table
2020-11-05 13:14:08 +00:00
Matthias Clasen
c09ff35df4
dragicon: Make a function propertly exported
...
Mark gtk_drag_icon_create_widget_for_value with
GDK_AVAILABLE_IN_ALL, since it is meant to be public.
Also, clarify the documentation a bit.
Fixes : #3325
2020-11-05 07:23:38 -05:00
Matthias Clasen
d526bcc71b
Cosmetics
...
Fix argument ordering of gdk_cursor_new_from_name.
2020-11-04 23:36:09 -05:00
Matthias Clasen
13d1e497f7
testsuite: Improve GdkCursor coverage
2020-11-04 23:36:09 -05:00
Matthias Clasen
3eaae748d3
3.99.4
2020-11-04 21:46:10 -05:00
Matthias Clasen
7f16067383
Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'
...
macos: gl context improvements and event cleanup
See merge request GNOME/gtk!2780
2020-11-05 02:21:02 +00:00
Matthias Clasen
024e048c26
Merge branch 'wip/chergert/fix-macos-pointer-position-over-surface' into 'master'
...
macos: fix calculation of mouse position
See merge request GNOME/gtk!2781
2020-11-05 02:19:18 +00:00
Christian Hergert
c31c3848df
macos: fix calculation of mouse position
...
This fixes the calculation of the position of the pointer over the surface
which was incorrectly providing negative values.
2020-11-04 18:03:54 -08:00
Matthias Clasen
b0e0af1838
Merge branch 'patch-5' into 'master'
...
Update comment annotations of gtk_tree_model_iter_previous and...
See merge request GNOME/gtk!2775
2020-11-05 01:53:34 +00:00
Matthias Clasen
3785bf1f17
Merge branch 'fix-issue-2019-for-master' into 'master'
...
[master] GdkW32: remove klassTEMPSHADOW
Closes #2019
See merge request GNOME/gtk!2750
2020-11-05 01:53:02 +00:00
Matthias Clasen
79fb5724f9
Merge branch 'mr1063-for-master' into 'master'
...
Forward port MR !1063 (Win32 IME fixes) to GTK master
See merge request GNOME/gtk!2777
2020-11-05 01:48:37 +00:00
Christian Hergert
65b2ea1888
macos: resize extra GL window/view when surface changes
...
Once we figure out what is going on with textures, changes are we'll be
able to let this stay a zero rect. But that is still a bit up in the air right now.
2020-11-04 17:21:21 -08:00
Christian Hergert
6309bd12ac
macos: clip damage when swapping buffers
...
This ensures that we only copy the changed area.
2020-11-04 17:21:17 -08:00
Christian Hergert
7444a151b2
macos: remove synthesize_motion helper
...
We can use gdk_surface_request_motion() now instead of our extra
helper to do essentially the same thing.
2020-11-04 16:58:50 -08:00
Christian Hergert
ce9cc2db86
macos: always create dummy window/view for GL context
...
This simplifies the creation by always creating the dummy views, and then
removes it if necessary by detecting the begin_frame/end_frame pair.
2020-11-04 16:52:12 -08:00
Christian Hergert
e91b930648
Revert "Simplify gdk_surface_queue_render"
...
This reverts commit 2120e9df88 .
2020-11-04 16:28:13 -08:00
Matthias Clasen
ed78fb1366
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2779
2020-11-04 20:41:09 +00:00
Matthias Clasen
388f12b7d9
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2778
2020-11-04 20:37:39 +00:00
Matthias Clasen
8ae415acff
popovermenu: Fail gracefully if no model
...
If we don't have a model yet, return FALSE from
gtk_popover_menu_add_custom().
2020-11-04 14:59:32 -05:00
Matthias Clasen
d2cc9365fc
Cosmetics
...
Extraneous pair of parens snuck in with 2120e9df88 .
2020-11-04 14:59:27 -05:00
Matthias Clasen
dcfb6e5ef5
surface: Be smarter about autohide
...
When we close grabbing popups due to an outside
click, check at each level if the click is still
outside. This makes closing the nested popover
menu in the popover on page 3 of widget-factory
work as expected, when you click the menubutton
again.
2020-11-04 14:56:30 -05:00
Matthias Clasen
75f96b83de
surface: Be more lenient for autohide
...
When an event happens on a non-grabbing popup that hangs off
a grabbing popup, don't trigger the autohide. This makes touch
text handles work inside the popover on page 3 of widget-factory.
2020-11-04 14:56:30 -05:00
Emmanuele Bassi
66bba1493e
a11y: Remove stray g_printerr()
2020-11-04 19:39:08 +00:00
Emmanuele Bassi
1dde54b872
a11y: Hide the "indent" in GtkTreeExpander
...
It's just padding.
2020-11-04 19:38:14 +00:00
Emmanuele Bassi
c48a990778
a11y: Describe window controls
...
The window controls for client side decorations have only icons, which
means they are not accessible.
2020-11-04 18:59:11 +00:00
Matthias Clasen
23c425618e
Merge branch 'a11y/atcontext-realize' into 'master'
...
A11y/atcontext realize
See merge request GNOME/gtk!2772
2020-11-04 18:10:55 +00:00
Matthias Clasen
d2a7ecf72c
gtk-demo: Simplify the run button
...
Don't create the label manually. It is not necessary,
and letting the button do it also improves the
accessibility setup.
2020-11-04 12:54:48 -05:00
Matthias Clasen
f220a1e3c7
gtk-demo: Set some accessible properties
...
Set labels in the builder demo. The ARIA authoring practices
say that both menubars and toolbars *must* have an accessible
label.
2020-11-04 12:53:23 -05:00
Emmanuele Bassi
ba63aa76ca
a11y: Move parent context ref getter to its own function
...
Keeps the body of handle_accessible_get_property() readable.
2020-11-04 17:16:24 +00:00
Emmanuele Bassi
72415eaa49
a11y: Make the Button labelled by its child label
...
Establish the relation whenever we set the label widget.
2020-11-04 17:15:13 +00:00
Emmanuele Bassi
d88f7c9459
a11y: Use the tooltip text as the accessible description
...
It's more common to have a tooltip as the accessible description than an
explicit description. This is also the behaviour of GTK3.
2020-11-04 17:15:13 +00:00
Emmanuele Bassi
425d8ad02a
Set accessible label on GTK Demo's primary menu
...
Otherwise its label is going to be "GtkMenuButton".
2020-11-04 17:15:13 +00:00
Emmanuele Bassi
ae9758b964
a11y: Unrealize ATContext on dispose
2020-11-04 17:15:13 +00:00
Matthias Clasen
828a067b2b
Propagate accessible-role to backend
...
We want to allow setting the accessible role as long
as the context is unrealized, so we need to propagate
the new role.
2020-11-04 11:53:07 -05:00
Matthias Clasen
bb24b350ac
gtk-demo: Set an accessible role
...
Set an accessible role for the toolbar in the
builder demo. This tests accessibility support
in GtkBuilder.
2020-11-04 11:36:52 -05:00
Emmanuele Bassi
dafb2b0361
a11y: Allow updating role on unrealized contexts
...
We can still change the accessible role if an ATContext instance is
unrealized.
2020-11-04 15:22:31 +00:00
Emmanuele Bassi
30210c7087
a11y: Move ATContext to an explicit realization model
...
We are doing too much work during the construction phase of the
AT-SPI backend for GtkATContext. Instead of having the AtSpiContext
register itself at construction time, let's add explicit realize
and unrealize operations, and connect the ATContext realization to the
rooting operation of a GtkWidget.
2020-11-04 15:02:44 +00:00
Philip Zander
d8a795df0a
Win32 IME fixes
...
See merge request !1063
2020-11-04 17:17:52 +08:00
kai-berlin
499e4b4c50
broadway: Set modifier state of scroll events
...
Set modifier state of scroll events, so Ctrl-scroll
works.
Fixes : #2733
2020-11-03 19:21:00 -05:00
Matthias Clasen
fd52220b1b
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3318 , #3319 , and #3320
See merge request GNOME/gtk!2776
2020-11-03 20:15:08 +00:00
Matthias Clasen
e9438224ab
texthandle: Queue a draw when role changes
...
This helps with role changes not taking immediate
effect.
Fixes : #3320
2020-11-03 14:39:29 -05:00
Matthias Clasen
2120e9df88
Simplify gdk_surface_queue_render
...
We can just call gdk_surface_invalidate_rect here
like we do elsewhere in gdk, and I'm a bit uncertain
about the current code that adds an empty update
region.
2020-11-03 14:37:27 -05:00
Matthias Clasen
ddd16dd312
texthandle: Fix positioning
...
Use the same approach we use for popovers, using
gtk_widget_get_surface_allocation. It works.
Fixes : #3319
2020-11-03 12:37:39 -05:00
Matthias Clasen
7624f66fec
widget-factory: Make sure we close popover on page 3
...
We don't want the popover to stay open when we open
an about dialog or shortcuts window. Since cascade-popdown
would also affect e.g. the context menu of the text widgets,
do this explicitly.
2020-11-03 12:09:43 -05:00
Matthias Clasen
dab11ea841
popover: Change default for cascade-popdown
...
We've found a number of cases where this cascading
has unexpected side-effects. So, turn it off by
default, and only set it for menus.
2020-11-03 11:00:32 -05:00
Matthias Clasen
a3f3dc0f1c
Adwaita: Set a background for magnifiers
...
The magnifier in entries is magnifying the GtkText
widget, which does not draw any background itself.
Therefore, we give the magnifier a background, to
make things look as expected.
Fixes : #3318
2020-11-03 11:00:32 -05:00
Matthias Clasen
5d59447ccb
magnifier: Set a css name
...
Predictably, we use the name "magnifier".
2020-11-03 11:00:32 -05:00
Matthias Clasen
e3c38e4143
NEWS: Updates
2020-11-03 11:00:32 -05:00
Matthias Clasen
e5ec4df702
docs: Mention g_file_get_basename
...
Mention g_file_get_basename in the migration guide section
about GtkFileChooser api changes.
2020-11-03 11:00:32 -05:00
Danny Milosavljevic
1340ff2bc2
Update comment annotations of gtk_tree_model_iter_previous and gtk_tree_model_iter_next to state that the ITER parameter is modified.
2020-11-03 15:10:11 +00:00
Matthias Clasen
dbdc909e19
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2774
2020-11-03 12:14:21 +00:00
Matthias Clasen
c6ef1943e4
gtk-demo: Remove more gtk3-demo icon uses
...
Use our own logo everywhere.
2020-11-02 22:50:03 -05:00
Matthias Clasen
a3c9f8594a
gtk-demo: Tweak images demo
...
Use our own logo instead of the gtk3-demo one, and
tweak the headings to refledct what we show.
2020-11-02 22:43:44 -05:00
Matthias Clasen
354f2b65fa
gtk-demo: Reanimate floppy buddy
...
Implement a GdkPaintable wrapper around GdkPixbufAnimation,
so floppy buddy can waive again.
2020-11-02 21:38:02 -05:00
Matthias Clasen
b3657d5f2e
widget-factory: Restore modality of the about dialog
...
Make the about dialog of widget-factory modal again.
This was lost in 87a8fda163 .
2020-11-02 21:37:55 -05:00
Timm Bäder
82ca65956f
gl renderer: Make debugging code shorter
2020-11-02 14:55:14 -05:00
Timm Bäder
c8c2106f3e
gl renderer: Refactor vertex data loading code
2020-11-02 14:55:14 -05:00
Timm Bäder
8178dfb85a
gl renderer: Use the load_vertex_data* functions more often
2020-11-02 14:55:14 -05:00
Timm Bäder
50e78198a8
gl renderer: More load_vertex_data* usage
2020-11-02 14:55:14 -05:00
Timm Bäder
ee04cbcfa8
gl renderer: Reword a comment
2020-11-02 14:55:14 -05:00
Timm Bäder
fc312f7ffe
gl renderer: Remove an outdated comment
2020-11-02 14:55:14 -05:00
Timm Bäder
e6e964c3f3
gl renderer: Refactor rendering shadow nodes
...
Also use load_vertex_data_with_region here.
2020-11-02 14:55:14 -05:00
Timm Bäder
df5e796d99
gl renderer: Refactor blurred shadow drawing code
...
We already have various load_vertex_data* code, so try to reuse that
here.
2020-11-02 14:55:14 -05:00
Timm Bäder
d3239c953d
gl renderer: Nine-slice unblurred outset shadows
...
See #3284
2020-11-02 14:55:13 -05:00
Timm Bäder
fb9a3bf32b
printoperation: Remove double assignment
2020-11-02 14:55:13 -05:00
Matthias Clasen
ace83a938d
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo polish
See merge request GNOME/gtk!2773
2020-11-02 19:36:09 +00:00
Matthias Clasen
fb028f0fe7
gtk-demo: Renovate the paned demo
...
Make this look less like testgtk from GTK 2.
2020-11-02 13:56:19 -05:00
Matthias Clasen
8a13909bab
fixup: window titles
2020-11-02 12:02:19 -05:00
Matthias Clasen
4e745f06e9
gtk-demo: Polish all entry demos
...
Make the spacing a bit more consistent, and tweak
some strings here and there.
2020-11-02 12:01:11 -05:00
Matthias Clasen
14b65a3c4f
gtk-demo: Polish the search bar demo
...
Rename this, and make it look a bit less like a
debugging tool, and more like a demo.
2020-11-02 12:00:24 -05:00
Matthias Clasen
64ad490bc1
gtk-demo: Tweak tagged entry styling
...
Move the tags closer together, and avoid resizing too much.
2020-11-02 11:59:22 -05:00
Matthias Clasen
d2d7a4bcab
gtk-demo: Tweak window titles
...
This is an attempt to improve consistency in the sidebar
and the window titles.
2020-11-02 11:11:44 -05:00
Matthias Clasen
14cbd13ef2
gtk-demo: Use typographic style classes
...
We don't need to hardcode <u> in markup anymore.
Use the heading style class instead.
2020-11-02 08:38:20 -05:00
Matthias Clasen
efc314196d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2769
2020-11-02 11:52:13 +00:00
Matthias Clasen
403a70ca89
testsuite: Add tests for gtk4-builder-tool validate
2020-11-01 23:09:26 -05:00
Matthias Clasen
44b36b6321
builder-tool: Stop rewriting GtkPopoverMenu
...
We no longer allow manual creation of GtkPopoverMenu,
translating individual properties is not going to
change that.
2020-11-01 23:09:26 -05:00
Matthias Clasen
4bd829e3e1
testsuite: Test GtkFixed rewriting
2020-11-01 23:09:26 -05:00
Matthias Clasen
38f74d8a23
builder-tool: Rewrite GtkFixed more
...
GtkFixedLayout does not have layout properties
for x and y, so turn those into a transform.
2020-11-01 23:09:26 -05:00
Matthias Clasen
2613c2ef9b
builder-tool: Avoid duplicate path prefixes
...
It is enough to print the file in which the error
occurred once; GtkBuilder already makes that part
of its error message.
2020-11-01 23:09:26 -05:00
Matthias Clasen
5751cd662d
builder-tool: Install a log writer
...
Install a log writer function that is a bit simpler than
the default GLib log writer, and does not put PIDs and
timestamps in the output, so we can compare easily in
our testsuite.
2020-11-01 23:09:26 -05:00
Matthias Clasen
4039b713c3
Set G_LOG_USE_STRUCTURED globally
...
It doesn't make much sense to set this in per-directory
meson files, since that makes use use different logging
facilities in different parts of the project. Set it
globally.
2020-11-01 21:23:35 -05:00
Matthias Clasen
c3f8010b19
testsuite: Test GtkToolbar rewriting
2020-11-01 21:23:35 -05:00
Matthias Clasen
3e8a22ae8a
builder-tool: Rewrite GtkToolbar more
...
Replace GtkToolbar with GtkBox and GtkToolButton with
GtkButton.
2020-11-01 21:23:35 -05:00
Matthias Clasen
c01f3be6e6
testsuite: Test GtkActionBar rewriting
2020-11-01 21:23:35 -05:00
Matthias Clasen
0cf372c814
testsuite: Test GtkPaned rewriting
2020-11-01 21:23:35 -05:00
Matthias Clasen
ac20c9cd41
builder-tool: Fix rewriting GtkPaned
...
The properties have been renamed in bc6643f3c2 .
2020-11-01 21:23:35 -05:00
Matthias Clasen
d74c2a74e5
builder-tool: Drop unneeded code
...
We are rewriting the tree before simplifying it,
so there is no need to 'keep things for rewriting'
in the simplify phase.
2020-11-01 21:23:35 -05:00
Matthias Clasen
b79637ac41
testsuite: Test GtkOverlay rewriting
2020-11-01 21:23:35 -05:00
Matthias Clasen
e135772119
buildertool: Improve GtkOverlay rewriting
...
Translate the GtkOverlay:pass-through child property to
the GtkWidget:measure property, and drop the :index
child property.
2020-11-01 21:23:35 -05:00
Matthias Clasen
3cf26b471b
Fix the definition of GtkWidget:can-target
...
We are setting the value to TRUE initially, but
the property had a declared default of FALSE.
This is messing up the simplification of .ui files
with gtk4-builder-tool, since it thinks it can
omit can-target properties when it really can't.
2020-11-01 21:23:35 -05:00
Matthias Clasen
c630285692
Cosmetics
2020-11-01 21:23:35 -05:00
Matthias Clasen
5702b71037
Remove leftover file
...
This was never used in tests.
2020-11-01 21:23:35 -05:00
Matthias Clasen
a4e5f5ca50
testsuite: More gtk4-builder-tool tests
2020-11-01 21:23:35 -05:00
Matthias Clasen
b0b00d49d2
testsuite: Test gtk4-builder-tool simplify --replace
...
Run all gtk4-builder-tool test with and without --replace.
This improves test coverage for gtk4-builder-tool
2020-11-01 21:23:35 -05:00
Matthias Clasen
cb018ec047
builder-tool: Avoid a crash
...
Be more careful about types that have been removed.
I was getting criticals when converting ui files
containing GtkToolbars.
2020-11-01 21:23:35 -05:00
Matthias Clasen
168b21c77e
testsuite: Improve coverage for GdkTexture
2020-11-01 21:23:35 -05:00
Matthias Clasen
2dcc641d5a
testsuite: Improve coverage for GdkDisplayManager
2020-11-01 21:23:35 -05:00
Matthias Clasen
c8432ae668
testsuite: Improve coverage for seats
2020-11-01 21:23:35 -05:00
Matthias Clasen
642ad4e06f
testsuite: Improve coverage for rectangles
2020-11-01 21:23:35 -05:00
Tim Sabsch
924796b478
Update German translation
2020-11-01 14:08:13 +00:00
Piotr Drąg
319d4c7e01
Update Polish translation
2020-11-01 10:37:21 +01:00
Matthias Clasen
07c491f235
testsuite: Improve coverage for keys
2020-10-31 14:57:02 -04:00
Matthias Clasen
970f91ec24
testsuite: Add more css parser tests
...
Add tests for url parsing.
2020-10-31 09:18:40 -04:00
Matthias Clasen
48381bd4f6
testsuite: Add a forgotten test
...
I've written this test a while ago, but did not add
it to the test data list in meson.build.
2020-10-31 08:30:02 -04:00
Matthias Clasen
1a12999431
testsuite: Add a css test
...
This test verifies that CDO and CDC are ignored
as required.
2020-10-31 00:38:49 -04:00
Matthias Clasen
90676540ec
css: Fix tokenization of CDO
...
A CDO is 4 characters: <!--, not 3 as our tokenizer
was pretending.
2020-10-31 00:38:49 -04:00
Matthias Clasen
7db58d5f8d
gsk: Don't compile unused code
...
The NodeSample and GskGLImage code is not used,
so don't compile it.
2020-10-30 23:36:39 -04:00
Matthias Clasen
875452b476
testsuite: Improve coverage for GtkMultiSorter
2020-10-30 23:33:34 -04:00
Matthias Clasen
1c4c5e3b80
testsuite: Improve coverage for GtkStringList
2020-10-30 23:33:15 -04:00
Matthias Clasen
af5e13b9a1
Remove an unused function
...
The only property of GtkStringObject is readonly since
commit fb14f50ec1 , so we don't need a
set_property implementation.
2020-10-30 23:32:30 -04:00
Matthias Clasen
9b78bc4af7
testsuite: Improve coverage
2020-10-30 23:04:23 -04:00
Matthias Clasen
1702a4c223
Drop an unused private function
2020-10-30 22:51:54 -04:00
Matthias Clasen
f0e35c8ed8
Drop unused includes
2020-10-30 22:50:38 -04:00
Matthias Clasen
26150d8489
testsuite: Improve coverage for GtkExpression
2020-10-30 22:27:40 -04:00
Matthias Clasen
48dcbf4935
expression: Fix property expressions for interfaces
...
We were not checking the passed-in type in the right
way. An interface type can still pass the
g_type_is_a (..., G_TYPE_OBJECT) check, if G_TYPE_OBJECT
is one of its prerequisites. What we need to check is
whether the fundamental type is G_TYPE_OBJECT.
2020-10-30 22:27:40 -04:00
Matthias Clasen
59dd7d8900
testsuite: Improve coverage for GtkMultiFilter
2020-10-30 22:27:40 -04:00
Matthias Clasen
c279bdaa81
testsuite: Improve coverage for GtkStringFilter
2020-10-30 20:15:25 -04:00
Matthias Clasen
01d52a7292
testsuite: Make all css tests run again
...
The tests in subdirectories of testsuite/css were
using an environment defined in the parent directory,
causing them to not find their test data. Give each
test directory its own environment.
2020-10-30 20:14:17 -04:00
Matthias Clasen
2b38d14bf5
tests: Improve coverage for css data url parsing
...
Cover the error conditions as well.
2020-10-30 19:26:56 -04:00
Matthias Clasen
d35a21873e
testsuite: Improve coverage for GtkBoolFilter
2020-10-30 18:17:50 -04:00
Matthias Clasen
b23cae9643
Drop unused gtk_buildable_set_buildable_property
2020-10-30 17:19:52 -04:00
Matthias Clasen
505df337c2
Add a test for constraints in ui files
...
Test the various values that are possible for the constraint
attributes.
2020-10-30 16:21:14 -04:00
Matthias Clasen
117997da54
Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'
...
macos: add more aggressive clip to transparent subview
See merge request GNOME/gtk!2762
2020-10-30 19:48:57 +00:00
Matthias Clasen
19052d4360
gtk-demo: Tweak descriptions of constraints demos
...
Make these a little longer, and include more details.
2020-10-30 15:26:37 -04:00
Matthias Clasen
2dbaca2464
constraintlayout: Make sure guides get their constraints
...
When using GtkBuilder to create constraints and guides,
the layout manager is already rooted when the guides get
created, and we were forgetting to create the guides
constraints in this case. Fix it by adding a call to
gtk_constraint_guide_update().
This was showing up in the new builder-based constraints
demo as the guide not having the expected effect.
2020-10-30 15:04:13 -04:00
Matthias Clasen
4b8134b19b
constraintlayout: Emit less change notification
...
This isn't strictly required for correctness, but
it makes the GtkBuilder codepath do the same that
the vfl codepath does: call gtk_layout_manager_layout_changed
only once, after all the constraints have been added.
2020-10-30 15:04:13 -04:00
Matthias Clasen
588fe5b5c1
gtk-demo: Tweak the new constraints demo
...
With these somewhat random ordering changes, things get
closer to working the same as the code example. Still,
the guide doesn't work right.
2020-10-30 15:04:13 -04:00
Matthias Clasen
b8f44de48e
constraintlayout: Fix parsing from ui file
...
Guides were not properly looked up when creating
constraints in a ui file.
2020-10-30 15:04:13 -04:00
Matthias Clasen
49bdc4f0c2
Add another constraints demo
...
This one attempts to use constraints in a ui file.
It doesn't work.
2020-10-30 15:04:13 -04:00
Matthias Clasen
a0ee25a21e
gtk-demo: Remove unnecessary code
...
I was distracted by this code that sets names
on widgets in the constraints demo - the names
aren't used and aren't needed, so remove them.
2020-10-30 15:01:50 -04:00
Christian Hergert
d8192013f3
macos: add more aggressive clip to transparent subview
...
The Cairo implementation for the Macos backend uses a toplevel
window with full transparency and a series of NSView to create opaque
regions. This improves compositor performance because it allows the
display server to avoid costly blends.
However, we want to ensure we clip better when exposing the
transparent region so that we only expose the shadows/corners as
necessary.
2020-10-29 19:41:21 -07:00
Matthias Clasen
8ed1f51f7f
Merge branch 'wip/chergert/remove-GDK_WINDOWING_QUARTZ' into 'master'
...
gdk: remove remaining GDK_WINDOWING_QUARTZ usage
See merge request GNOME/gtk!2761
2020-10-30 01:36:10 +00:00
Matthias Clasen
03fec389f4
docs: Add details for gsk_renderer_new_for_surface
...
Mention the GSK_RENDERER variable here.
2020-10-29 18:21:44 -04:00
Matthias Clasen
38c39e2aa1
NEWS: Updates
2020-10-29 18:21:32 -04:00
Christian Hergert
6298fd1eef
gdk: remove remaining GDK_WINDOWING_QUARTZ usage
2020-10-29 13:57:28 -07:00
Matthias Clasen
5a77994516
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2760
2020-10-29 18:55:53 +00:00
Matthias Clasen
6142238237
Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'
...
macos: implement GL rendering on with Cairo renderer
See merge request GNOME/gtk!2759
2020-10-29 18:33:13 +00:00
Matthias Clasen
3164f328b5
docs: Some restructuring
...
Give the GDK docs some more structure.
2020-10-29 14:23:46 -04:00
Matthias Clasen
ce78d0c301
docs: Tweak GdkToplevel docs
2020-10-29 14:23:46 -04:00
Matthias Clasen
94305f248b
docs: Tweak GdkPopup docs
2020-10-29 14:23:46 -04:00
Matthias Clasen
3afd5d7a89
docs: Tweak GdkSurface docs
...
Add more details, and refer to the GdkToplevel / GdkPopup
docs.
2020-10-29 14:23:46 -04:00
Matthias Clasen
d2adbad408
docs: Tweak frame clock docs
2020-10-29 14:23:46 -04:00
Matthias Clasen
2df382277d
docs: Small additions for GdkCursor docs
2020-10-29 14:23:46 -04:00
Matthias Clasen
9f71bdd045
docs: Cosmetics
...
Make the GdkRGBA heading less repetitive.
2020-10-29 14:23:46 -04:00
Matthias Clasen
838d0924b9
docs: Tweak GdkPaintable docs
...
Minor additions here and there.
2020-10-29 14:23:46 -04:00
Matthias Clasen
1f8d593931
docs: Add some detail to GdkTexture docs
...
Minor additions here and there.
2020-10-29 14:23:46 -04:00
Matthias Clasen
574a3a456d
gdk: Drop GdkPoint from the api
...
This typedef was not used in any public APIs, and is
only used in the MacOS backend. It is not worth preserving
as public API, move it to the only user.
2020-10-29 14:23:46 -04:00
Matthias Clasen
3617fbab42
docs: Include GDK_WINDOWING_MACOS
...
We no longer have a Quartz backend, it is called
MacOS now.
2020-10-29 14:23:46 -04:00
Matthias Clasen
29ccd13e15
docs: Stop referring to the Quartz backend
...
Its MacOS now.
2020-10-29 14:23:46 -04:00
Christian Hergert
de9c9efa6f
macos: implement GL context
...
This implements the basics for a GdkGLContext on macOS. Currently, rendering
only is fully working for the GskCairoRenderer case where we read back pixels
into a cairo surface for rendering. More work on synchronization is required for
the GL on GskGLRenderer case.
When we attempt to render a surface itself with GL, the context will ensure that
the new GdkMacosGLView is placed within the NSWindow. In other cases, we
use a dummy NSView and NSWindow for backing the NSOpenGLContext to
ensure that we can get accelerated drawing.
This gets GtkGLArea working when running with GSK_RENDERER=cairo.
2020-10-29 10:57:02 -07:00
Christian Hergert
eb809ba425
macos: tweak gravity while resizing
...
This helps a situation where the window contents has not changed
in time for a drawing. Setting the texture gravity helps that side or
corner to be less jittery while moving.
Ideally, we can get to a point where we are synchronized and keeping
up with drawing fast enough to not need this. That may require some
work to drive frame clocks from drawRect: though.
2020-10-29 10:57:02 -07:00
Christian Hergert
adf60fb3a1
macos: be tolerant of NULL GL context
...
Some code appears to unconditionally attempt to make the context current,
so this makes things tolerant to a NULL GdkGLContext and just return FALSE.
2020-10-29 10:57:02 -07:00
Christian Hergert
a3fd46c516
glsl: tweak pre-processor to support Apple GLSL compiler
...
The Apple GLSL compiler cannot deal with empty pre-processor blocks such as
#if GSK_GLES
#elif GSK_LEGACY
2020-10-29 10:57:02 -07:00
Christian Hergert
0040667965
macos: remove unused GL layer
...
This isn't being used, and instead we'll go the route of a NSView for
the OpenGL implementation.
2020-10-29 10:57:02 -07:00
Christian Hergert
60e67a62e6
macos: move setNeedsDisplay helper to GdkMacosCairoView
...
This isn't needed in the base class, which will eventually get a GL subclass.
2020-10-29 10:57:02 -07:00
Matthias Clasen
931f130377
Merge branch 'wip/chergert/gdk-remove-texture_from_surface' into 'master'
...
gl: remove unused texture_from_surface API
See merge request GNOME/gtk!2756
2020-10-29 15:50:01 +00:00
Christian Hergert
524fbc35a7
gl: remove unused texture_from_surface API
...
This is not used anywhere and only exists within the X11 backend. It
can be removed now.
2020-10-29 08:26:27 -07:00
Matthias Clasen
51d35750f6
Cosmetics
...
Whitespace fix.
2020-10-29 07:40:30 -04:00
Matthias Clasen
90fde9c939
Merge branch 'matthiasc/for-master' into 'master'
...
textview: Update child allocations
See merge request GNOME/gtk!2757
2020-10-29 11:21:30 +00:00
Matthias Clasen
5cbc55578f
textview: Update child allocations
...
This was accidentally lost when display line caching
was introduced.
2020-10-28 20:18:54 -04:00
Piotr Drąg
f90e7b9c56
Update POTFILES.skip
2020-10-28 15:12:01 +01:00
Matthias Clasen
d5b9489408
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #3282
See merge request GNOME/gtk!2755
2020-10-27 22:38:58 +00:00
Matthias Clasen
975d763db1
Merge branch 'dropdown-checkmark' into 'master'
...
Dropdown checkmark
Closes #3291
See merge request GNOME/gtk!2754
2020-10-27 20:41:34 +00:00
Matthias Clasen
907fc30fac
gtk-demo: Add checkmarks to all dropdown demos
...
This follows the mockups that these demos are
copied from. Unfortunately, it has to be implemented
for every item factory, so we repeat it here.
Fixes : #3291
2020-10-27 16:13:44 -04:00
Matthias Clasen
25d2efeabe
dropdown: Add a checkmark to the selected item
...
Make the default factory add a checkmark to the
currently selected item (not the hovered item)
in the popup. This will unfortunately have to be
done in non-default factories too.
Related: #3291
2020-10-27 16:13:38 -04:00
Matthias Clasen
3a119a3d3a
dropdown: Make search entry shrink
...
We don't want the popup to be wider than the button
if we can help it. The search entry does not need
to be very wide.
2020-10-27 15:35:34 -04:00
Matthias Clasen
8df883ed71
Merge branch 'matthiasc/atspi-child' into 'master'
...
Emit ChildrenChanged signal on hierarchy updates
See merge request GNOME/gtk!2752
2020-10-27 18:24:43 +00:00
Matthias Clasen
0c49f7349d
Merge branch 'matthiasc/a11y-buildable' into 'master'
...
Implement accessible attributes for ui files
See merge request GNOME/gtk!2751
2020-10-27 18:13:44 +00:00
Luca Bacci
eef1097c90
GdkW32: remove klassTEMPSHADOW
...
Fixes issue #2019
2020-10-27 18:26:45 +01:00
Benjamin Otte
08004d4eed
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
Closes #3295
See merge request GNOME/gtk!2748
2020-10-27 16:27:10 +00:00
Benjamin Otte
6d7e56bed6
cloudprint: Make compile without warnings
2020-10-27 16:43:34 +01:00
Benjamin Otte
8e6701c9a6
gtkmediafile: Use cubic volume function
...
Gstreamer suggests doing that.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1439
Fixes #3295
2020-10-27 16:32:53 +01:00
Jakub Steiner
6d5c512571
Merge branch 'wip/jimmac/gtk4-dropdown-papercuts' into 'master'
...
Adwaita: dropdown search box
See merge request GNOME/gtk!2747
2020-10-27 12:55:33 +00:00
Jakub Steiner
b94ea1b4f7
Adwaita: dropdown search box
...
- have some whitespace around entry
Partial fix for https://gitlab.gnome.org/GNOME/gtk/-/issues/3291
2020-10-27 13:32:04 +01:00
Matthias Clasen
b2d6011679
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2746
2020-10-27 05:05:33 +00:00
Matthias Clasen
c0aa1c8a49
Merge branch 'popover-menu-custom-child' into 'master'
...
popovermenu: Allow custom items
Closes #3260
See merge request GNOME/gtk!2728
2020-10-27 04:51:00 +00:00
Matthias Clasen
5fe837483c
docs: Add GtkOverlay to the widget gallery
2020-10-27 00:42:38 -04:00
Matthias Clasen
4f15b988e7
docs: Add box, grid and center box to the gallery
2020-10-27 00:24:54 -04:00
Matthias Clasen
6cd3bc7384
modelbutton: Explicitly set up LABELLED-By relation
...
GTK does this automatically based on mnemonics, but only
if the string actually contains a mnemonic. This makes
orca read out menuitems, as expected.
2020-10-26 22:48:01 -04:00
Matthias Clasen
0faadef36f
widget-factory: Add a scale to the gear menu
...
This tests the custom menuitem support, and lets you
control the transition duration for the main stack.
2020-10-26 22:43:12 -04:00
Matthias Clasen
af6c3017fb
popovermenu: Allow adding custom items in ui files
...
Support <child type="ID"> to fill custom child slots
in both GtkPopoverMenus and GtkPopoverMenuBars that
are created in ui files.
2020-10-26 22:42:28 -04:00
Matthias Clasen
8157abe591
popovermenu: Allow custom items
...
Add a way to add children at certain places in
the generated menu for both GtkPopoverMenu and
GtkPopoverMenuBar.
New apis:
gtk_popover_menu_add_child
gtk_popover_menu_remove_child
gtk_popover_menu_bar_add_child
gtk_popover_menu_bar_remove_child
Fixes : #3260
2020-10-26 22:41:33 -04:00
Matthias Clasen
61e08baec1
Merge branch 'master' into 'master'
...
Fix the build with cups < 2.2.12
Closes #2968
See merge request GNOME/gtk!2744
2020-10-26 20:09:30 +00:00
Thomas Lange
0493e89897
Fix the build with cups < 2.2.12
...
PPD_CUSTOM_UNKNOWN was introduced in cups 2.3.
and has been backported to 2.2.12.
Only handle it when we build against a new enough cups.
Fixes : #2968
2020-10-26 19:16:26 +01:00
Matthias Clasen
c783e9aa5f
Treat tristate as an enum when parsing
...
This makes it so that you have to explicitly specify
"true" and "false" for the checked state, but it
matches how this enumeration is meant to be used.
2020-10-26 08:01:13 -04:00
Matthias Clasen
4661f15fab
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2741
2020-10-26 05:28:43 +00:00
Matthias Clasen
e51a98d184
docs: Add GtkDrawingArea to the gallery
2020-10-26 01:08:49 -04:00
Matthias Clasen
b67eee5741
docs: Add GtkShortcutsWindow to the widget gallery
2020-10-26 01:08:49 -04:00
Matthias Clasen
d9259fc958
docs: Add GtkPopoverMenu to the widget gallery
2020-10-26 01:08:49 -04:00
Matthias Clasen
65f748fc62
docs: Add GtkPopover to the widget gallery
2020-10-26 01:08:49 -04:00
Matthias Clasen
bed3616bf0
docs: Add GtkPopoverMenuBar to the gallery
2020-10-26 01:08:49 -04:00
Matthias Clasen
1605ca0140
docs: Add GtkExpander to the gallery
2020-10-26 01:08:49 -04:00
Matthias Clasen
8692f5d8e3
docs: Add GtkEmojiChooser to the gallery
...
To make this possible enable the doc shooter
to take screenshots of popovers.
2020-10-26 01:08:49 -04:00
Matthias Clasen
42e2c54922
docs: Redo the GtkColorChooserDialog gallery image
...
Show the new palette.
2020-10-25 22:54:53 -04:00
Matthias Clasen
291c61891a
docs: Improve the GtkStackSidebar gallery image
2020-10-25 22:54:41 -04:00
Matthias Clasen
59e08c0dac
docs: Tweak gallery layout
...
Now that the volume button image is small, move it
to a better place in its section. Improves the layout.
2020-10-25 22:46:30 -04:00
Matthias Clasen
a70c9c69a0
docs: Fix the GtkVolumeButton gallery image
...
Give up on showing the popup, we don't do that
for other buttons either.
2020-10-25 22:42:40 -04:00
Matthias Clasen
dffe6b87e4
docs: Add GtkCalendar to the gallery
...
It has been missing far too long.
2020-10-25 22:32:27 -04:00
Matthias Clasen
28b7962bee
docs: Improve the GtkMediaControls gallery image
2020-10-25 22:26:19 -04:00
Matthias Clasen
64e131f285
docs: Improve the GtkVideo gallery image
2020-10-25 22:17:15 -04:00
Matthias Clasen
a9f0f18c3a
docs: Tweak gallery layout
...
Improve the breaks in the container section.
2020-10-25 22:16:26 -04:00
Matthias Clasen
2e0822bed0
docs: Shrink the editable label gallery image
...
Makes it fit better with the other entries.
2020-10-25 21:52:51 -04:00
Matthias Clasen
b0fb31fc96
docs: Some reordering in the gallery
...
Align things better.
2020-10-25 21:47:40 -04:00
Matthias Clasen
163d32eea1
docs: Work around GtkPicture growing
...
Make the GtkPicture gallery image stay within its
limits, by overpowering its request mode.
2020-10-25 21:30:15 -04:00
Matthias Clasen
b7728a884b
docs: Tweak gallery ordering
...
Move GtkSpinButton to the entries, where it
belongs, despite its name.
2020-10-25 21:10:12 -04:00
Matthias Clasen
86b4b2eef2
docs: Fix links from the gallery
...
It turns out gtk-doc can't even parse its own custom
links if you don't arrange for the <link> element to
on a single line, since it is just a glorified sed
script :(
2020-10-25 21:07:12 -04:00
Matthias Clasen
09eda804f7
docs: Add GtkWindowControls to the gallery
2020-10-25 21:06:46 -04:00
Matthias Clasen
37d4932b31
a11y: Add more tests
...
Test some of the attributes that GTK maintains
for every widget.
2020-10-25 19:29:00 -04:00
Matthias Clasen
0fddf73ddb
a11y: Add some parser tests
...
Checking basic support for acessible states, properties
and relations in ui files.
2020-10-25 13:01:44 -04:00
Matthias Clasen
f981ab7a9e
Remove erroneous preconditions
...
Tests found these functions to be non-working.
2020-10-25 12:43:52 -04:00
Matthias Clasen
677ea5f22d
a11y: Reuse builder parsing for enums
...
No need to manually write all these parsing functions
when _gtk_builder_enum_from_string does exactly what
is needed here.
2020-10-25 12:38:52 -04:00
Matthias Clasen
fce455ae0b
a11y: Parse booleans in ui files as expected
...
Accept the same syntax for booleans as GtkBuilder
does elsewhere.
2020-10-25 12:20:55 -04:00
Matthias Clasen
e050a2661c
builder: Expot _gtk_builder_boolean_from_string privately
...
When specifying accessible properties in ui files, it
is better to accept the same syntax for booleans as
elsewhere, so lets reuse this function.
2020-10-25 12:19:21 -04:00
Piotr Drąg
a03581ce39
Update Polish translation
2020-10-25 10:37:47 +01:00
Matthias Clasen
13b9b9b7d8
scale: Set round-digits to -1 initially
...
This ensures that keybindings for small-step changes
work despite draw-value being FALSE now. This was
fallout from 8ca612c966 that showed up
as arrow keys not working anymore for the color scales
in the color chooser.
2020-10-25 00:31:18 -04:00
Matthias Clasen
0a3b370805
Cosmetics
...
Remove some comments that refer to no longer
existing menu code.
2020-10-25 00:31:18 -04:00
Matthias Clasen
313ba0280a
color editor: Add accessible labels
...
Add some labels to the controls in this dialog.
2020-10-24 23:55:56 -04:00
Matthias Clasen
adb7676fc1
a11y: More State<>Change confusion
...
We should really avoid this needless duplication
- the 'state' is never stored anywhere.
2020-10-24 23:12:36 -04:00
Matthias Clasen
8ffb398517
a11y: Handle all cases for state change
...
Make state_change handle state changes for non-widgets,
and handle the cases for HIDDEN involving stack pages.
2020-10-24 22:05:17 -04:00
Matthias Clasen
9a943e21d3
stack: Update HIDDEN a11y state for stack pages
...
This will let us handle additions and removals
in the AT-SPI backend.
2020-10-24 22:04:26 -04:00
Matthias Clasen
7c106578ed
Cosmetics
...
Make gtk_at_spi_root_child_changed take a
GtkAccessible for the child.
2020-10-24 21:35:35 -04:00
Matthias Clasen
d1d9b92aee
Merge branch 'meson-deps-continued' into 'master'
...
Turn more options into "feature"
See merge request GNOME/gtk!2708
2020-10-25 01:10:01 +00:00
Matthias Clasen
434b145ee0
stack: Don't transition when the visible child is remove
...
This is a corner-case, and it is causing crashes in
the shortcuts window, after a11ab6c995 .
2020-10-24 20:54:55 -04:00
Matthias Clasen
2546b88661
a11y: Redo child-added/-removed for toplevels
...
Instead of monitoring the list of toplevels, rely
on GtkWindow updating the HIDDEN state before windows
get removed. This is better, since we still have the
object available when it happens, so we can pass it
to the ATs.
2020-10-24 15:26:12 -04:00
Matthias Clasen
bba6d604f0
window: Maintain accessible HIDDEN state
...
We want to use the HIDDEN state to control when
things get added and removed from the accessible
tree, so ensure that we a) set HIDDEN to true
initially for windows, and b) we update HIDDEN
when a window is shown or hidden.
The second part is handled by gtk_widget_hide
for other widgets, but hiding a window does not
always go through that code path.
2020-10-24 15:25:03 -04:00
Matthias Clasen
274f9ad919
a11y: Emit child notification when toplevels get hidden
...
When a toplevel window gets hidden (and not destroyed),
the frontend code set the HIDDEN state, and we need to
emit child notification when that happens.
2020-10-24 13:17:20 -04:00
Matthias Clasen
89a8c89663
a11y: Improve child index helpers
...
We need to use gtk_accessible_should_present() whenever we
calculate accessible tree positions, to avoid inconsistencies.
While we are at it, make these helpers usable for finding
the position of accesibles that are now ignored, by not
looking at should_present for the object itself. This will
be relevant when we calculate the position of objects whose
HIDDEN state changes.
2020-10-24 13:14:44 -04:00
Matthias Clasen
e7b290debb
a11y: Improve child notification for toplevels
...
We need to translate the list model position into
an accessible tree position, since hidden toplevels
will be skipped.
While we are at it, add an api for this notification
that will be used in the next commit.
2020-10-24 13:13:07 -04:00
Matthias Clasen
46e754a17d
a11y: Skip non-presented children when required
...
Whenever we determine the index of a child, we need
to skip its non-presented siblings.
2020-10-24 11:22:09 -04:00
Matthias Clasen
b12992c1cb
a11y: Handle HIDDEN state changes
...
Hidden elements are not presented in the accessible
tree, so when then HIDDEN state changes, we should
emit child-added or -removed signals.
This commit does not yet handle all cases (HIDDEN
toplevels or hidden stack pages are not handled),
but it should cover the common case.
2020-10-24 11:17:56 -04:00
Matthias Clasen
374a451eeb
a11y: Don't present HIDDEN accessibles
...
The ARIA spec is clear on this: when an element has the
HIDDEN state, it should not be presented in the accessible
tree.
This change is incomplete, we also need to emit child-added/
removed signals when the state changes, but that needs to
wait for the child added infrastructure to land.
2020-10-24 11:17:56 -04:00
Matthias Clasen
1e13acb206
widget: Don't add reordered children
...
gtk_widget_reposition_after is called both to add new children,
and to reposition existing children. We only want to emit
accessible changes in the former case (since AT-SPI doesn't
have events for reordering).
2020-10-24 11:17:56 -04:00
Matthias Clasen
5b2b2feb9f
a11y: Fix up state / change enum confusion
2020-10-24 11:17:56 -04:00
Matthias Clasen
77af993181
Merge branch 'flush-events' into 'master'
...
Flush events
See merge request GNOME/gtk!2740
2020-10-24 12:53:01 +00:00
Matthias Clasen
c5ed5c5ff9
gdk: Deliver queued events on flush
...
The current code was marking queued events as flushed,
but left them in the queue. That doesn't make sense to
me - we should deliver all events we have before we
reach the paint phase of the frame cycle.
2020-10-23 17:03:00 -04:00
Matthias Clasen
6b53a55dd7
NEWS: Updates
2020-10-23 15:07:25 -04:00
Matthias Clasen
83fbdcd5e6
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3226
See merge request GNOME/gtk!2739
2020-10-23 17:25:33 +00:00
Matthias Clasen
cb8bf6540c
editablelabel: Properly clean up in dispose
...
Unparenting the stack finalizes the entry and label,
but at least the label is available via the
gtk_editable_get_delegate API, and the a11y
implementation uses that at dispose time. So, clear
the pointers to prevent them from being dangling.
This was showing up as a segfault of the doc-shooter.
2020-10-23 12:27:55 -04:00
Matthias Clasen
fdb1fa4d08
Give all search entries an icon
...
This was first requested for the search entry in
GtkDropDown, but it is better to be consistent and
give every search entry an icon.
Related: #3291
2020-10-23 12:19:31 -04:00
Matthias Clasen
10d7ccc8e0
window: Fix state updates
...
When the compositor unmaximized the window, we get a
state-changed signal, and we update the maximized field.
But then we go and recompute our layout based on the
maximize_initially field, and that is still TRUE, when
we were maximized initially. So we need to update both
fields.
This fixes a problem where using the window menu to
unmaximize an initially maximized window would not
work.
Fixes : #3226
2020-10-23 11:51:02 -04:00
Matthias Clasen
b973f7f375
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2737
2020-10-23 01:45:22 +00:00
Matthias Clasen
7671c1074b
Tweak focus tests
...
These tests are a bit fragile because the initial focus
that is taken depends on what ends up in the center of
the window, horizontally or vertically, which depends
on things like fonts, or theme spacing.
This commit makes some tweaks to push things in the
widget-factory example around far enough to make the
tests work again.
We should figure out a way to make this more robust.
2020-10-22 21:18:46 -04:00
Matthias Clasen
6ce2e19bbe
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2735
2020-10-22 22:53:34 +00:00
Matthias Clasen
3a08706e40
dropdown: Add an icon the search entry
...
A small detail for #3291 .
2020-10-22 14:33:41 -04:00
Matthias Clasen
e5722fe9d2
passwordentry: Respect border spacing
...
We are not using a box layout here since we want
to ignore the icons for measuring. But we still
want the layout to respect border spacing that
comes from the theme.
2020-10-22 14:27:19 -04:00
Matthias Clasen
700f957d9a
Adwaita: Set border-spacing for entries
...
When our entries contain icons, they should not run
directly into the text, so put some spacing between
the children of entries.
2020-10-22 14:26:21 -04:00
Timm Bäder
9109dee072
gl renderer: Don't use blur node bounds
...
The blur node bounds are different/larger than the ones we use. This
made the textures get stretched to the blur node bounds.
Fixes #3282
2020-10-22 17:46:34 +02:00
Timm Bäder
b6a843a05b
gl renderer: Fix two scale_x/y mixups
2020-10-22 17:46:34 +02:00
Timm Bäder
ff1fb4f10d
text: Remove empty root() implementation
2020-10-22 17:46:34 +02:00
Timm Bäder
1bf79a4dae
text: Fix a documentation mishap
2020-10-22 17:46:34 +02:00
Timm Bäder
85d4b86545
text: Fold focus_{in,out} into only caller
2020-10-22 17:46:34 +02:00
Timm Bäder
98e88b7b53
text: Avoid a crash
...
Calculate the "was previous focus in a child widget" condition before
chaining up into grab_focus, to a void that unreffing the prev_focus
widget.
2020-10-22 17:46:34 +02:00
Timm Bäder
85702f8f5d
dnd demo: Make the transform code a bit more idiomatic
2020-10-22 17:46:34 +02:00
Timm Bäder
d97cb851f1
textview: Remove a broken debug output statement
...
redraw_rect does not exist.
2020-10-22 17:46:34 +02:00
Timm Bäder
6dcdb4a601
atspitextbuffer: Explicitly cast between pango and gtk enums
2020-10-22 17:46:34 +02:00
Timm Bäder
41ef1d87ef
atspicontext: Add a few missing break statements
2020-10-22 17:46:34 +02:00
Timm Bäder
44728d09a9
stack: assert for some assumptions
2020-10-22 17:46:34 +02:00
Timm Bäder
b1664534af
gdksurface: Ensure some assumptions
...
Just to please scan-build
2020-10-22 17:46:34 +02:00
Timm Bäder
56e89e8d26
demos: Remove a dead assignment
2020-10-22 17:46:34 +02:00
Timm Bäder
f6ebc06767
filechooserwidget: Avoid an uninitialized value
...
If the operation mode is OPERATION_MODE_RECENT and we end up in the
'goto file_entry' case, we don't set info.result. Then later after
calling check_save_entry, is_empty is TRUE which causes a goto out and
here we then try to use info.result, which is uninitialized.
Initialize info.result before doing all this.
Found by scan-build
2020-10-22 17:46:33 +02:00
Timm Bäder
3db5e15bde
filechooserwidget: gtk_widget_get_root() can return NULL
2020-10-22 17:46:33 +02:00
Timm Bäder
a2291fb989
showrendernode: Pass error to deserialize()
2020-10-22 17:46:33 +02:00
Timm Bäder
af97f19926
textview: Respect return value of get_text_surface_coords()
2020-10-22 17:46:33 +02:00
Timm Bäder
0dae1f48fd
listbox test: Only compare values for rows we have
...
This shouldn't happen, but don't compare 100 values if we didnt' get 100
values from the listbox.
2020-10-22 17:46:33 +02:00
Timm Bäder
c7dbb8ef91
label: Plug a potential memory leak
...
This only happens in error cases so pretty insignificant.
Found by scan-build
2020-10-22 17:46:33 +02:00
Timm Bäder
3a1e019e83
print-editor: Fix a wrong comparison
...
If error is NULL, replacing the file contents worked and we don't
show the error dialog. The previous version pretty explicitly
dereferenced a NULL pointer by first ensuring that error is NULL and
then accessing error->message.
Found by scan-build
2020-10-22 17:46:33 +02:00
Matthias Clasen
a923be95b3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2736
2020-10-22 14:52:57 +00:00
Matthias Clasen
a11ab6c995
a11y: Handle stack case for addition/removal
...
Since we interpose stack pages as non-widget accessibles,
we need to tweak the signals we emit when their corresponding
widgets get added or removed.
2020-10-22 10:06:06 -04:00
Matthias Clasen
1d802881eb
stack: Change ordering for removal
...
Unparent the child widget before tearing down its
stack page. This is necessary so a11y can still access
the stack page accessible to emit change notification
when it learns that the child is removed.
2020-10-22 10:05:17 -04:00
Emmanuele Bassi
6c796cf201
docs: Fix cross-linking for GIO types
2020-10-22 13:33:49 +01:00
Matthias Clasen
44c6619660
gtk-demo: Speed up image demo
...
The progressive loading demo here was so slow as to appear
broken. Make it faster, and ensure that it updates regularly.
2020-10-22 07:51:44 -04:00
Matthias Clasen
ef7499a31b
gtk-demo: Add alternative text to a GtkPicture
...
This lets us text GtkPicture a11y support.
2020-10-22 07:51:44 -04:00
Matthias Clasen
ed571ae68a
picture: Set alternative text as description
...
Use the alternative text as accessible description
for GtkPicture.
2020-10-22 07:51:44 -04:00
Matthias Clasen
e2b3cbac23
colorbutton: Improve accessibility
...
Make the swatch not appear selectable, and
set an accessible label on it.
2020-10-22 07:51:44 -04:00
Matthias Clasen
ba290eb9b0
a11y: Add actions for color swatches
...
Add the same actions that we exported in GTK 3.
2020-10-21 23:36:22 -04:00
Matthias Clasen
3805e1d507
colorswatch: Export some functions for a11y
...
Make simple functions to activate, select or customize
a GtkColorSwatch. These will be exported by a11y as
actions.
2020-10-21 23:36:22 -04:00
Matthias Clasen
daf3b3a3b4
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2734
2020-10-22 02:52:46 +00:00
Matthias Clasen
800eb76a2d
linkbutton: Use the LINK role
...
It is a bit ambiguous, but I think link buttons are
more links than buttons. See WAI-ARIA for a discussion
of the differences.
Update tests to match.
2020-10-21 22:19:54 -04:00
Matthias Clasen
bcbc6159f4
a11y: Document abstract roles
...
Since we mention abstract roles in the documentation
for GtkAccessibleRole, we should say what roles are
abstract. Doing this shows that we actually use two
abstract roles heavily, ourselves: WIDGET and WINDOW.
2020-10-21 21:47:14 -04:00
Matthias Clasen
5f8c6d2287
a11y: Document roles used in menu
2020-10-21 21:40:19 -04:00
Matthias Clasen
88eb3a9c34
atspi: Give model buttons a click action too
...
GtkModelButton is no longer derived from GtkButton,
but can still treat it like a button for the purposes
of having a click action. This lets ATs activate
menu items again.
2020-10-21 21:27:38 -04:00
Matthias Clasen
3e43dda9d4
modelbutton: Recreate our AT context
...
When the button role changes, we want to update the
accessible role to match. Since accessible roles are
unchangeable post-creation of the AT context, we have
to cheat a bit and recreate the whole context.
2020-10-21 21:27:38 -04:00
Matthias Clasen
f96a1cfadd
modelbutton: Initial accessibility setup
...
Set the accessible role to GTK_ACCESSIBLE_ROLE_MENU_ITEM.
This is incomplete, we need to recreate the context when
the buttons role changes, and there are other things that
need to be set.
2020-10-21 21:27:38 -04:00
Matthias Clasen
758bcd5343
popovermenubar: Initial accessibility setup
...
Set roles, properties and relations according to the
ARIA authoring practices document. This is not quite
complete.
2020-10-21 21:27:38 -04:00
Matthias Clasen
2bfd4196fb
popovermenu: Initial accessibility setup
...
Set roles, properties and relations according to the
ARIA authoring practices document.
2020-10-21 21:27:38 -04:00
Xavier Claessens
1b7a99cb24
Apply 1 suggestion(s) to 1 file(s)
2020-10-22 00:36:23 +00:00
Matthias Clasen
087c0078ca
menubutton: initial accessibility setup
...
Set roles, properties and relations according to the
ARIA authoring practices document.
2020-10-21 19:47:48 -04:00
Matthias Clasen
b9ae54c951
separator: Remove unnecessary code
...
gtk_widget_update_orientation already sets the
accessible property, no need to do it again.
2020-10-21 19:47:48 -04:00
Emmanuele Bassi
7ac6e25ffc
Use GtkApplication in the examples
...
Some people read the "Getting Started" section as a series of
incremental lessons, and having the examples go from GtkApplication to
the old style "init / spin the main loop" confuses them.
We should be using GtkApplication everywhere in our examples.
2020-10-21 22:44:53 +01:00
Matthias Clasen
d3089ebbc2
progressbar: Hide internal structure from a11y
...
According to section 7.1 of WAI-ARIA, the progressbar role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.
2020-10-21 15:09:55 -04:00
Matthias Clasen
14a64c7372
levelbar: Hide internal structure from a11y
...
According to section 7.1 of WAI-ARIA, the meter role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.
2020-10-21 15:04:34 -04:00
Matthias Clasen
ca9b06878d
switch: Hide internal structure from a11y
...
According to section 7.1 of WAI-ARIA, the switch role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.
2020-10-21 14:55:13 -04:00
Matthias Clasen
8f100269ad
scale: Hide internal structure from a11y
...
According to section 7.1 of WAI-ARIA, the slider role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree, which makes sense, since these are all
just internal gizmos.
2020-10-21 14:53:17 -04:00
Matthias Clasen
48bb9200d9
a11y: Treat PRESENTATION like NONE
...
This is what ARIA tells us to do. NONE is just another
name for PRESENTATION.
2020-10-21 14:40:34 -04:00
Matthias Clasen
d7794bf608
docs: Add some more to the migration guide
...
Expand the section on life-cycle handling with some
more details.
2020-10-21 14:30:17 -04:00
Matthias Clasen
3151906157
docs: Small corrections to the a11y overview
...
The section titles were mixed up wrt to the content
of the sections.
2020-10-21 14:23:10 -04:00
Matthias Clasen
6153efd02a
Document GTK_ACCESSIBLE_ROLE_NONE
...
We use it for a specific purpose now, so document it.
2020-10-21 14:21:12 -04:00
Matthias Clasen
b5b8f42a0c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3285
See merge request GNOME/gtk!2733
2020-10-21 18:09:42 +00:00
Matthias Clasen
043ffd38bc
text: React to text attribute changes in css
...
Recompute the layout when the css style change
affects text attributes. This matches what we do
in GtkLabel, and without this, changing the
font-features-setting css property in the Inspector
does not have immediate effect.
2020-10-21 13:46:58 -04:00
Carlos Garnacho
32b826e312
Merge branch 'wip/exalm/swipe4' into 'master'
...
gestureswipe: Count last event when calculating velocity
See merge request GNOME/gtk!2715
2020-10-21 16:20:58 +00:00
Alexander Mikhaylenko
700ca3b946
gestureswipe: Count last event when calculating velocity
...
The last event, matching lifting the finger/releasing the mouse button,
is important when there's a large delay between it and the previous events,
as in when performing a movement, stopping, then releasing fingers as
opposed to doing a swipe.
If this event is skipped, doing this will result in kinetic deceleration
matching the previous finger movement, while the expected behavior would
be no deceleration.
See also 5dc6194b98 for a similar fix in
GtkEventControllerScroll.
2020-10-21 20:59:15 +05:00
Emmanuele Bassi
e45dd771db
a11y: Emit ChildrenChanged for toplevel list changes
...
GtkAtSpiRoot is not a context, which means it needs to emit
ChildrenChanged events by itself whenever a toplevel is added to, or
removed from, the list of toplevels.
2020-10-21 15:37:57 +01:00
Emmanuele Bassi
698cbee1fb
a11y: Move ChildrenChanged emitter to ATSPI utilities
...
We are going to use it from GtkAtSpiRoot, which is not a
GtkAtSpiContext.
2020-10-21 15:18:23 +01:00
Emmanuele Bassi
80756322cd
a11y: Handle relations in UI files
...
A bit hacky: we skip parsing values that have a reference or
reference-list type, but we do not error out. Instead, we return a NULL
value, which we catch in the GtkBuildable interface implementation to
get the actual object, and construct a reference list value.
There's still some ickyness around the value type that can only be
solved by having an attribute and role taxonomy.
2020-10-21 14:48:49 +01:00
Emmanuele Bassi
f1e14c4858
a11y: Implement ChildrenChanged atspi.Event
2020-10-21 14:33:20 +01:00
Emmanuele Bassi
8d46bd1d7c
a11y: Notify of changes in the children list
2020-10-21 14:04:49 +01:00
Emmanuele Bassi
fbb08a30e2
a11y: Add child state change to GtkATContext
...
And the required private API in GtkAccessible to notify AT contexts of
changes in the children list.
2020-10-21 14:04:49 +01:00
Matthias Clasen
81371e7c79
columnview: Put overshoot underneath the headers
...
This matches what we do in GtkTreeView.
Fixes : #3285
2020-10-21 08:39:50 -04:00
Emmanuele Bassi
7702670d86
docs: Document the "accessibility" custom tag
2020-10-21 13:33:37 +01:00
Emmanuele Bassi
9e4316bf96
a11y: Add an "accessibility" section to the builder XML tree
...
Accessible attributes are not GObject properties. This means that we
need a custom parser for setting attributes in our UI description files.
The new section is defined as a sub-tree with the `<accessibility>`
element at its root, and elements for each type of accessible
attributes, i.e. properties, relations, and states:
```xml
<object class="..." id="...">
<accessibility>
<property name="label">The accessible label</property>
<state name="pressed">false</state>
<relation name="labelled-by">label1</relation>
</accessibility>
</object>
```
The name of the attribute is the enumeration value; the value is defined
by the WAI-ARIA specification.
2020-10-21 13:33:37 +01:00
Emmanuele Bassi
4ea2a6628f
a11y: Add parsing code for accessible values
...
We need to be able to go from a string representation of an accessible
value to its GtkAccessibleValue instance.
2020-10-21 13:33:37 +01:00
Matthias Clasen
39dfdac771
range: Hide internals from accessibility
...
The nameless, faceless gizmos inside a range do not
contribute to the accessible experience at all, lets
not add them to the tree. All the accessible functionality
is on the main widget (either a scale or a scrollbar).
2020-10-21 08:01:25 -04:00
Matthias Clasen
b7fa00e22d
Cosmetics
2020-10-21 08:01:25 -04:00
Matthias Clasen
3df0a333ad
frame: Set up accessible relations
...
Mark the child as labelled-by the label.
2020-10-21 08:01:25 -04:00
Matthias Clasen
8880e3bd2e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2729
2020-10-21 11:43:58 +00:00
Timm Bäder
0b5b908a74
Merge branch 'wip/exalm/nullable' into 'master'
...
widget: Add missing (nullable) on binding functions
See merge request GNOME/gtk!2730
2020-10-21 08:17:45 +00:00
Alexander Mikhaylenko
31a072497d
widget: Add missing (nullable) on binding functions
...
Even though they are marked as (skip), they are used in Vala and have wrong
types there atm.
2020-10-21 12:27:51 +05:00
Matthias Clasen
cbb6828657
docs: Document more accessible roles
...
Document that GtkText is skipped in accessibility.
2020-10-20 23:19:30 -04:00
Matthias Clasen
8e170217a1
Cosmetics
...
Typo fix.
2020-10-20 23:19:18 -04:00
Matthias Clasen
36d4a8090f
docs: Document more accessible roles
...
GtkColumnView and its various components use a lot
of accessible roles.
2020-10-20 23:09:11 -04:00
Matthias Clasen
341244203f
docs: Document more accessible roles
...
GtkListView and GtkGridView were missing this as well.
2020-10-20 22:53:30 -04:00
Matthias Clasen
2023914186
docs: Document accessible roles of some classes
...
GtkListBox and GtkFlowBox were missing this.
2020-10-20 22:51:11 -04:00
Matthias Clasen
ef9ec43469
a11y: Add some more tests
2020-10-20 22:44:24 -04:00
Matthias Clasen
67411701c6
inspector: Show accessible object path
...
Show the object path of the object on the a11y bus,
this is can be useful information. While we are here,
make sure that the Inspector does not throw criticals
when used with GTK_NO_A11Y=1.
2020-10-20 21:56:54 -04:00
Matthias Clasen
e20a3339bf
atsi: Fix emission of text selection changes
...
We were not emitting text-selection-changed and
text-caret-moved as expected.
2020-10-20 21:31:23 -04:00
Matthias Clasen
a8baee342c
a11y: Fix handling of LABELLED_BY relation
...
There were several places where we were confusing
GList and GSList and list->data and list->next, causing
a crash in the accessible name computation for buttons
with mnemonic labels.
2020-10-20 21:27:39 -04:00
Matthias Clasen
6a1cb3304b
docs: Mention subclassing and destroy in the migration guide
...
Mention changes regarding subclassing and life-cycle
handling in the migration guide.
2020-10-20 18:26:38 -04:00
Benjamin Otte
45400fe381
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
Closes #3280
See merge request GNOME/gtk!2725
2020-10-20 14:05:49 +00:00
Matthias Clasen
5504278b78
Merge branch 'matthiasc/for-master' into 'master'
...
Some more a11y tests
See merge request GNOME/gtk!2726
2020-10-20 05:57:45 +00:00
Matthias Clasen
93481e6c2e
a11y: Add tests for GtkFlowBox
...
Test that roles, states and properties are as expected.
2020-10-20 01:12:20 -04:00
Matthias Clasen
b9e9898212
a11y: Add tests for GtkListBox
...
Test that roles, states and properties are as expected.
2020-10-20 01:07:13 -04:00
Matthias Clasen
7c47b6907b
a11y: Add tests for GtkStack and GtkStackSwitcher
...
Test that the roles, states and relations are
as expected.
2020-10-20 00:46:07 -04:00
Matthias Clasen
b10d5ec8ff
a11y: Add a test for label properties
...
Now that we set the label property, we should test it too.
2020-10-20 00:25:39 -04:00
Benjamin Otte
8dad615f04
gtk: Remove unused header include
...
gtkcssnodeprivate.h was mainly used for repositioning CSS nodes in
gadgets, and gadgets are gone now.
2020-10-20 04:50:12 +02:00
Benjamin Otte
23e086089d
entry: Keep widget order
...
... instead of just ordering the CSS nodes.
2020-10-20 04:50:12 +02:00
Benjamin Otte
9317a9f35c
flowbox: Keep widget order
...
... instead of just ordering the CSS nodes.
2020-10-20 04:50:12 +02:00
Benjamin Otte
22100089c3
listbox: Reorder the widgets when sorting
...
... instead of just reordering the CSS nodes.
2020-10-20 04:50:12 +02:00
Benjamin Otte
074d54ef5a
listitemwidget: Remove unnecessary code
...
gtk_widget_insert_after() reorders CSS nodes properly.
2020-10-20 04:50:12 +02:00
Benjamin Otte
ddd1b0958d
notebook: Remove unnecessary code
...
gtk_widget_insert_after() reorders CSS nodes properly.
Also fix page reordering code to actually reorder the widget instead of
just the CSS nodes.
2020-10-20 04:50:12 +02:00
Benjamin Otte
d77902365d
box: Remove unnecessary code
...
gtk_widget_insert_after() reorders CSS nodes properly.
2020-10-20 04:50:12 +02:00
Benjamin Otte
d9b216e629
widget: Always update the CSS node
...
Anybody who keeps their own CSS nodes around or wants to order CSS nodes
different from widgets will from now on have to do it manually all the
time.
This is outdated behavior, nobody should be doing either of those two
things.
Also, the correct case is much more common, and not doing it
automatically was causing bugs.
Fixes #3280
2020-10-20 04:50:12 +02:00
Matthias Clasen
a7bd6b094a
Merge branch 'matthiasc/for-master' into 'master'
...
Some a11y docs and fixes
See merge request GNOME/gtk!2724
2020-10-20 01:45:17 +00:00
Matthias Clasen
eeae1b1ea7
a11y: Fix accessible tree inconsistency
...
The stack page objects were not properly integrated
in the accessible tree - they were appearing as parent
of the pages when navigating up, but not as children
of the stack when navigating down.
2020-10-19 21:15:44 -04:00
Matthias Clasen
0a71dc1bed
stack: Minor doc addition
2020-10-19 21:15:44 -04:00
Matthias Clasen
feb73a5ebb
docs: Flesh out a11y section
...
Add some advice for making custom widgets accessible.
2020-10-19 20:01:57 -04:00
Matthias Clasen
83d8ae2f30
Merge branch 'wip/chergert/fix-macos-surface-under-pointer' into 'master'
...
macos: fix discovery of surface under pointer
See merge request GNOME/gtk!2722
2020-10-19 21:26:47 +00:00
Emmanuele Bassi
51f5690ae3
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2720
2020-10-19 20:26:57 +00:00
Matthias Clasen
e58e6a0fbe
Merge branch 'a11y/editable' into 'master'
...
Improve the accessible support for editables
See merge request GNOME/gtk!2719
2020-10-19 20:16:21 +00:00
Christian Hergert
eb82b2a9ca
macos: fix discovery of surface under pointer
2020-10-19 12:35:41 -07:00
Matthias Clasen
dfc7d26275
a11y: Tweak name and description computation
...
Instead of falling back to the role nick for both,
fall back to the class name for the name, and to
the empty string for the description. This makes
labels show up in Accerciser the same way they
did in GTK 3, and seems more useful to me than
the alternative.
2020-10-19 14:58:34 -04:00
Matthias Clasen
77d1026c5a
atspi: Use name and description as provided
...
GtkATContext already does fallbacks to derive values
for these, so no need for the atspi implementation to
do its own fallback on top of that.
2020-10-19 14:57:43 -04:00
Matthias Clasen
08ae513064
label: Set the accessible label property
...
This will make label text show up in ATs again.
2020-10-19 14:29:19 -04:00
Emmanuele Bassi
f52c86ae21
docs: Add a section on a11y patterns
2020-10-19 18:39:40 +01:00
Emmanuele Bassi
03745a489c
docs: Start outlining a11y authoring practices
...
We should have documentation for application developers and widget
authors, so they can deal with the new accessibility API.
2020-10-19 18:37:30 +01:00
Matthias Clasen
63421b1876
a11y: Rename some methods
...
Our EditableText implementation works fine for any
editable, so don't name the functions in a way that
looks like they are only for entries.
2020-10-19 12:58:29 -04:00
Matthias Clasen
80e0e3fe4f
gtk-demo: Set an accessible role
...
Set the expected accessible role on the tagged entry
widget in the demo of the same name. Accessible tools
may decide to ignore widgets that have the wrong role,
so setting an appropriate role is important.
2020-10-19 12:56:50 -04:00
Matthias Clasen
ef46fe0e8e
Merge branch 'a11y/component' into 'master'
...
a11y: Implement Component
See merge request GNOME/gtk!2718
2020-10-19 16:54:45 +00:00
Emmanuele Bassi
7c7dabae8c
a11y: Rework accessible name/description computation
...
The ARIA spec determines the name and description of accessible elements
in a more complex way that simply mapping to a single property; instead,
it will chain up multiple definitions (if it finds them). For instance,
let's assume we have a button that saves a file selected from a file
selection widget; the widgets have the following attributes:
- the file selection widget has a "label" attribute set to the
selected file, e.g. "Final paper.pdf"
- the "download" button has a "label" attribute set to the
"Download" string
- the "download" button has a "labelled-by" attribute set to
reference the file selection widget
The ARIA spec says that the accessible name of the "Download" button
should be computed as "Download Final paper.pdf".
The algorithm defined in section 4.3 of the WAI-ARIA specification
applies to both accessible names (using the "label" and "labelled-by"
attributes), and to accessible descriptions (using the "description" and
"described-by" attributes).
2020-10-19 17:54:14 +01:00
Matthias Clasen
9f9e7dffef
atspi: Implement Text for more editables
...
Our Text implementation requires that we have
a GtkEditable with a delegate that is a GtkText
widget.
This change make the Text implementation work for
the custom widget in the tagged entry demo.
2020-10-19 12:44:50 -04:00
Goran Vidović
94729b4880
Update Croatian translation
...
(cherry picked from commit fab2558747 )
2020-10-19 16:37:36 +00:00
Matthias Clasen
3918dd4643
Add gtk_editable_get_delegate
...
We need access to the delegate in the a11y layer,
so we might as well make this function public.
2020-10-19 12:36:54 -04:00
Matthias Clasen
04a51837f7
atspi: Emit bounds-changed
...
This is using the new bounds_change vfunc in GtkATContext.
2020-10-19 12:19:55 -04:00
Matthias Clasen
75a0bef921
widget: Mark the size as changed when it changes
...
This notifies the AT context that the widgets size
has changed.
2020-10-19 12:19:55 -04:00
Matthias Clasen
d50ebd947c
a11y: Add bounds change api
...
Add a way for GTK to pass bounds change information
to the AT context.
2020-10-19 12:19:55 -04:00
Matthias Clasen
8e4f8a45a9
atspi: Implement Component
...
Implement the non-questionable parts of the Component interface
for accessibles which are widgets.
This does not include:
- global coordinates
- setters
- scrolling
- alpha, layers, zorder, and the like
2020-10-19 12:19:55 -04:00
Matthias Clasen
3ad03b1706
a11y: Add a separate vfunc for platform changes
...
The state_change vfunc is becoming unwieldy. Lets move
the platform changes to their own vfunc, as a start.
2020-10-19 12:09:08 -04:00
Matthias Clasen
dfe00c4ac4
atspi: Be more careful
...
We have non-widget accessibles now, so guard against
change notification being emitted on them.
2020-10-19 12:09:08 -04:00
Matthias Clasen
5bb656af4c
Cosmetics
...
Add some more fold markers.
2020-10-19 12:08:47 -04:00
Matthias Clasen
469b913cdf
Cosmetics
2020-10-19 12:00:53 -04:00
Matthias Clasen
9c1c8a554a
Cosmetics
2020-10-19 11:46:25 -04:00
Matthias Clasen
2359510b1f
Merge branch 'matthiasc/for-master' into 'master'
...
Various columnview fixes
Closes #3265 , #3272 , and #3276
See merge request GNOME/gtk!2717
2020-10-19 15:00:17 +00:00
Xavier Claessens
25a1c421b5
Merge branch 'msvc' into 'master'
...
gdkglcontext: Fix build with MSVC
Closes #3268
See merge request GNOME/gtk!2713
2020-10-19 13:46:54 +00:00
Matthias Clasen
ef308e5f17
Merge branch 'annotations_gtkaboutdialog' into 'master'
...
Add nullable return annotations in GtkAboutDialog
See merge request GNOME/gtk!2712
2020-10-19 13:46:32 +00:00
Sophie Herold
33f0809784
Add nullable return annotations in GtkAboutDialog
2020-10-19 13:46:32 +00:00
Matthias Clasen
81ee273e98
columnview: Make right-aligned content work
...
Make right-aligned content work in resized columns.
There is currently no way to make a title right-aligned,
but we can still make it work correctly. This is a follow
up to 7eb0ae39c5 .
Fixes : #3276
2020-10-19 09:39:07 -04:00
Matthias Clasen
f3fe1812aa
Adwaita: Put column separators on the left
...
When resizing columns, we clip a shrunk column
on the right, so the separator disappears in that
case unless we put it on the left side of the other
column.
2020-10-19 09:39:05 -04:00
Xavier Claessens
be8246a6cb
gdkglcontext: Fix build with MSVC
...
GLDEBUGPROC callback is defined with APIENTRY which is a windows
specific calling convention. That macro expands to nothing when building
on other platforms.
Fixes : #3268 .
2020-10-19 09:17:53 -04:00
Matthias Clasen
25d0fb4c76
columview: Make resize area a bit larger
...
This make column resizing feel less like a game
of hit-and-miss. Ultimatively, we should add an
alternative to this.
2020-10-19 08:31:37 -04:00
Matthias Clasen
98b66acbdd
columview: Implement double-click to reset headers
...
Implement the same behavior as GtkTreeView:
double-click on the header boundary resets the
header to its automatic width.
Fixes : #3272
2020-10-19 08:31:37 -04:00
Matthias Clasen
1976df1e54
columnview: Make resize cursors reliable
...
Ensure that the column resize cursor stays in place
for the duration of the resize drag. This is a bit
annoying, since the implicit grab can end up on the
header of a different column from the one we are
resizing, so just set the cursor on all column headers.
2020-10-19 08:30:22 -04:00
Matthias Clasen
39baf4fff4
columnview: Fix more issues with column resizing
...
Make it so that for overlapping resize rectangles (with
very narrow columns), we prefer the narrow column, so you
can regrow a column after shrinking it all the way.
Related: #3274
2020-10-19 08:30:05 -04:00
Matthias Clasen
a88e5a5f4e
columnview: Fix some issues with column resizing
...
Ensure that we place the resize rectangle at the visible
right edge of the column, not where the allocation ends
(we clip the header drawing, after all).
Related: #3274
2020-10-19 08:29:29 -04:00
Matthias Clasen
a39e519bed
inspector: Clear overlays on unroot
...
In dispose(), we can't access the root anymore,
since we're already unrooted.
Fixes : #3265
2020-10-17 13:11:58 -04:00
Emmanuele Bassi
e9eb385f25
Merge branch 'patch-1' into 'master'
...
Add some missing nullable return annotations
See merge request GNOME/gtk!2707
2020-10-17 14:08:29 +00:00
Xavier Claessens
a4aa6d79ad
meson: Use feature options for media and print backends
...
This gracefully disable ffmpeg, gstreamer, cups and cloudprint optional
dependencies when they are not available, while still giving full
control to distributors using -Dauto_features=enabled.
2020-10-17 09:54:47 -04:00
Xavier Claessens
ea3933b87a
meson: Make vulkan and xinerama optional deps default to 'auto'
...
It is nicer for contributors to have a build that works by default.
Distributors should be using -Dauto_features=enabled to get ride of
automagic options.
2020-10-17 09:54:47 -04:00
Xavier Claessens
6ae9f7e7c3
meson: Simplify xinerama dependency check
2020-10-17 09:54:47 -04:00
Xavier Claessens
efbbfb6547
meson: Simplify how cairo dependencies are checked
...
There is no reason to fallback to find_library for cairo and still rely
on pkg-config for all other dependencies, and just when using MSVC. When
building and pkg-config is not working it is preferable to fallback to a
subproject just like for all other dependencies.
Also add cairo.wrap now that meson support has been merged upstream.
2020-10-17 09:54:47 -04:00
Sophie Herold
cd0bef9390
Add some missing nullable return annotations
2020-10-17 15:32:36 +02:00
Matthias Clasen
5a79cc4d70
Merge branch 'wip/chergert/fix-macos-fps-calculation' into 'master'
...
macos: fix fps calculation for frame timings
See merge request GNOME/gtk!2705
2020-10-17 12:20:04 +00:00
Piotr Drąg
954855783a
Update POTFILES.in
2020-10-17 11:11:24 +02:00
Christian Hergert
7ae8ed82c9
macos: fix fps calculation for frame timings
...
We need to mark the timings as complete after adding the
presentation time so that we have a valid FPS for the overlay
widget and/or fishbowl demo.
2020-10-15 21:04:51 -07:00
Matthias Clasen
1021e12121
3.99.3
2020-10-15 23:03:03 -04:00
Matthias Clasen
5833e8afa6
Merge branch 'win32.modal' into 'master'
...
GDK/Win32: Fix modal window handling and window stacking (for GTK4)
See merge request GNOME/gtk!2675
2020-10-16 03:01:38 +00:00
Matthias Clasen
34625142f4
docs: Expand opacity docs
...
Explain the situation with popovers and opacity.
Fixes : #3246
2020-10-15 22:39:01 -04:00
Matthias Clasen
6cbf1d0379
Merge branch 'a11y-action-fixes' into 'master'
...
A11y action fixes
See merge request GNOME/gtk!2703
2020-10-16 02:19:08 +00:00
Chun-wei Fan
2cc650ced2
gdk/Win32: Fix mouse pointer capture
...
Call SetCapture() explcitly for the (new) modal window so that we make the
modal window respond to mouse input, and also call SetCapture() to the parent
of the transient window that we are destroying so that mouse input capture is
returned to the parent window.
This attempts to fix the following:
* Upon creating a new modal window, the new modal window does not receive
pointer input unless one switches to another program and back
* Upon closing a transient window, the parent window that activated the
transient window does not receive pointer input unless one switches to
another and back
2020-10-16 10:03:50 +08:00
Matthias Clasen
7165deb630
Merge branch 'fix-listbox-selection' into 'master'
...
Revert "listbox: Activate single-click rows if n_press >= 1"
Closes #3263
See merge request GNOME/gtk!2704
2020-10-16 02:03:16 +00:00
Руслан Ижбулатов
6a0c181886
GDK W32: Remove stacking functions
...
Stacking functions enforce non-native stacking behaviour that is
mostly unneeded, and doing so introduces bugs and complicates things.
2020-10-16 10:02:57 +08:00
Руслан Ижбулатов
89286af620
Revert "GDK W32: Use SWP_NOOWNERZORDER everywhere it can be applied"
...
This reverts commit fc2008f2 .
Turns out, we *don't* have code to maintain Z-order. Restacking
code is not doint that, it just enforces a few weird Z-order-related
behaviours.
2020-10-16 10:01:46 +08:00
Chun-wei Fan
bc142b9c43
GDK/Win32: Fix modal window handling
...
Make sure that we get the state of the modal window properly, and send out the
corresponding notification signals.
This will ensure that we do not try to activate windows that should have become
inactivated due to it opening modal windows and render the program unresponsive
because we are not activating the correct window that is due to receive user
input.
2020-10-16 09:56:42 +08:00
Matthias Clasen
8eb6e876bd
Revert "listbox: Activate single-click rows if n_press >= 1"
...
This reverts commit e669433cde .
This broke selection in several listbox examples.
Fixes : #3263
2020-10-15 21:46:58 -04:00
Matthias Clasen
ab61b7b9ae
atspi: Properly filter out parent actions
...
We only want to show relevant, local actions for
widgets, but _gtk_widget_get_action_muxer() will
return the muxer of a parent widget (all the way
up to the toplevel), if the widget does not have
any actions of its own. To detect this situation,
compare what _gtk_widget_get_action_muxer() returns
for the parent widget, and act accordingly.
2020-10-15 21:32:11 -04:00
Matthias Clasen
3eae91255d
atspi: Fix a thinko in action filtering
...
get_action_at_index() was trying hard to find out
which actions are valid, only to then return the
invalid ones anyway.
2020-10-15 21:31:58 -04:00
Matthias Clasen
5bbacc647c
Merge branch 'a11y/atspi-action' into 'master'
...
A11y/atspi action
See merge request GNOME/gtk!2699
2020-10-16 00:13:23 +00:00
Emmanuele Bassi
cfb327974b
a11y: Add atspi.Action for GtkPasswordEntry
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
a83d3078c2
Allow toggling the password entry visibility programmatically
...
We are going to need a method for toggling the visibility from the
accessibility layer.
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
f67345eb55
a11y: Add atspi.Action for GtkEntry
...
We need to handle the activation on the entry widget, as well as the
activation of the primary and secondary icons.
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
c10bcf0a60
Add GtkEntry icon signals emitter
...
We need a (private) way to programmatically trigger the activation of
the entry's icons, so that we can call it from the accessibility layer.
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
9ae08fc0f0
a11y: Add atspi.Action for GtkExpander
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
5f1128899c
a11y: De-duplicate some action code
...
The widgets with hard coded actions should share more code, instead of
copy-pasting it.
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
e44f27a7ed
a11y: Special case buttons and switches
...
These widgets have specific actions.
2020-10-16 00:34:01 +01:00
Emmanuele Bassi
374bd21340
Initial ATSPI Action implementation for widget
...
Use the actions from the GtkActionMuxer of each widget to populate the
list of actions available.
2020-10-16 00:34:01 +01:00
Matthias Clasen
916ef485d1
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3245
See merge request GNOME/gtk!2702
2020-10-15 21:00:44 +00:00
Matthias Clasen
92585b75fa
Fix compiler warnings
2020-10-15 16:33:35 -04:00
Matthias Clasen
4bd2595421
actionmuxer: Make it possible to enumerate local actions
...
This will be useful for exposing actions via the
AT-SPI Actions interface.
Update all callers.
2020-10-15 16:32:55 -04:00
Matthias Clasen
aa4c0bf272
spinbutton: Hide the buttons from accessibility
...
The buttons here are not really buttons (the action
is not tied to the "clicked" signal), so triggering
the buttons via a11y does not have the expected effect.
And we expose the Value interface that ATs can use
to set the value.
2020-10-15 16:32:55 -04:00
Matthias Clasen
4e04c39609
emojicompletion: Avoid a memory overrun
...
Don't read beyond the beginning of the string.
Fixes : #3245
2020-10-15 16:32:55 -04:00
Matthias Clasen
0bd5a96d71
gtk-demo: Fix some issues with the multi view demo
...
The nested window was not modal, causing it to be
inoperable. And the nested views within were all
shrunk down to nothingness. Give them some width.
Fixes : #3257
2020-10-15 14:42:43 -04:00
Matthias Clasen
7d22616a0e
Merge branch 'a11y-list-view-selection-fixes' into 'master'
...
atspi: Add fold markers
See merge request GNOME/gtk!2701
2020-10-15 17:36:47 +00:00
Matthias Clasen
8a14f019d0
atspi: Add fold markers
...
This makes it much easier to navigate in these
multi-implementation files.
2020-10-15 13:14:56 -04:00
Matthias Clasen
329efee643
Merge branch 'a11y-list-view-selection-fixes' into 'master'
...
A11y list view selection fixes
See merge request GNOME/gtk!2700
2020-10-15 17:10:00 +00:00
Matthias Clasen
bf58b6f88c
Merge branch 'ebassi/for-master' into 'master'
...
GdkWayland API cleanups
Closes #3249
See merge request GNOME/gtk!2688
2020-10-15 16:55:19 +00:00
Matthias Clasen
8701e65635
atspi: Implement Selection more correctly
...
The Selection interface is defined in terms of child
positions, so we need to always translate from that
to model positions if we want to use the selection
model apis.
2020-10-15 12:46:52 -04:00
Matthias Clasen
5f22ad8848
Remove debug spew
2020-10-15 12:19:58 -04:00
Matthias Clasen
1d40f29776
wayland: Make gdk_wayland_device_pad_set_feedback private
...
It is not a generally useful api, and awkwardly named.
2020-10-15 12:00:00 -04:00
Matthias Clasen
6d1dcaa92a
docs: Explain the symbolic icon paintable situation
...
Add a paragraph to the migration guide that explains
how to properly render symbolic GtkIconPaintables.
Also mention this in the GtkIconPaintable docs.
There's a reason you can't spell 'paintable' without
'pain'...
2020-10-15 11:42:50 -04:00
Matthias Clasen
9c28ecb0da
Merge branch 'a11y/atspi' into 'master'
...
A11y/atspi
See merge request GNOME/gtk!2698
2020-10-15 14:59:24 +00:00
Matthias Clasen
2488d71a0a
Merge branch 'clipboard-emo' into 'master'
...
gtk-demo: Fix up image handling in the clipboard demo
Closes #3252
See merge request GNOME/gtk!2697
2020-10-15 14:50:54 +00:00
Matthias Clasen
5c8663e383
Merge branch 'wip/wayland-dont-respond-to-destroyed-surface-configure' into 'master'
...
wayland/surface: Clear has_uncommitted_ack_configure when hiding
Closes #3262
See merge request GNOME/gtk!2696
2020-10-15 14:25:55 +00:00
Matthias Clasen
4b36bceb26
Merge branch 'meson-epoxy-subproject' into 'master'
...
meson: Fix error when epoxy is a subproject on Windows
See merge request GNOME/gtk!2695
2020-10-15 13:41:47 +00:00
Matthias Clasen
8cf955731f
gtk-demo: Fix up image handling in the clipboard demo
...
Using GtkIconPaintable+GtkPicture is not good for symbolic
icons - they don't get properly colored that way. So change
things around to use the icon name if we have it.
Fixes : #3252
2020-10-15 09:19:17 -04:00
Jonas Ådahl
7dfb25f124
wayland/surface: Clear has_uncommitted_ack_configure when hiding
...
The 'has_uncommitted_ack_configure' state was added to make sure we're
responding to 'xdg_surface.configure' events with
'xdg_surface.ack_configure' requests, as is necessary according to spec.
What we didn't do was to clear this state when hiding, meaning that if
we hid the surface after a configure event, but before the frame
finished and we processed the 'has_uncommitted_ack_configure', we'd try
to acknowledge the surface configuration after having destroyed the
surface.
Closes : #3262
2020-10-15 14:56:06 +02:00
Matthias Clasen
8737692b2b
atspi: Implement Selection for list views
...
This implementation works for both GtkListView and
GtkGridView, and by extension, also for GtkColumnView
and GtkDropDown, since those just use a list view
internally.
2020-10-15 08:35:06 -04:00
Xavier Claessens
fe89fd2317
meson: Fix error when epoxy is a subproject on Windows
...
epoxy_dep cannot be used in a configure time check when it comes from a
subproject. Use variables set in pc file instead.
This requires https://github.com/anholt/libepoxy/pull/231 .
2020-10-15 08:01:16 -04:00
Matthias Clasen
c7bf33a3de
columnview: Set accessible roles
...
Use the TREE_GRID, ROW, COLUMN_HEADER and GRID_CELL roles
for the various widgets involved in a GtkColumnView. To
enable this, we subclass GtkListView for the internal
list in the column view.
2020-10-15 00:16:25 -04:00
Matthias Clasen
6d562b6176
listview: Set accessible roles
...
Use the LIST and LIST_ITEM roles for GtkListView
and its children. Use the GRID and GRID_CELL roles
for GtkGridView and its children.
2020-10-14 23:34:51 -04:00
Matthias Clasen
1bf21d3dba
Document accessible roles for stacks and notebooks
...
This was forgotten when I implemented the Tabs pattern.
2020-10-14 22:27:09 -04:00
Matthias Clasen
14640cec85
flowbox: Set accessible roles
...
Use the GRID and GRID_CELL roles for GtkFlowBox
and GtkFlowBoxChild.
2020-10-14 22:20:43 -04:00
Matthias Clasen
147868a30c
listbox: Set accessible roles
...
Use the LIST and LIST_ITEM roles for GtkListBox
and GtkListBoxRow.
2020-10-14 22:18:21 -04:00
Matthias Clasen
57ebc351a9
Merge branch 'wip/chergert/fix-macos-popup-events' into 'master'
...
macos: fix popup motion and button event delivery
See merge request GNOME/gtk!2694
2020-10-15 01:41:42 +00:00
Matthias Clasen
375bd5e691
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
...
macos: fix crash when displaying a context menu
See merge request GNOME/gtk!2693
2020-10-15 01:41:06 +00:00
Matthias Clasen
f4f732694a
atspi: Add some docs
...
Add a comment that explains a few of the more subtle
points of the Atspi context tree contstruction.
2020-10-14 21:04:25 -04:00
Matthias Clasen
bf04beb711
atspi: Implement Selection for notebook tabs
...
This is a bit different from the way things were done
in GTK 3 - we follow what was done for GtkStackSwitcher,
and make the tab bar carry the GTK_ACCESSIBLE_TAB_LIST
role, and implement Selection there.
2020-10-14 21:04:25 -04:00
Matthias Clasen
08b586bb57
notebook: Set accessible roles and properties
...
Set up the necessary roles, relations and properties
for the tab patterns. This parallels what we have done
for GtkStackSwitcher, and implements the Tabs pattern
as described in the ARIA authoring guidelines.
2020-10-14 21:04:25 -04:00
Matthias Clasen
41d4c37563
atspi: Don't crash on unnamed stack pages
...
GtkNotebook creates unnamed stack pages, and we should
not crash when that happens.
2020-10-14 21:04:25 -04:00
Matthias Clasen
984e8ac5e3
gizmo: Add a way to set accessible role
...
This will be used for some of the gizmo used
inside GtkNotebook.
2020-10-14 21:04:25 -04:00
Matthias Clasen
512387afcc
atspi: Implement Selection for GtkStackSwitcher
2020-10-14 21:04:25 -04:00
Matthias Clasen
b39684b692
stackswitcher: Set up relations and states
...
Set up a CONTROLS relation between each tab button
and its page, and update the SELECTED property of
the buttons to match their active state.
2020-10-14 21:04:25 -04:00
Matthias Clasen
380488f829
stackswitcher: Use the tablist and tab roles
...
Set the tablist role on the stackswitcher itself, and
the tab role on the buttons. This is another step towards
implementing the tabs pattern for GtkStack.
2020-10-14 21:04:25 -04:00
Matthias Clasen
2370429752
accessible: Avoid realizing the context prematurely
...
platform change is called from gtk_widget_set_focusable
which is likely to be called early on in init(). We don't
want to create an AT context that early if we can help
it, e.g. since it makes it impossible to override the
accessible-role with a construct property.
2020-10-14 21:04:25 -04:00
Matthias Clasen
7c6c718e19
stack: Turn pages into accessibles
...
This requires some cleanup to remove assumptions
about accessibles being widgets in the backend,
and some code to navigate the tree with these
extra objects in between widgets.
The accessibles for stack pages have the role
GTK_ACCESSIBLE_ROLE_TAB_PANEL. This is the first
step towards implementing the tabs patterns
as described in the aria authoring guidelines
for GtkStack.
2020-10-14 21:04:17 -04:00
Christian Hergert
6e84c7c59e
macos: fix discover of surface under cursor
...
This was incorrectly reporting the toplevel surface instead of the
popup surface that was placed above it. This fixes event delivery
to popups for selecting menu items and more.
2020-10-14 16:59:38 -07:00
Christian Hergert
0af3d21573
macos: only emit popup-layout-changed after initial present
...
Otherwise we risk being re-entrant where GtkPopover will not have a
GdkPopupLayout causing other issues.
2020-10-14 16:28:44 -07:00
Christian Hergert
e089bba4f5
macos: ensure we have access to a GdkMonitor
2020-10-14 16:28:44 -07:00
Matthias Clasen
2dfced7edc
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
...
macos: fix button release events outside of window during grabs
See merge request GNOME/gtk!2692
2020-10-14 23:04:03 +00:00
Christian Hergert
b462bc35c0
macos: allow pointer release event outside surface coords
...
This helps with grab situations so that we can end it when releasing
the pointer buttons outside of the window coordinates.
2020-10-14 15:45:50 -07:00
Christian Hergert
d700cfa2ef
macos: break grabs after sending release event
2020-10-14 15:45:50 -07:00
Christian Hergert
cdb2c1698c
macos: dont send crossing events during grab
...
Fixes an issue where we can't drag scrollbars or text selections while
outside of the application window.
2020-10-14 15:45:50 -07:00
Matthias Clasen
85394b04e0
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
...
GTK4: fix macos device state query for surfaces
See merge request GNOME/gtk!2690
2020-10-14 19:10:11 +00:00
Matthias Clasen
a772d8fcac
Merge branch 'wip/baedert/for-master'
...
Leaving out the gboolean -> bool change.
2020-10-14 15:07:09 -04:00
Timm Bäder
f93784f9e7
pixbufutils: Pass calculated height value along
2020-10-14 15:06:13 -04:00
Timm Bäder
d695b15f1a
main: Make sure we don't leak axes
...
Mainly a change to appease the static analyzer
2020-10-14 15:06:13 -04:00
Timm Bäder
e1e53cd8cc
infobar: Remove unused include
2020-10-14 15:06:12 -04:00
Timm Bäder
211d669ae7
overlay: Remove empty finalize implementation
2020-10-14 15:06:12 -04:00
Timm Bäder
20bd8e56ee
gtk4-demo: Add missing margin-bottom
...
This was setting margin-end twice
2020-10-14 15:06:12 -04:00
Timm Bäder
df2d7c56c7
gtk4-demo: Remove connection to removed signal
2020-10-14 15:06:12 -04:00
Timm Bäder
8f24b7ad27
stacksidebar: Fold some functions into their only callers
2020-10-14 15:06:12 -04:00
Timm Bäder
61afb0984c
stacksidebar: Set GtkListBox:show-separators
...
Instead of doing this ourselves
2020-10-14 15:06:12 -04:00
Timm Bäder
93b12a8110
frame: Remove need_resize logic
...
gtk_widget_set_parent() will queue a resize anyway.
2020-10-14 15:06:12 -04:00
Timm Bäder
d9cc589339
windowcontrols: gtk_widget_get_root() can return NULL
2020-10-14 15:06:12 -04:00
Timm Bäder
557a363b4f
windowcontrols: decoration-layout is nullable
2020-10-14 15:06:12 -04:00
Timm Bäder
ae009b344f
stylecontext: Remove some unnused includes
2020-10-14 15:06:12 -04:00
Timm Bäder
78c343ba96
snapshot: Refactor some device code
...
Make a bit clearer what this does.
2020-10-14 15:06:12 -04:00
Timm Bäder
eca3eab96f
Remove unneeded gtkstylecontext.h includes
2020-10-14 15:06:12 -04:00
Timm Bäder
2bcef7f030
stylecontext: Remove render_insertion_cursor()
...
This is unused and there already is a snapshot alternative.
2020-10-14 15:06:12 -04:00
Timm Bäder
18c4bdad6f
widget: Remove gtk_widget_list_devices() from private header
2020-10-14 15:06:12 -04:00
Timm Bäder
f20795471c
window: Remove unused struct member
2020-10-14 15:06:12 -04:00
Timm Bäder
ec8f329332
widget: Slightly update opacity docs
2020-10-14 15:06:12 -04:00
Timm Bäder
07fb33c033
gl renderer: Fix private function name
...
It's a GskGLRenderer, not a GskGLRender
2020-10-14 15:06:12 -04:00
Timm Bäder
1fe7043be4
gl renderer: Add more scale_x/scale_y code
...
We really need all of this to be aware of both dimensions of course...
2020-10-14 15:06:12 -04:00
Timm Bäder
0e6014f2f6
gl renderer: Remove two unused uniforms
2020-10-14 15:06:12 -04:00
Timm Bäder
0a4d442849
gl renderer: return empty texture for too small blurred nodes
2020-10-14 15:06:12 -04:00
Timm Bäder
5f9fa13c65
gl renderer: Use op builder to render flipped texture
...
Otherwise, we don't know about the uniform state
2020-10-14 15:06:12 -04:00
Timm Bäder
da0abfce3a
showrendernode: Plug GOptionContext memory leak
2020-10-14 15:06:12 -04:00
Timm Bäder
161b171004
gl renderer: Remove unused parameter
2020-10-14 15:06:12 -04:00
Timm Bäder
4eee6e732b
filechooserwidget: Cosmetics
2020-10-14 15:06:12 -04:00
Timm Bäder
958e4be86d
testfilechooser: Stop listening to ::selection-changed
...
Doesn't exist anymore.
2020-10-14 15:06:12 -04:00
Timm Bäder
eb345cd033
gl renderer: Use nearest filtering for textures in render_texture()
...
Makes the output in the node editor a bit more bearable.
2020-10-14 15:06:12 -04:00
Timm Bäder
ef7c5747c4
build: Only add -Wcast-align for gcc
...
Either we or clang needs to get its shit together about this warning.
But using it during development with clang just makes actually usable
warnings get lost in a flood of -Wcast-align warnings.
2020-10-14 15:06:12 -04:00
Timm Bäder
f456438051
vulkan: Remove double initialization
...
Clang said:
../gsk/vulkan/gskvulkanrenderpass.c:250:5: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.render.node = node
^~~~~~~~~~~~~~~~~~~
../gsk/vulkan/gskvulkanrenderpass.c:249:13: note: previous initialization is here
.type = GSK_VULKAN_OP_FALLBACK,
^~~~~~~~~~~~~~~~~~~~~~
2020-10-14 15:06:12 -04:00
Timm Bäder
4735c27e69
gl renderer: Avoid some code duplication
2020-10-14 15:06:12 -04:00
Timm Bäder
44f10c5861
gl renderer: Flip texture in render_texture()
2020-10-14 15:06:12 -04:00
Timm Bäder
44d1e81ae9
glsl: Add a comment
2020-10-14 15:06:12 -04:00
Timm Bäder
c5909d4dc4
gtkbuilder: Remove pointless function prototype
2020-10-14 15:06:12 -04:00
Timm Bäder
9698cd67a1
gdkgl: Remove flipping when downloading GL texture
...
This fix is correct and fixes:
1) GL textures being upside down in the inspector. They are getting
downloaded because they've been created in a different GL context
2) GL textures being upside down in the cairo renderer (same reason)
However, it breaks the testsuite. We do the flipping via the projection
matrix, but most of the shaders don't care about that.
2020-10-14 15:06:12 -04:00
Timm Bäder
d4efb5b738
gdkgl: Stop getting the clip region from cairo
...
Unused
2020-10-14 15:06:12 -04:00
Timm Bäder
ddcff9eb0f
gl renderer: simplify ->render() implementation a bit
...
We already use self->scale_factor when initialized whole_surface,
so set self->scale_factor first.
2020-10-14 15:06:12 -04:00
Timm Bäder
9fe21b7181
shaderbuilder: Print error message after source code
...
My terminal scrolls down, so showing the error message last makes sense.
2020-10-14 15:06:12 -04:00
Timm Bäder
7bf858b9d0
gl renderer: Add a helper to setup projection matrix
2020-10-14 15:06:12 -04:00
Timm Bäder
bc034d1190
gl renderer: Ignore rendering if accumulated opacity is too small
2020-10-14 15:06:12 -04:00
Timm Bäder
904772c719
gdkgl: Rename function
...
This returns the name of the shader type.
2020-10-14 15:06:12 -04:00
Timm Bäder
7222a0901d
unblurred outset shadow shader: Use premultiply()
2020-10-14 15:06:12 -04:00
Timm Bäder
a0bb248bb3
gl renderer: Use premultiply() in inset shadow shader`
2020-10-14 15:06:12 -04:00
Timm Bäder
0dc0b03d6f
glarea demo: Add min size to gl area
2020-10-14 15:06:12 -04:00
Timm Bäder
9f574a596f
gdkgl: Remove unused cairo_get_matrix() call
2020-10-14 15:06:12 -04:00
Timm Bäder
4b8f3e9b92
colorscale: Refactor creating the hue texture
...
Make this a bit shorter and don't call gtk_hsv_to_rgb in the inner
loop as that is unnecessary.
2020-10-14 15:06:12 -04:00
Timm Bäder
769b15c29b
colorplane: Remove (un)realize handlers
...
Creating the texture in realize() is unnecessary these days, since we
can just rely on size_allocate to do that.
2020-10-14 15:06:12 -04:00
Timm Bäder
8e9a810045
colorutils: Refactor hsv_to_rgb and fold into only caller
2020-10-14 15:06:12 -04:00
Timm Bäder
663ae67935
colorplane: Refactor create_texture()
...
Create a R8G8B8 texture here so we don't waste memory and do work for
an alpha channel we don't care about.
2020-10-14 15:06:12 -04:00
Timm Bäder
76e4002226
colorutils: Remove unused macro
2020-10-14 15:06:12 -04:00
Timm Bäder
ae71fe3739
colorplane: Whitespace
2020-10-14 15:06:12 -04:00
Emmanuele Bassi
66ce0cbec0
Generate introspection for GdkWayland API
...
Like we do for GdkX11. We can't use all of the public C API, but we can
expose enough type information to allow non-C developers to actually
check if they are running the Wayland GDK backend or not—plus some
additional Wayland-specific API.
2020-10-14 15:06:12 -04:00
Emmanuele Bassi
fe871f9d46
Add type annotations for GdkWayland API
...
The GdkWayland API takes generic GDK types and performs a run time
check, which means we need to properly annotate the actual expected
type in order to have methods recognised as such.
2020-10-14 15:06:12 -04:00
Emmanuele Bassi
40e4f3758e
Skip GdkWayland symbols that use wayland-client types
...
The wayland-client API does not have introspection annotations, so we
can't use these types anyway.
2020-10-14 15:06:12 -04:00
Aurimas Černius
2fb1f4a747
Updated Lithuanian translation
2020-10-14 15:06:12 -04:00
Christian Hergert
fb02c99868
macos: port gtk to GDK_WINDOWING_MACOS
...
For the various uses of GDK_WINDOWING_QUARTZ, we need to use
alternatives from GDK_WINDOWING_MACOS.
Some minor loss of functionality is here, such as icons sent with
application menus. That can certainly be added back at a future
point.
2020-10-14 15:06:12 -04:00
Christian Hergert
036b56a43b
gtk: use GDK_WINDOWING_MACOS in gentypefuncs.py
2020-10-14 15:06:12 -04:00
Christian Hergert
9279c2cbd1
gdk: remove quartz subdirectory from backends
2020-10-14 15:06:12 -04:00
Christian Hergert
aed279ed4e
macos: add key equivalent helper
...
This is needed by quartz code in gtk/.
2020-10-14 15:06:12 -04:00
Christian Hergert
cc2e69cbd8
macos: remove workaround for scroll delta
...
This gets handled differently in gtk/ and so we shouldn't translate it here.
2020-10-14 15:06:12 -04:00
Christian Hergert
ff279d03b2
macos: track various changes in GDK
2020-10-14 15:06:12 -04:00
Christian Hergert
1519b40ffa
macos: lookup NSEvent by translated GdkEvent
...
This will be needed by the quartz imcontext.
2020-10-14 15:06:12 -04:00
Christian Hergert
28d2e608f9
macos: move input method names to private header
2020-10-14 15:06:12 -04:00
Piotr Drąg
c753f8f30b
Update Polish translation
2020-10-14 15:05:46 -04:00
Marek Černocký
58769467cf
Updated Czech translation
2020-10-14 15:05:46 -04:00
Matthias Clasen
8a361f901d
gtk-demo: Keep undisplayable resources out of view
...
No point in showing an apologetic tab for a blob of binary data.
gtk4-demo shows the resources under /DEMONAME/ for each demo,
so move the data to /DEMONAME_data/.
2020-10-14 15:05:46 -04:00
Matthias Clasen
9b26660095
Send focus events to the root
...
We are not propagating focus change events, and that is the only
place where we are listening for focus change events. If GtkWindow
does not see focus-in events for its popovers, we end up with
inadvertendly inactive windows.
Fixes : #3240
2020-10-14 15:05:46 -04:00
Matthias Clasen
8dce92e82b
window: Be more careful when looking for focus
...
When passing focus up to a parent, make sure the
newly chosen focus widget actually accepts the focus.
2020-10-14 15:05:46 -04:00
Matthias Clasen
2d927d0ee0
build: Require sysprof 3.38.0
...
We use sysprof_collector_request_counters, which
was introduced in sysprof 3.38.0.
2020-10-14 15:05:46 -04:00
Matthias Clasen
2273e27808
gtk-demo: Ellipsize columns in the characters demo
...
some of the columns have uneven widths, causing them
to bounce around as you scroll. Ellipsize them and
give them a fixed with.
2020-10-14 15:05:46 -04:00
Matthias Clasen
2bdc8c7d9e
docs: Add more details to the migration guide
...
Add some details about GdkSurface and GtkWindow api changes.
Fixes : #3242
2020-10-14 15:05:45 -04:00
Christian Hergert
9f01d4fe44
macos: fix coordinates and state when querying device
...
When querying a device, we need to ensure we are providing coordinates
in the coordinate system of the surface. Further, we need to actually
provide the button and keyboard state.
This fixes some issues related to dragging scrollbars and selecting list
box rows more reliably.
2020-10-14 11:34:44 -07:00
Christian Hergert
d5b5410b8f
macos: use simple monotonic for event serial
2020-10-14 11:34:44 -07:00
Christian Hergert
d6abc125ad
macos: fix compiler warnings
2020-10-14 11:34:44 -07:00
Matthias Clasen
2142c6c086
docs: Fix a copy-paste error
2020-10-14 08:23:06 -04:00
Emmanuele Bassi
9377192102
Correctly annotate gdk_wayland_seat_get_wl_seat()
...
We expect a `GdkWaylandSeat` as the instance parameter.
2020-10-14 11:57:06 +01:00
Emmanuele Bassi
da007ac97b
Add a public header for GdkWaylandSeat
...
We have public API requiring it as a type.
2020-10-14 11:55:34 +01:00
Jakub Steiner
974ce500d6
Merge branch 'wip/jimmac/sidebar-hover-selected-focus' into 'master'
...
Adwaita: selected:hover and focus:selected:hover states
Closes #3251
See merge request GNOME/gtk!2686
2020-10-14 07:36:06 +00:00
Matthias Clasen
b818b34143
Cosmetics
...
Fix a few copy-paste errors.
2020-10-13 21:27:56 -04:00
Matthias Clasen
32d8db103a
Cosmetics
...
Avoid typo-prone repetition of the full interface names.
We have them in the introspection data already.
2020-10-13 18:58:25 -04:00
Matthias Clasen
9955d900db
dropdown: Use the combox accessible role
...
Its really just a combobox with another name.
2020-10-13 18:31:53 -04:00
Matthias Clasen
e3620bdc22
combobox: Use the combobox accessible role
...
Makes sense.
2020-10-13 17:53:39 -04:00
Matthias Clasen
b15328e0d6
atspi: Implement Selection for GtkFlowBox
...
This is a copy of the listbox implementation.
2020-10-13 17:24:06 -04:00
Matthias Clasen
2664c29454
flowbox: Update accessible state for children
...
Set the SELECTED state to reflect whether the selected
is selected, unselected, or unselectable. This is
enough to make selection changes appear in Accerciser.
While we are at it, also set the multi-selectable
property for the flowbox itself.
2020-10-13 17:24:06 -04:00
Matthias Clasen
db97f99359
atspi: Implement Selection for GtkComboBox
...
This doesn't really work in Accerciser. But then,
neither does the GTK 3 implementation from which
this is copied.
2020-10-13 17:24:06 -04:00
Matthias Clasen
caeea0e368
Remove excessively spammy debug messages
...
Non need to announce the same things for every context
we create, and the path is not really that interesting.
without knowing what it belongs to. I would suggest to
make it visible in the inspector instead, so you can
look it up for the widgets you are interested in.
2020-10-13 17:24:06 -04:00
Matthias Clasen
d0753f645e
Fix compiler warnings
2020-10-13 17:24:06 -04:00
Matthias Clasen
81e107885c
Remove some unused code
2020-10-13 17:24:06 -04:00
Matthias Clasen
8f4bc4a65d
atspi: Fix a variant parser oversight
...
When you pass a variant, the format needs an @.
GVariant is not your friend.
2020-10-13 17:24:06 -04:00
Matthias Clasen
08f57d5c3d
atspi: Implement Selection for listbox
...
Implement the selection interface for GtkListBox.
This also includes a convenience api for context
addresses: gtk_at_spi_context_to_ref.
2020-10-13 17:24:06 -04:00
Matthias Clasen
3cc9ac406d
listbox: Update accessible state for rows
...
Set the SELECTED state to reflect whether the row
is selected, unselected, or unselectable. This is
enough to make selection changes appear in Accerciser.
While we are at it, also set the multi-selectable
property for the listbox itself.
2020-10-13 17:24:06 -04:00
Jakub Steiner
f1e9f853de
Adwaita: selected:hover and focus:selected:hover states
...
- getting pretty deep, but visually seems to make sense. Selected row hovers
increase contrast.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3251
2020-10-13 21:27:17 +02:00
Matthias Clasen
18b6c4e69d
Merge branch 'wip/carlosg/for-master' into 'master'
...
Cascade-close popovers by default
Closes #3200
See merge request GNOME/gtk!2685
2020-10-13 19:25:59 +00:00
Matthias Clasen
ccbacb5cce
Fix the build
...
I forgot a few casts in a02c50e72f .
2020-10-13 11:23:13 -04:00
Carlos Garnacho
a939203e6e
gtkmodelbutton: Drop special case to close GtkPopoverMenu
...
With ::cascade-popdown in place, this special case is not necessary
anymore.
2020-10-13 16:55:53 +02:00
Carlos Garnacho
3ba60b06fe
gtkpopover: Remove GtkPopoverMenu special case
...
Now that there's ::cascade-popdown, we don't need to treat
GtkPopoverMenu especially here.
2020-10-13 16:55:53 +02:00
Carlos Garnacho
024d832d94
gtkpopover: Add cascade-popdown property/functions
...
And honor it in gtk_popover_popdown(). By default, a GtkPopover
pops down automatically if a child popover was closed, if this
property is FALSE, the popover will remain opened.
2020-10-13 16:55:53 +02:00
Matthias Clasen
b909455154
atspi: Fix up the role for password entries
...
We use to set the the 'password text' role for entries with
visibility = FALSE. Nowadays, we have a separate class for
password entries, so fix up the role mapping based on that.
2020-10-13 10:52:43 -04:00
Matthias Clasen
bf0f3a82cf
atspi: Make text change notification work
...
Make text change notification work for editables, by connecting
to the ::insert-text and ::delete-text signals on the wrapped
GtkText widget, and for GtkTextView by connecting to the
corresponding GtkTextBuffer signals.
This code is more or less directly copied from GtkTextViewAccessible
and GtkEntryAccessible in GTK 3.
2020-10-13 09:44:04 -04:00
Matthias Clasen
a02c50e72f
text: Make editable signals work again
...
Since the big editable reorg, GtkText was not emitting
::insert-text and ::delete-text, as is expected of
editables. We want to use those signals for a11y
change notification, so make them work again.
2020-10-13 00:49:10 -04:00
Matthias Clasen
81440675af
atspi: Set placeholder-text attribute
...
This is how GTK3 passes placeholder-text to orca,
and it works - orca reads it.
2020-10-12 23:31:03 -04:00
Matthias Clasen
3af56f5216
atspi: Implement EditableText interface for the entry wrappers
...
Drop the EditableText implementation for GtkText,
and implement it for all the wrapper widgets instead.
2020-10-12 22:07:18 -04:00
Matthias Clasen
63dd0405c7
accessible: Add some docs
...
Explain briefly how a11y works for entry wrappers
(since I won't remember a few months from now).
2020-10-12 21:58:49 -04:00
Matthias Clasen
b7ac660f37
atspi: Implement Text interface for the entry wrappers
...
Drop the Text implementation for GtkText, and implement
it for all the wrapper widgets instead.
2020-10-12 21:45:48 -04:00
Matthias Clasen
76b87272a6
spinbutton: Implement GtkAccessible
...
This copies what was done for GtkEntry: get
the focused state from the GtkText within.
We also add a private getter for the text widget,
which was missing here.
2020-10-12 21:45:48 -04:00
Matthias Clasen
852c72fa28
passwordentry: Implement GtkAccessible
...
This copies what was done for GtkEntry: get
the focused state from the GtkText within.
2020-10-12 21:45:48 -04:00
Matthias Clasen
f796d02fea
searchentry: Implement GtkAccessible
...
This copies what was done for GtkEntry: get
the focused state from the GtkText within.
2020-10-12 21:45:48 -04:00
Matthias Clasen
8faf1f64ee
entry: Implement GtkAccessible
...
Override the get_platform_state vfunc to get
the focused state from the GtkText widget within.
2020-10-12 21:45:48 -04:00
Matthias Clasen
8182fab4d9
text: Ignore text widgets for a11y
...
We want to implement the Text interface on the
wrapper entries.
2020-10-12 21:45:48 -04:00
Matthias Clasen
d0d7848cf2
atspi: Use gtk_accessible_get_platform_state
2020-10-12 21:45:48 -04:00
Matthias Clasen
ade9e4b82a
accessible: Add gtk_accessible_get_platform_state
...
As a companion to go with the platform_change api,
add a gtk_accessible_get_platform_state() function
that can be used by backends to get the platform
state.
This is in preparation for making entries inherit
their focus states from the text widget within.
2020-10-12 21:45:41 -04:00
Matthias Clasen
663934b2dc
atspi: Use gtk_accessible_should_present
...
Replace explicit visibility check by this
more general method of determining whether
an accessible should be presented to the
a11y layer.
2020-10-12 21:43:17 -04:00
Matthias Clasen
d9adc1b5aa
accessible: Add a way to hide accessibles
...
Similar to gtk_widget_should_layout(), add a
gtk_accessible_should_present() function that backends can
use to determine whether an accessible should be presented
or not.
Ways to make a widget not presented in a11y:
- hide the widget
- set its role to NONE
- make it have a NULL AT context
We will use this in future to hide the GtkText inside
an entry, since the Text implementation will be done
by the wrapper.
2020-10-12 21:43:17 -04:00
Matthias Clasen
3bfb32e699
Cosmetics
2020-10-12 21:43:17 -04:00
Matthias Clasen
5eb482ebaa
atspi: Treat all entries the same for collecting state
...
We are determining editable state based on the
accessible role (although we could make it platform
state now), so cover all the roles that we use for
entry wrappers.
2020-10-12 21:43:17 -04:00
Matthias Clasen
61474b5a94
atspi: Fix collecting states
...
This is somewhat embarrassing.
2020-10-12 21:42:51 -04:00
Matthias Clasen
8f63443393
Fix the build
2020-10-12 21:37:09 -04:00
Matthias Clasen
dd650ff90e
atspi: D-Bus methods return tuples
...
I've learned this the hard way: When returning a
value from a D-Bus call, the variant construct must
*always* be g_variant_new ("(...)"...
2020-10-12 15:50:36 -04:00
Matthias Clasen
101cbe690e
Don't unref a floating variant
...
It gets consumed somewhere along the way.
2020-10-12 15:10:40 -04:00
Matthias Clasen
62747eb243
atspi: Unregister objects on the bus
...
When a widget is going away, we need to remove
the context from the bus, or else ATs might have
the idea to call methods on them, leading to badness.
2020-10-12 15:10:40 -04:00
Matthias Clasen
d432cbb02b
atspi: Emit property changes for focus
...
With this orca, actually speaks \o/. Sadly, it only
says 'gtk modelbutton widget' so far, but its a start.
2020-10-12 15:10:40 -04:00
Matthias Clasen
45e82adf87
atspi: Cosmetics
...
Use simple wrappers instead of opencoding bit twiddling
all over the place.
2020-10-12 15:10:40 -04:00
Matthias Clasen
a2d220edfa
widget: Notify a11y of focus changes
...
This is using the new 'platform changes' mechanism
to tell the a11y backends when focus changes.
2020-10-12 15:10:40 -04:00
Matthias Clasen
b5ee73d299
a11y: Pass on platform changes
...
Add an enum for 'platform changes' to the at context
change notification mechanism. This will let us pass
along things that ARIA considers 'platform state' such
as focus or editability. The difference between the
platform state and other ARIA states is that we don't
keep the platform state separately in the at context
- backends are expected to just query the widgets.
This is just about avoiding notify listeners for
change notification.
2020-10-12 15:10:40 -04:00
Matthias Clasen
578c8b5068
atspi: Be more careful about indexes
...
Don't return a number for IndexInParent when we
don't have one.
2020-10-12 15:10:40 -04:00
Matthias Clasen
f9ee23825e
atspi: Set some more atspi states
...
Pass on more of the states that are represented
as properties in aria: modal, multi-line, orientation.
2020-10-12 15:10:40 -04:00
Matthias Clasen
35f70d5a99
Pass orientation property to accessible
...
We should set the accessible properties we have,
where they make sense. So set orientation, if the
widget is orientable.
2020-10-12 15:10:40 -04:00
Matthias Clasen
54f1eb4c04
wip: Emit StateChanged signals
...
This is not fully baked, but it is enough to make accerciser
notice when a text entry goes from editable to not editable.
2020-10-12 15:10:40 -04:00
Matthias Clasen
66a81f1187
atspi: Derive readonly state from aria properties
...
We can use the read-only property, together with the
accessible role, to determine whether to set editable
and read-only states for at-spi. This lets us avoid
directly poking at the widgets.
2020-10-12 15:10:40 -04:00
Matthias Clasen
2a5af4e1d6
text: Set the readonly accessible property
...
This mirrors what we already do for GtkTextView.
2020-10-12 15:10:40 -04:00
Matthias Clasen
d37b0357b3
atspi: Set editable state
...
ATs look at not just the implemented interfaces, but
also the states to decide what to do. It turns out that
the EditableText interface is only used by accerciser
if the editable state is set. So set it.
2020-10-12 15:10:40 -04:00
Matthias Clasen
aea25cbbe5
atspi: Implement EditableText interface
...
Implement EditableText for GtkText and GtkTextView.
2020-10-12 15:10:40 -04:00
Matthias Clasen
a72a7d4aeb
atspi: Break out the Value implementation
...
This isn't necessarily very big, but it keeps
the widget checks out of gtkatspicontext.c, and
it is a nice pattern.
2020-10-12 15:10:40 -04:00
Matthias Clasen
d38182bb5d
atspi: Break out the Text implementations
...
Move the implementation of the Text interface
to its own source file, and split it up along
widget lines, to avoid it becoming too messy.
2020-10-12 15:10:40 -04:00
Matthias Clasen
f22edccb2a
scalebutton: Set accessible value properties
...
This is what we did in GTK 3.
2020-10-12 15:10:40 -04:00
Matthias Clasen
dc9fee6185
paned: Set accessible value properties
...
This is what we did in GTK 3.
2020-10-12 15:10:40 -04:00
Matthias Clasen
776b4aee0c
Simplify GetInterfaces handling
...
It is error prone to keep the same conditions in sync
in two places. Instead, just assemble the list of interfaces
as we register objects, and use when GetInterfaces is called.
2020-10-12 15:10:40 -04:00
Matthias Clasen
d37782c533
atspi: Implement Value for more widgets
...
Apply the Value implementation to the widgets where
we had one in GTK 3: GtkLevelBar, GtkRange, GtkScaleButton,
GtkSpinButton, GtkPaned, GtkProgressBar. To make these
work, the widgets need to set the accessible value properties.
2020-10-12 15:10:40 -04:00
Matthias Clasen
8c3e5124c2
atspi: Implement Value interface for ranges
2020-10-12 15:10:40 -04:00
Matthias Clasen
190059dca1
atspi: Implement Text interface for text views
...
With this, all relevant widgets support the
Text interface.
2020-10-12 15:10:40 -04:00
Matthias Clasen
925ef1f90f
atspi: Add textview utilities
...
These are very similar to the pango utilities,
and are copying code from the textview accessible
implementation in GTK 3.
2020-10-12 15:10:40 -04:00
Matthias Clasen
ba63daa1d2
atspi: Export more pango utils
...
We are going to reuse some of the code that does
the pango -> atspi attribute conversion for text
tags.
2020-10-12 15:10:40 -04:00
Matthias Clasen
5b076fee12
atspi: Implement text for GtkText widgets too
...
There is some open question here whether the interface
should be implemented on the outer or the inner widget
of the entry-text pairs. For now, our hand is forced,
since only GtkText provides access to the layout that
we need for implementing many of the interface methods.
2020-10-12 15:10:40 -04:00
Matthias Clasen
b80272a7e7
atspi: Implement Text interface for labels
...
This is a not-quite-complete implementation of the
Text interface for GtkLabel. The missing parts are
anything around extents and positions, as well as
the ScrollSubstring apis.
2020-10-12 15:10:40 -04:00
Matthias Clasen
7c8a16812e
atspi: Add pango utilities
...
This code is more or less a direct copy of what
we had in gtkpango.c in 3.x.
2020-10-12 15:10:40 -04:00
Matthias Clasen
ddb72accc0
atspicontext: Fix GetIndexInParent for toplevels
...
For toplevels, we need to return the index in the
list of toplevels, since that is what GtkAtspiRoot
is using.
2020-10-12 15:10:40 -04:00
Matthias Clasen
824ab7e4ed
atcontext: labelled-by has a reference list
...
This is unclear - our docs state that all the
relations have value type reference, but in fact
they all have value type reference list.
2020-10-12 15:10:40 -04:00
Matthias Clasen
3a867e26d0
atspicontext: Implement GetRelationSet
...
This translates relations as far as the match.
I'm not sure yet what we can do about the fact that
atspi expects relations to be bidirectional (ie have
label-for *and* labelled-by) while aria has only one
direction.
2020-10-12 15:10:40 -04:00
Matthias Clasen
e269cb7a81
atspiroot: Stub out GetRelationSet
...
This needs to be fully implemented, for now sending
an empty relation set back prevents accerciser from
getting hung up.
2020-10-12 15:10:40 -04:00
Matthias Clasen
0ae2ae7944
atspi: Add the AtspiRelationType enum
...
This is what we need to map the aria relation
types to.
2020-10-12 15:10:40 -04:00
Matthias Clasen
5db6c4b038
Move atspi enums to gtkatspiprivate.h
2020-10-12 15:10:40 -04:00
Matthias Clasen
db6bd018ca
Add a GetInterfaces method
...
It turns out that accerciser depends on this undocumented
method that is not in the xml at all, otherwise interface
sections in the accerciser ui never get enabled.
2020-10-12 15:10:40 -04:00
Matthias Clasen
9d43e5bd59
Don't pass NULL to g_variant_new_string
...
That does not work.
2020-10-12 15:10:40 -04:00
Matthias Clasen
edfc55ae89
atspi utils: Fix an oversight
...
gtk_accessible_role_to_atspi_role must always return
an atspi role. The fallback was returning an aria
role.
2020-10-12 15:10:40 -04:00
Matthias Clasen
d6b64b5e29
Fixup: Add a forgotten #pragma once
2020-10-12 15:10:40 -04:00
Emmanuele Bassi
13aa053f6b
Rename libgtk_only symbol in GdkWaylandToplevel
...
All public non-exported symbols in GDK can be used by GTK.
2020-10-12 16:49:10 +01:00
Emmanuele Bassi
4f316f3249
docs: Remove private GdkWayland API from the reference
2020-10-12 16:44:36 +01:00
Emmanuele Bassi
38304fc138
Hide gdk_wayland_display_prefers_ssd()
...
The function is not exported, so it should not be in a public header.
2020-10-12 16:44:05 +01:00
Emmanuele Bassi
da6c0f3ecb
Move private GdkSurface Wayland API into its own header
...
This allows us to hide private API from installed headers,
documentation, and introspection.
2020-10-12 16:40:19 +01:00
Emmanuele Bassi
9ce790032d
a11y: Convenience API for referencing ATSPI root node
...
We turn the root node into a reference fairly often, so it's worth it to
have a utility function that does this for us.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
35163bd7cc
a11y: Add utility function for null refs
...
ATSPI was written for CORBA, which allows passing around "nil"
as valid object references.
2020-10-12 16:19:32 +01:00
Matthias Clasen
9d0952bd7f
atspicontext: Implement GetState
...
Translate the aria states to at-spi's interpretation
of atk states.
2020-10-12 16:19:32 +01:00
Matthias Clasen
e189ccc8ed
atspiroot: Fix GetState implementation
...
When the GetState signature says 'au', it actually
means a bitset that is sent as a pair of 32bit integers.
2020-10-12 16:19:32 +01:00
Matthias Clasen
762fbf34fc
atspiroot: Implement GetIndexInParent
...
Just for good measure
2020-10-12 16:19:32 +01:00
Matthias Clasen
9f73638d43
atspicontext: Implement GetIndexInParent
...
This is needed for ATs to take our tree seriously.
2020-10-12 16:19:32 +01:00
Matthias Clasen
057b447137
atspicontext: Implement more accessible api
...
Implement GetChildAtIndex, GetChildren and ChildCount.
2020-10-12 16:19:32 +01:00
Matthias Clasen
78690845b1
atspiroot: Implement GetChildren
...
No surprises here.
2020-10-12 16:19:32 +01:00
Matthias Clasen
2ea338a8cf
atspiroot: Don't leak references
...
The reffing getter trap, lurking behind g_list_model_get_item().
2020-10-12 16:19:32 +01:00
Matthias Clasen
e2f3039663
atspiroot: Implement GetLocale
2020-10-12 16:19:32 +01:00
Matthias Clasen
8f20133769
atspicontext: Print out the a11y bus address
...
Make our debug spew useful: Having the bus address
makes it easy to jump on the a11y bus to look around
with dbus tools.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
55b1fbd0f3
a11y: Localise the role name of the root node
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
b57f1588df
a11y: Register the Accessible interface on all AtSpiContext instances
...
This is not a complement implementation.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
60acdb9cad
a11y: Implement more ATSPI methods on the root node
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
07759b158a
a11y: Add method to extract desktop data
...
We are going to need the desktop name and path to populate the parent
property of AtSpiContexts associated to top level widgets.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
9511c8273a
a11y: Validate the DBus context path
...
UUIDs use dashes to separate the various blocks; unfortunately, this
results in an invalid DBus object path. Replace the dashes with an
underscore.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
b85b1f5b51
a11y: Turn accessible roles to string
...
Add a simple utility function to turn GtkAccessibleRole values into the
appropriate string, including localization.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
716024d882
a11y: Convert GTK roles to ATSPI ones
...
There's not a precise, 1:1 mapping between the newer ARIA roles and the
older ATSPI ones. We make do with what we have.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
21482e8264
a11y: Compute the label for a GtkATContext
...
The ARIA spec defines the mechanism for determining the name of an
accessible element—see §4.3 of the WAI-ARIA spec.
We follow the specification as much as it makes sense for GTK to do
so:
1. if the element is hidden, return an empty string
1. if the element has a labelled-by relation set, retrieve the
label of the related element
2. if the element has a label property set, use the value of
the property
3. if neither labelled-by nor label attributes are set, we use
the role to compute the name:
- for a `range` role, we return the contents of the value of
the `value-text` or `value-now` properties
- for any other role, we return a textual representation of
the GtkAccessibleRole enumeration value
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
88113956a3
tests: Use the test ATContext for every test
...
Otherwise we're going to need a full desktop session in order to run the
test suite.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
e6c5d57ffe
a11y: Return the ATSPI role for the root element
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
d7ebf18723
a11y: Add AT-SPI cache object
...
Right now, the cache is unused, and we still need to implement the
serialisation method and emit the signals.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
658d910967
a11y: Ignore widgets during destruction
...
There's no point in creating a GtkATContext when a widget is getting
destroyed.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
bd43e9cfc5
a11y: Register the accessible root object
...
When we create the first AT-SPI context we also need to register the
accessible root on the accessibility bus. The accessible root object is
the main entry point of an accessible application, and it holds the
global state to present to the ATs that connect to the bus.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
8c18480092
a11y: Add a display to GtkATContext
...
Since we need to check at run time what kind of AT context to use, we
need a hook into the whole GDK backend machinery. The display connection
seems to be the best choice, in this case, as it allows us to determine
whether we're running on an X11 or Wayland system, and thus whether we
should create a GtkAtSpiContext.
This requires some surgery to fix the GtkATContext creation function, in
order to include a GdkDisplay instance.
2020-10-12 16:19:32 +01:00
Emmanuele Bassi
8f19bb0832
a11y: Add dummy AT-SPI context
...
Does not do anything, at the moment, but it's going to get filled out
soon.
The backend is selected depending on the platform being compiled in;
since we're using AT-SPI on X11 and Wayland, and we don't have other
accessibility implementations, we currently don't care about run time
selection, but we're going to have to deal with that.
2020-10-12 16:19:31 +01:00
Emmanuele Bassi
c50916d27b
a11y: Add the AT-SPI DBus descriptions
...
And generate the code for the DBus interfaces.
We don't want the full object manager experience, here, because we're
going to have a single object responding to various interfaces and
remote method calls. For this reason, we're not using the gnome module
in Meson to call gdbus-codegen for us: we need to use the interface info
command line arguments, and those are not available from Meson.
2020-10-12 16:19:31 +01:00
Emmanuele Bassi
4b60e7470a
Use test AT context with installed tests
...
Otherwise we're going to need an AT-SPI service on the session, and the
accessibility bus.
2020-10-12 16:19:31 +01:00
Matthias Clasen
77d4729483
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2683
2020-10-12 14:39:39 +00:00
Emmanuele Bassi
daac36ea4c
Generate introspection for GdkWayland API
...
Like we do for GdkX11. We can't use all of the public C API, but we can
expose enough type information to allow non-C developers to actually
check if they are running the Wayland GDK backend or not—plus some
additional Wayland-specific API.
2020-10-12 14:07:26 +01:00
Emmanuele Bassi
f83ee2ab6a
Add type annotations for GdkWayland API
...
The GdkWayland API takes generic GDK types and performs a run time
check, which means we need to properly annotate the actual expected
type in order to have methods recognised as such.
2020-10-12 14:07:26 +01:00
Emmanuele Bassi
33e84edf0c
Skip GdkWayland symbols that use wayland-client types
...
The wayland-client API does not have introspection annotations, so we
can't use these types anyway.
2020-10-12 14:07:26 +01:00
Aurimas Černius
08fb8c1c2a
Updated Lithuanian translation
2020-10-11 17:25:45 +03:00
Matthias Clasen
035e303f83
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
...
various build fixes for GDK/GTK on macos
See merge request GNOME/gtk!2680
2020-10-10 11:55:01 +00:00
Piotr Drąg
91ba0a31e7
Update Polish translation
2020-10-10 12:45:37 +02:00
Marek Černocký
72ea3a1655
Updated Czech translation
2020-10-10 12:17:27 +02:00
Christian Hergert
07bb07abbe
macos: port gtk to GDK_WINDOWING_MACOS
...
For the various uses of GDK_WINDOWING_QUARTZ, we need to use
alternatives from GDK_WINDOWING_MACOS.
Some minor loss of functionality is here, such as icons sent with
application menus. That can certainly be added back at a future
point.
2020-10-09 20:08:23 -07:00
Christian Hergert
41101673c3
gtk: use GDK_WINDOWING_MACOS in gentypefuncs.py
2020-10-09 20:05:20 -07:00
Christian Hergert
97f03edae4
gdk: remove quartz subdirectory from backends
2020-10-09 20:04:27 -07:00
Christian Hergert
d8ba916586
macos: add key equivalent helper
...
This is needed by quartz code in gtk/.
2020-10-09 20:03:52 -07:00
Christian Hergert
3f519e4d9b
macos: remove workaround for scroll delta
...
This gets handled differently in gtk/ and so we shouldn't translate it here.
2020-10-09 20:02:38 -07:00
Christian Hergert
58f9413464
macos: track various changes in GDK
2020-10-09 20:02:18 -07:00
Christian Hergert
59cdd7ae69
macos: lookup NSEvent by translated GdkEvent
...
This will be needed by the quartz imcontext.
2020-10-09 19:59:21 -07:00
Christian Hergert
a30adfe1e0
macos: move input method names to private header
2020-10-09 19:56:21 -07:00
Christian Hergert
6706623731
demo: fix out of bounds array index usage
2020-10-09 19:55:25 -07:00
Matthias Clasen
758675f44e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3242 and #3240
See merge request GNOME/gtk!2679
2020-10-09 13:35:57 +00:00
Matthias Clasen
8fcd4ac0f9
gtk-demo: Keep undisplayable resources out of view
...
No point in showing an apologetic tab for a blob of binary data.
gtk4-demo shows the resources under /DEMONAME/ for each demo,
so move the data to /DEMONAME_data/.
2020-10-09 07:52:29 -04:00
Matthias Clasen
4c3eb7c6f7
Merge branch 'ebassi/for-master' into 'master'
...
Tone down a user visible message
See merge request GNOME/gtk!2678
2020-10-09 11:47:38 +00:00
Matthias Clasen
115ed005e6
Send focus events to the root
...
We are not propagating focus change events, and that is the only
place where we are listening for focus change events. If GtkWindow
does not see focus-in events for its popovers, we end up with
inadvertendly inactive windows.
Fixes : #3240
2020-10-09 07:43:40 -04:00
Matthias Clasen
6a0704aeb4
window: Be more careful when looking for focus
...
When passing focus up to a parent, make sure the
newly chosen focus widget actually accepts the focus.
2020-10-09 07:43:25 -04:00
Matthias Clasen
eb647299d4
build: Require sysprof 3.38.0
...
We use sysprof_collector_request_counters, which
was introduced in sysprof 3.38.0.
2020-10-09 07:43:25 -04:00
Matthias Clasen
e7aa10342b
gtk-demo: Ellipsize columns in the characters demo
...
some of the columns have uneven widths, causing them
to bounce around as you scroll. Ellipsize them and
give them a fixed with.
2020-10-09 07:43:25 -04:00
Matthias Clasen
c835df5602
docs: Add more details to the migration guide
...
Add some details about GdkSurface and GtkWindow api changes.
Fixes : #3242
2020-10-09 07:43:25 -04:00
Emmanuele Bassi
43300b4047
Tone down a user visible message
...
Self-deprecating humour badly translates to a demo message.
2020-10-09 10:14:41 +01:00
Timm Bäder
cdd2a2af1b
Merge branch 'kjellahl/gdkseat' into 'master'
...
gdkseat: Make gdk_seat_get_tools() public
Closes #3241
See merge request GNOME/gtk!2677
2020-10-08 15:05:57 +00:00
Kjell Ahlstedt
cb98a732e4
gdkseat: Make gdk_seat_get_tools() public
...
Fixes #3241
2020-10-08 16:22:05 +02:00
Timm Bäder
4450f64421
Merge branch 'fix.builder.msvc' into 'master'
...
testsuite/gtk/builder.c: Fix running on Visual Studio
See merge request GNOME/gtk!2676
2020-10-08 09:42:04 +00:00
Chun-wei Fan
1e4d3b6ca1
testsuite/gtk/builder.c: Fix running on Visual Studio
...
Explicitly say in the code that we are exporting the symbols so that when the
test program runs, it can find the required builder symbols.
2020-10-08 16:11:35 +08:00
Matthias Clasen
08ecf779f9
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2674
2020-10-08 02:19:42 +00:00
Matthias Clasen
5d7907caa5
gdk: Drop gdk_surface_new_temp
...
It is not used anymore.
2020-10-07 21:18:25 -04:00
Matthias Clasen
606ab611bd
win32: Stop using gdk_surface_new_temp
...
No need to roundtrip through the frontend to create
one of our own surfaces.
2020-10-07 21:07:40 -04:00
Matthias Clasen
27ef9d9e5e
broadway: Stop using gdk_surface_new_temp
...
No need to roundtrip through the frontend to create
one of our own surfaces.
2020-10-07 21:04:05 -04:00
Matthias Clasen
839baf2bef
x11: Stop using gdk_surface_new_temp
...
No need to roundtrip through the frontend to create
one of our own surfaces.
2020-10-07 21:02:22 -04:00
Matthias Clasen
e602d67e59
wayland: Stop using gdk_surface_new_temp
...
No need to roundtrip through the frontend to create
one of our own surfaces.
2020-10-07 21:02:22 -04:00
Matthias Clasen
ba108f261f
gdk: Drop some unused private api
...
No users of gdk_display_peek_event, gdk_display_has_pending
_gdk_display_event_data_copy or _gdk_display_event_data_free,
so drop all of these, and related vfuncs.
2020-10-07 21:02:22 -04:00
Matthias Clasen
668868fb1f
Merge branch 'master' into 'master'
...
Allow LPR backend to print PDF and PS file formats
See merge request GNOME/gtk!418
2020-10-07 20:51:40 +00:00
Benjamin Otte
bc5723a846
Merge branch 'wip/otte/for-master' into 'master'
...
textbuffer: Don't serialize the \0 byte
See merge request GNOME/gtk!2672
2020-10-07 20:33:25 +00:00
Matthias Clasen
98c7de4aa3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3237
See merge request GNOME/gtk!2673
2020-10-07 20:30:52 +00:00
Benjamin Otte
0fdb33e82a
textbuffer: Don't serialize the \0 byte
...
... when converting to text/plain.
2020-10-07 22:14:18 +02:00
Matthias Clasen
cfb316799a
colorchooser: Bring color names back
...
These are useful for accessibility.
Fixes : #3237
2020-10-07 15:56:11 -04:00
Jan Alexander Steffens (heftig)
fb0c062506
gtkplacessidebar: Disconnect and unref cloud_manager in dispose
...
The manager's providers-changed signal can fire after the sidebar has
been freed. Make sure we disconnect the sidebar from the manager.
https://bugs.archlinux.org/task/57984
https://bugs.archlinux.org/task/68123
2020-10-07 15:16:31 -04:00
Matthias Clasen
3d9eb61bba
gtk-demo: Fix an off-by-one error
...
This was found by the asan build in our ci.
2020-10-07 15:16:31 -04:00
Timm Bäder
4993cde0cb
Merge branch 'migration-guide-fix' into 'master'
...
migration guide: Remove stray html tags
See merge request GNOME/gtk!2670
2020-10-07 08:00:43 +00:00
Nicola Fontana
35b0796a1f
migration guide: Remove stray html tags
2020-10-07 08:38:26 +02:00
Matthias Clasen
d839c1beab
Merge branch 'svg-demo' into 'master'
...
Svg demo
See merge request GNOME/gtk!2668
2020-10-06 20:55:28 +00:00
Matthias Clasen
5a9547da41
gtk-demo: Add an svg paintable demo
...
It is a little annoying that this demo will not show up
if we don't find librsvg, but I think showing how easy
this paintable is outweights the annoyance.
2020-10-06 15:12:09 -04:00
Matthias Clasen
25cbc1a15a
gtk-demo: Recognize .svg as images
...
We can't guarantee that we can load it, but worst
case you'll get a missing image.
2020-10-06 15:11:08 -04:00
Matthias Clasen
043207133d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3235
See merge request GNOME/gtk!2667
2020-10-06 18:25:48 +00:00
Matthias Clasen
490163efcd
Merge branch 'aboutwindow' into 'master'
...
gtkaboutdialog: Directly specialize GtkWindow
See merge request GNOME/gtk!2666
2020-10-06 18:25:27 +00:00
Matthias Clasen
44fd0c18c8
aboutdialog: Fix updating license tab
...
We need to update the license button visibility
whenever the license type changes.
2020-10-06 12:53:46 -04:00
Adrien Plazas
a17f33b1fe
gtkaboutdialog: Directly specialize GtkWindow
...
As it doesn't act as a dialog, there is no point specializing GtkDialog,
so his makes it specialize GtkWindow directly.
2020-10-06 18:46:48 +02:00
Matthias Clasen
22eac2f407
window: Fix setting min size
...
We were inadvertedly setting the windows min size
to the default size, making it so that you can never
shrink a window below its default size.
Fixes : #3235
2020-10-06 11:06:36 -04:00
Matthias Clasen
bdbfaef4d8
gdk: Tweak our GL debug message callback
...
Go back to installing our debug message callback
unconditionally if G_ENABLE_CONSISTENCY_CHECKS is
defined, and allow opting into it using GDK_DEBUG=gl-debug
otherwise.
2020-10-06 10:34:30 -04:00
Matthias Clasen
214c35ffc7
gdk: Docs tweaks
...
We don't have library initialization api anymore,
update the section title to reflect that.
2020-10-06 07:58:01 -04:00
Matthias Clasen
7698b4dd63
treelistrowsorter: Add a bandaid
...
The GtkTreeListRowSortKeys implementation doesn't
know how it wants to cache its keys, and just crashes.
Since that is not cool, add a bandaid fix that forces
it to recreate its keys instead. Extra work, but hey,
no crash.
Related: #3228
2020-10-06 07:58:01 -04:00
Emmanuele Bassi
e532f2322b
Merge branch 'FixWin32PopupFocus' into 'master'
...
Gtk4/Win32: Fix popup focus stealing when CSD is disabled
See merge request GNOME/gtk!2665
2020-10-06 10:30:07 +00:00
firox263
f0a8c6311e
Fix Win32 popup focus when using SSD
...
Prevents GDK Popups from stealing focus from the parent window when
using Server Side Decorations on win32.
It uses `ShowWindow` and the `SW_SHOWNOACTIVATE` flag.
2020-10-06 22:37:35 +13:00
Matthias Clasen
b6d4067717
Merge branch 'wip/carlosg/for-master' into 'master'
...
gtkpopover: Revert focus to parent on hide()
Closes #3214
See merge request GNOME/gtk!2653
2020-10-06 02:14:54 +00:00
Matthias Clasen
ac164d240b
Cosmetic
...
Don't call gtk_root_get_focus when we already have
the GtkWindowPrivate struct at hand. And use
gtk_window_set_focus to update the focus, like the
old code did.
2020-10-05 21:53:05 -04:00
Carlos Garnacho
38547120b2
gtkwindow: Ensure to revert focus to a parent on hide()
...
When a widget is hidden, check harder for the keyboard focus being
contained in that widget, in order to reset it. Portions of the
focus child hierarchy may be outdated at the time, so it is more
reliable to check GtkRoot::focus (i.e. the property we intend to
update here).
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3214
2020-10-06 03:29:13 +02:00
Matthias Clasen
7f5deed2eb
Merge branch 'simple-resizing-fixes' into 'master'
...
Simple resizing fixes
Closes #3076
See merge request GNOME/gtk!2661
2020-10-06 01:25:25 +00:00
Matthias Clasen
ccdc10d9df
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3196
See merge request GNOME/gtk!2662
2020-10-06 00:57:30 +00:00
Timm Bäder
982ebf1b69
gradient shaders: Reduce out values as well
...
We only do 6 color stops here now. Also works around a driver bug.
Fixes #3196
2020-10-05 20:35:34 -04:00
Matthias Clasen
20fb7812df
window: Fix window size snapping back
...
We were not updating the remembered size at all when
the window is interactively resized, causing it to
snap back to its default size the next time we call
gdk_toplevel_present().
This is a bandaid fix to prevent very broken resizing
behavior, until we have properly redone toplevel sizing.
Fixes : #3076
2020-10-05 20:24:19 -04:00
Matthias Clasen
082edd957e
wayland: Don't forget to reapply margins
...
When using the saved size because the compositor
told us to, we were forgetting to readd the margins.
The visible symptom of this was the window getting
smaller every time we went to tiled state and back.
2020-10-05 20:17:50 -04:00
Matthias Clasen
e5cd2568c8
wayland: Don't save size when tiled
...
Don't remember the surface size when we are in tiled
state either. This matches the 'fixed_size' condition
in gdk_wayland_surface_configure_toplevel.
This change fixes an issue where moving a window first
to tiled, then to maximized state and back would lead
to the unmaximized window having the tiled dimensions.
2020-10-05 20:15:33 -04:00
Matthias Clasen
d51608a2c9
wayland: Don't emit premature configure events
...
We should not emit configure events before we are realized - size
changes at this point are not relevant.
This gets rid of a mysterious emission of GdkSurface::size-changed
with a size of 52x52, that is happening when GtkWindow sets the
shadow_width before the window is mapped.
2020-10-05 17:18:14 -04:00
Matthias Clasen
67c6f0a08a
gtk-demo: Mention dataset size for Characters
2020-10-05 14:43:38 -04:00
Matthias Clasen
7311464c67
gl: Install the debug message callback for gl-debug
...
Always install the debug message callback when we can
and GDK_DEBUG=gl-debug is specified. Previously, we
were only installing the callback when the build was
a non-optimized debug build.
2020-10-05 14:43:31 -04:00
Matthias Clasen
aaab461c27
Merge branch 'fix-texture-cache' into 'master'
...
gl renderer: Fix up texture cache key
See merge request GNOME/gtk!2659
2020-10-05 14:58:20 +00:00
Matthias Clasen
6b0c65cc38
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2660
2020-10-05 14:23:08 +00:00
Matthias Clasen
74d99766e4
gtk-demo: Fix up the Characters demo
...
Move the Unicode names to a separate source file,
and only build the demo if we have harfbuzz (since
we use script names, and those are only available
with harfbuzz).
Also, fix a forgotten type name.
2020-10-05 09:56:04 -04:00
Alexander Larsson
24a27ba44f
gl renderer: Fix up texture cache key
...
The commit e14d2be1 forgot to actually set the parent_rect in the texture
key in the case it is necessary.
2020-10-05 15:43:04 +02:00
Matthias Clasen
6156c3583d
NEWS: Updates
...
Trying a new scheme - when updating NEWS outside of doing
a release, keep the version out, to make the it clear that
this is just about the tip of the branch, not a complete
release.
2020-10-05 08:18:56 -04:00
Matthias Clasen
2b03674464
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2658
2020-10-05 11:29:10 +00:00
Matthias Clasen
5d26d11868
gtk-demo: Add a column view demo
...
Make a column view that is showing some Unicode data.
2020-10-04 22:53:45 -04:00
Matthias Clasen
34f33b36f8
Prevent a crash with script names
...
We can't pass NULL to gettext().
2020-10-04 21:20:48 -04:00
Matthias Clasen
bea3bc5d27
Update the copy in gtk-demo too
2020-10-04 19:48:46 -04:00
Matthias Clasen
5d5625dec8
Update script names to Unicode 13
...
It would be better if this was provided elsewhere...
2020-10-04 16:15:09 -04:00
Matthias Clasen
cb833d52fb
Merge branch 'emoji-data-cldr' into 'master'
...
Update Emoji data
Closes #1511 and #950
See merge request GNOME/gtk!2656
2020-10-04 13:56:40 +00:00
Matthias Clasen
9007d153c8
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2657
2020-10-04 13:56:30 +00:00
Matthias Clasen
8ca612c966
scale: Make draw-value default to FALSE
...
This is rarely what you want, so lets turn it off
by default.
Update the one place in our demos where we want to
draw a value, add support for this to gtk-builder-tool,
add a test and mention this change in the migration
guide.
2020-10-04 08:26:44 -04:00
Matthias Clasen
452c909b64
Redo the handling of Emoji data
...
Use the data files from https://github.com/milesj/emojibase.git
as source for our Emoji data. Slightly change our data format by
adding a group to each item, in both the Emoji data and in the
setting for recent-emoji.
Install translated versions of the data as separate resource
bundles in $prefix/gtk-4.0/emoji, and load them when appropriate.
Currently, we have data for de, en, es, fr, zh, with data taken
from Unicode 13 and CLDR 13.
Fixes : #950 #1511
2020-10-04 01:14:42 -04:00
Matthias Clasen
7ef5921022
Emoji: Drop the shortname field from emoji.data
...
Match the name for Emoji completion, and display
it too. 'man worker' looks a lot more natural in
the UI than ':man_worker:'.
2020-10-03 20:06:31 -04:00
Matthias Clasen
1d9d5fcf39
Do case-folding and tokenization when creating emoji.data
...
We can avoid doing the extra work of case-folding and
tokenization whenever we filter in the Emoji chooser.
2020-10-03 19:46:46 -04:00
Matthias Clasen
ed724ebc35
emoji: Add keywords to the data
...
And use them for matching in the Emoji chooser.
2020-10-03 19:46:46 -04:00
Matthias Clasen
44448016e8
emoji: Some work on the conversion tool
...
Document the variant format, and write out json
format if asked to.
2020-10-03 19:46:46 -04:00
Matthias Clasen
a4284569c0
Fix Emoji completion
...
This is some late fallout from the container removal.
2020-10-03 19:42:19 -04:00
Matthias Clasen
9a2faf2197
widget-factory: Enable emoji completion somewhere
...
Without a quick way to test this, it is bound to
fall apart. As it has.
2020-10-03 19:41:26 -04:00
Matthias Clasen
6e594da5f2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #506
See merge request GNOME/gtk!2655
2020-10-03 19:27:15 +00:00
Matthias Clasen
ac79c0e799
textbuffer: Improve some get_iter apis
...
Make these functions return FALSE if they did not
return the exact position that was requested.
Adapt tests.
Based on a patch by Sebastien Wilmet
Fixes : #506
2020-10-03 14:29:07 -04:00
Matthias Clasen
d0b7a4a4ec
testsuite: Add a test that checks for property accessors
...
Make sure that every object property in GTK has accessors for getting
its value (if the property is readable) or setting it (if it is
writable).
Since we are still missing accessors, the test is allowed to
fail for now. Sadly, mesons xfail support is busted, so we just
disable the test entirely :(
Based on initial work by Benjamin Otte.
Related: #2440
2020-10-03 14:28:37 -04:00
Matthias Clasen
60b1b4669e
spinbutton: Add some missing accessors
...
Add a setter and getter for the climb-rate property.
2020-10-03 13:11:20 -04:00
Matthias Clasen
9d0d4cef03
Cosmetics
2020-10-03 13:11:20 -04:00
Matthias Clasen
1b1bf6c90a
text: Add some missing setters and getters
...
Add getters and setters for the enable-emoji-completion,
propagate-text-width and truncate-multiline properties.
2020-10-03 13:11:20 -04:00
Matthias Clasen
38bd4439e8
directorylist: Drop the item-type property
...
No need for this to be a property.
This showed up in a test for missing accessors.
2020-10-03 13:11:20 -04:00
Matthias Clasen
9fdb71cbd2
icontheme: Add a missing getter
...
We want to have a get_display() method on every object
that is tied to the display, so add one here.
2020-10-03 13:11:20 -04:00
Matthias Clasen
ff7bcf738c
colorbutton: Properly override interface properties
...
This showed up in a test for missing property accessors.
2020-10-03 13:11:20 -04:00
Matthias Clasen
5640208f31
node-editor: Don't insert hyphens
...
This can be a bit confusing in multi-line strings.
2020-10-03 13:11:20 -04:00
Matthias Clasen
cef1cd19ff
gsk: Avoid long lines in serialized nodes
...
When encoding big blobs of data in base64, insert newlines.
Base64 allows it, CSS allows it, so not need to make GtkTextView
struggle with multi-megabyte lines.
Update nodeparser tests to reflect this change.
2020-10-03 13:10:55 -04:00
Matthias Clasen
279d3c08a9
gtk-demo: Rename the transition shader files
...
Easier to find them when their name matches the title
that we show in the UI.
2020-10-03 00:01:25 -04:00
Matthias Clasen
949f22b8b2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2261 and #1002
See merge request GNOME/gtk!2654
2020-10-03 03:55:32 +00:00
Matthias Clasen
19d760f9dd
gtk-demo: Fix a typo
2020-10-02 23:54:15 -04:00
Matthias Clasen
a9809b0f67
Allow inserting newlines in css strings
...
Rename _gtk_css_print_string to strip the _ and add
an insert_newlines argument to it. Update all callers,
and make the render node serializer insert newlines.
2020-10-02 23:40:16 -04:00
Matthias Clasen
9033336a23
css: Move _gtk_css_print_string around
...
Move this to a separate header, since it is not
parser functionality, and kill the duplicate
gtkcssparserprivate.h header.
2020-10-02 23:40:16 -04:00
Jakub Steiner
68ae8506d5
Merge branch 'stackswitcher-button-styling' into 'master'
...
Adwaita: Simplify stackswitcher button styling
See merge request GNOME/gtk!2498
2020-10-02 15:09:07 +00:00
Matthias Clasen
da8ee53e2d
emojichooser: Allow inserting multiple Emoji
...
Don't close the Emoji chooser when the Control
key is held while clicking. So you can insert
multiple Emoji without having to reopen the
chooser every time.
Fixes : #1002
2020-10-01 23:45:05 -04:00
Matthias Clasen
f6bd2f4d3f
Add a test for gsk_gl_shader_compile
...
This is not super useful, but at least we can
test that we get an error message including the
shader text.
2020-10-01 23:45:05 -04:00
Matthias Clasen
c9f3034e82
gdk: Remove an unused variable
2020-10-01 19:33:43 -04:00
Matthias Clasen
3cf8904d0b
Add GTK_INPUT_HINT_PRIVATE
...
Add a flag that requests that input methods should not
update personalized data (such as typing history).
Fixes : #2261
2020-10-01 17:14:58 -04:00
Matthias Clasen
c43d535aab
docs: Fix a copy-paste error
2020-10-01 17:07:53 -04:00
Matthias Clasen
f4bfa16136
Update the release script
...
If things go according to plan, we don't need to include
gtk-doc as a subproject in the next snapshot.
2020-10-01 15:14:33 -04:00
Matthias Clasen
4d90259b9b
Use gtk-doc from master
...
I've merged the relevant parts from the gtk-doc-for-gtk4
branch.
2020-10-01 15:11:37 -04:00
Matthias Clasen
ffb51b6888
Require gtk-doc 1.33
...
We'll hopefully get a gtk-doc release out with that
version number soon.
2020-10-01 15:09:26 -04:00
Matthias Clasen
dc3b140fd7
Cosmetics
2020-10-01 13:48:24 -04:00
Matthias Clasen
ce29545470
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3220
See merge request GNOME/gtk!2652
2020-10-01 14:21:34 +00:00
Matthias Clasen
cbe3de9ce7
Merge branch 'master' into 'matthiasc/for-master'
...
# Conflicts:
# .gitlab-ci/test-msys2.sh
2020-10-01 13:56:37 +00:00
Matthias Clasen
6de7022458
Merge branch 'ci-win32-introspection-enabled' into 'master'
...
CI: Enable introspection again for the Windows build
See merge request GNOME/gtk!2651
2020-10-01 13:50:02 +00:00
Christoph Reiter
9601863569
CI: Enable introspection again for the Windows build
...
The underlying bug was fixed in glib and backported in MSYS2:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1665
2020-10-01 15:16:18 +02:00
Matthias Clasen
c278261be0
Merge branch 'wip/jimmac/infosearch-close' into 'master'
...
Adwaita: close button for infobar, searchbar
Closes #3215
See merge request GNOME/gtk!2650
2020-10-01 12:01:23 +00:00
Matthias Clasen
028cd1e23a
Revert "Fix the build with cups < 2.3"
...
This reverts commit d761e3cf2c .
I am seeing PPD_CUSTOM_UNKNOWN in the cups headers in our
ci images, and that is cups 2.2.12. So this commit was
mistaken.
2020-10-01 07:59:30 -04:00
Matthias Clasen
6e7c0ce06b
ci: Give up on sysprof for now
...
Using sysprof and glib as subprojects of the same
project sadly does not work. Subprojects are not
as robust as they should be.
2020-10-01 07:37:44 -04:00
Jakub Steiner
81cfcba5ad
Adwaita: close button for infobar, searchbar
...
fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3215
2020-10-01 13:14:25 +02:00
Matthias Clasen
9bac129707
ci: Try to get everything building again
...
It turns out that the sysprof meson setup does not
work with meson 0.54 :( So version 25 of our ci images
bumps the meson version to 0.55.3.
2020-09-30 23:43:03 -04:00
Matthias Clasen
91c8f6b7df
build: Try to fix docs+subprojects
...
Apparently, subprojects don't have pkgconfig variables :(
2020-09-30 16:21:39 -04:00
Matthias Clasen
103080c384
build: Remove an unneeded version check
...
We are requiring a newer meson than we were checking
for here.
2020-09-30 16:09:56 -04:00
Matthias Clasen
b936419125
ci: Remove --fatal-meson-warnings
...
meson adds features that then trigger warnings when we run
a newer meson over some of our subprojects. This is all too
fragile.
2020-09-30 15:53:15 -04:00
Matthias Clasen
72eb89eda7
gtk-demo: Add the shader paintable sources
...
This is currently not public GTK api, just part of
the demo. So we should show it here.
2020-09-30 15:41:05 -04:00
Matthias Clasen
b0da095944
gsk: Fix compiler warnings
...
We forgot to teach the broadway renderer about new enum
values, and our ci didn't catch it because werror didn't
actually work there until now.
2020-09-30 15:39:30 -04:00
Matthias Clasen
21c8bc2b47
build: Require meson 0.54
2020-09-30 15:26:20 -04:00
Matthias Clasen
7780b89e8a
ci: Really enable werror
...
We wanted to enable werror for gtk without enabling it
for all our subprojects. Sadly, we failed. Try again
2020-09-30 15:26:20 -04:00
Matthias Clasen
517a8406b0
ci: Use the v24 images
...
These images have meson 0.54.
2020-09-30 15:26:20 -04:00
Matthias Clasen
dfd16e3982
ci: Use a newer meson in images
...
We need meson 0.54.
2020-09-30 15:26:20 -04:00
Xavier Claessens
fd1e8afe9d
meson: Change introspection option to yielding feature
...
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.
2020-09-30 15:11:27 -04:00
Benjamin Otte
5829bc7c91
Use correct child widget when measuring
...
Fixes a copy/paste error.
Fixed #3220
2020-09-30 15:11:27 -04:00
Matthias Clasen
5a3aed8ade
Merge branch 'introspection' into 'master'
...
meson: Change introspection option to yielding feature
See merge request GNOME/gtk!2648
2020-09-30 17:50:21 +00:00
Benjamin Otte
5b89253fd9
Use correct child widget when measuring
...
Fixes a copy/paste error.
Fixed #3220
2020-09-30 17:48:24 +00:00
Matthias Clasen
fd631937f3
transition demo: Make buttons symbolic
...
It looks better.
2020-09-30 13:43:36 -04:00
Matthias Clasen
77ec961126
Merge branch 'ebassi/for-master' into 'master'
...
demo: Replace g_print with g_debug
See merge request GNOME/gtk!2645
2020-09-30 15:22:57 +00:00
Matthias Clasen
924e510512
gtk-demo: Update text for the transitions demo
...
The fire is gone, but we have wobbly widgets!
2020-09-30 11:19:12 -04:00
Matthias Clasen
97ffd94d20
Merge branch 'snazzy-demo' into 'master'
...
gtk-demo: Make gltransitions demo a bit snazzier
See merge request GNOME/gtk!2644
2020-09-30 15:00:58 +00:00
Alexander Larsson
d6648871b1
gtk-demo/gltransition: Replace fire background with more mellow blobs
2020-09-30 16:38:50 +02:00
Alexander Larsson
5d4a6940fa
gtk-demo: Use duck in transitions to get some alpha example
2020-09-30 16:25:30 +02:00
Xavier Claessens
0e5dac8c25
meson: Change introspection option to yielding feature
...
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.
2020-09-30 09:50:24 -04:00
Matthias Clasen
2dcf750198
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2647
2020-09-30 13:42:55 +00:00
Matthias Clasen
5fa765b284
Mention icon theme in the migration guide
...
This was requested in #3216 .
2020-09-30 08:55:39 -04:00
Matthias Clasen
9d701129cc
icontheme: Clarify the docs
...
Mention that icons directly in /$app_id/icons/ are treated
as unthemed icons.
See #3216
2020-09-30 08:55:39 -04:00
Alexander Larsson
e14d2be1e8
gl renderer: Fix render node texture cache
...
We're caching two things, either a node itself being rendered, or a
parent storing a cached version of a child as rendered to an offscreen
the size and location of the parent.
If both the parent and child uses the cache this will cause a conflict in
the cache as it is currently use keying of a node pointer which will have
the same value for the node-as-itself and the child-node-of-the-parent.
We fix this by adding another part to the key "pointer_is_child" which means
we can have the same node pointer twice in the cache.
Additionally, in the child-is-rendered-offscreen case the offscreen
result actually depends on the position and size of the parent viewport,
so we need to store the parent bounds in that case.
2020-09-30 14:53:13 +02:00
Emmanuele Bassi
b0a0f07bd7
demo: Replace g_print with g_debug
...
The GtkGears widget is a bit too chatty, especially when used inside
demos like the fishbowl. Let's use g_debug() instead of g_print() for
the GL debugging message.
2020-09-30 12:35:31 +01:00
Matthias Clasen
7defc3b759
Fix the release script some more
...
Still trying to master the tar commandline.
2020-09-30 06:51:46 -04:00
Alexander Larsson
e9885f9cde
gtk-demo: Make gltransitions demo a bit snazzier
...
This adds a bunch of snazz to the gltransitions demo. It is perhaps
a bit overloaded now, but it demos everything that we can do.
Changes:
* The fire shader is now not a bin, it just renders an animating
background with no textures involved.
* The stacks don't all start on the same page.
* The shaderbin passes the mouse coordinate to the shader.
* The shaderbin allows specifying a "border" so that you can
cause effects outside the bin child (something that is new to gtk4).
* All the buttons and the stacks are now in shader-bins that runs
a wobbly-widget effect based on the mouse position that
wobbles outside the child allocation.
2020-09-30 11:40:37 +02:00
Matthias Clasen
87393c7fb6
Merge branch 'small-cleanup' into 'master'
...
menubutton: Remove obsolete private method
See merge request GNOME/gtk!2643
2020-09-29 21:52:37 +00:00
Matthias Clasen
76d616909f
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2642
2020-09-29 20:45:00 +00:00
Matthias Clasen
31069d5e96
release script: Fix doc tarball generation
...
Strip one level from the directories.
2020-09-29 15:07:13 -04:00
Florian Müllner
7ad42df727
menubutton: Remove obsolete private method
...
It was only added for the fallback app menu in headerbars, which
has been removed in the meantime.
2020-09-29 20:58:25 +02:00
Emmanuele Bassi
c6cedf608a
Add annotations for GtkBuildable virtual functions
...
Now that the functions that wrap them have gone away from the public
API, we need proper annotations for the virtual functions, otherwise
languages will not have enough information on nullable arguments and
ownership transfer.
2020-09-29 19:48:55 +01:00
Matthias Clasen
218b905a88
3.99.2
2020-09-29 14:44:31 -04:00
Matthias Clasen
00c6340777
gsk: Add some more shader docs
...
Do a pass over the docs and address minor inconsistencies,
cosmetics and formatting differences.
Mention GSK_DEBUG=shaders.
2020-09-29 14:44:31 -04:00
Matthias Clasen
687ed74d46
Merge branch 'snapshot-stack-optimize' into 'master'
...
Minor optimizations to GtkSnapshot state stack
See merge request GNOME/gtk!2641
2020-09-29 18:44:07 +00:00
Emmanuele Bassi
97276a5cd4
Remove gtk-doc stanzas from private GtkBuildable API
...
Various functions were moved to the private GtkBuildable header by
commit 2715b3ec31 , but the functions still
have gtk-doc stanzas.
2020-09-29 19:39:34 +01:00
Alexander Larsson
796e6ee306
snapshot: Preallocate and don't memset the state stack
...
Most of the time the snapshot is less than 16 levels deep (did some testing
in gtk-demo), so lets pre-allocate 16 levels of state stack to avoid the
extra allocation most of the time.
2020-09-29 16:03:06 +02:00
Alexander Larsson
18b8b499de
gdkarray: Add support for GDK_ARRAY_NO_MEMSET
...
If all your callers already initialize the array element as needed,
then we don't need to memset it to zero first.
This is pretty useful for the snapshot state stack, because due
to the per-node-type data area the elements on the stack are
quite large, but often a lot of it is not used.
2020-09-29 16:02:59 +02:00
Alexander Larsson
8a0dd452d2
gdkarray: Inline splice and reserve
...
This inlines the splice and reserver GdkArray calls. These are
typically only called from the gdk_array_(append/set_size) functions
anyway, and inlining the caller means we can constant propagate the
constant arguments in those calls. Its hard to get exact numbers, but
in fishbowl i noticed a significant decrease in the time spent in
the array code when pushing and poping states.
2020-09-29 15:57:33 +02:00
Matthias Clasen
4cfa9ee19f
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2639
2020-09-29 12:57:36 +00:00
Matthias Clasen
719c44a610
Merge branch 'glshader-track-uniform-state' into 'master'
...
gl: Track the current uniform state for custom programs
See merge request GNOME/gtk!2638
2020-09-29 12:49:22 +00:00
Matthias Clasen
4a2c817690
docs: Document various entry ::activate signals
2020-09-29 07:04:07 -04:00
Matthias Clasen
aac9414117
statusbar: Remove a misleading doc comment
2020-09-29 07:04:07 -04:00
Matthias Clasen
c897daf797
snapshot: Document radial gradient apis
2020-09-29 07:04:07 -04:00
Matthias Clasen
f1299410bf
docs: Fix a typo
2020-09-29 07:04:07 -04:00
Matthias Clasen
165768b6ad
wayland: Match header and doc arguments
...
gtk-doc doesn't take this lightly.
2020-09-29 07:04:07 -04:00
Matthias Clasen
07c338b487
gsk: Document radial gradient api
2020-09-29 07:04:07 -04:00
Matthias Clasen
3af249c046
Silence a compiler warning
...
These variables are not used anymore since
commit 11e4a46967 .
2020-09-29 07:04:07 -04:00
Matthias Clasen
91c3edba35
NEWS: Updates
2020-09-29 07:04:07 -04:00
Alexander Larsson
51ab56d33a
gl: Track the current uniform state for custom programs
...
This allows us to avoid updating uniforms if that is not necessary. This
in turn allows us to sometimes reuse the same draw op by just extending the
vertex array size we draw rather than doing a separate glDraw call.
For example, in the fishbowl demo, all the icons added at the same
time will have the same time and size, so we emit single draw calls
with 100s of triangles instead of 100s of draw calls with 2 triangles.
2020-09-29 11:52:39 +02:00
Alexander Larsson
2e5caa68bc
Merge branch 'glshader-node' into 'master'
...
Add support for GLShader nodes
See merge request GNOME/gtk!2594
2020-09-29 08:30:48 +00:00
Matthias Clasen
4e55220d76
Add some shader tests
...
These are just basic api usage tests, no rendering.
They found the issues fixed in the preceding commits.
2020-09-29 09:51:16 +02:00
Alexander Larsson
e76cb3e1e4
gtk-demo: Add a shader paintable to the fishbowl
...
This gets around 500 instances at 60fps on my system.
2020-09-29 09:51:16 +02:00
Alexander Larsson
8bcb031418
gtk-demo: Add GskGLShaderNode demo
...
Add adds a demo showing off GskGLShaderNode in various ways.
It has a transistion widget, using some examples from
gl-transitions.com, with child widgets being both images, a GL area
and real widgets (that let you edit the transition shaders
themselves.
It also has a fancy fire effect on hove on the buttons.
2020-09-29 09:51:16 +02:00
Alexander Larsson
4d697283ae
Support GLShaderNode in backends
...
For vulkan/broadway this just means to ignore it, but for the gl
backend we support (with up to 4 texture inputs, which is similar to
what shadertoy does, so should be widely supported).
2020-09-29 09:51:16 +02:00
Alexander Larsson
950cc41e15
GtkSnapshot: Add gtk_snapshot_push_glshader()
2020-09-29 09:51:16 +02:00
Alexander Larsson
7ea755e206
Add GskGLShaderNode and GskGLShader
...
A GskGLShader is an abstraction of a GLSL fragment shader that
can produce pixel values given inputs:
* N (currently max 4) textures
* Current arguments for the shader uniform
Uniform types are: float,(u)int,bool,vec234)
There is also a builder for the uniform arguments which are
passed around as immutable GBytes in the built form.
A GskGLShaderNode is a render node that renders a GskGLShader inside a
specified rectangular bounds. It renders its child nodes as textures
and passes those as texture arguments to the shader. You also pass it
a uniform arguments object.
2020-09-29 09:51:16 +02:00
Matthias Clasen
6e9b58b6f0
gsk: Add more shader debug spew
...
Print out the full assembled shader sources when
GSK_DEBUG=shaders is given. This is very verbose,
but may be useful to see what we actually pass
to the compiler.
2020-09-29 09:51:16 +02:00
Alexander Larsson
645fc6a9a5
GtkWindow: Create renderer before realizing child widgets
...
This way the child widgets can rely on the renderer (for example what
type it is) to decide details about how they render (such as if they
should use OpenGL shaders).
2020-09-29 09:51:16 +02:00
Matthias Clasen
a91b6b4786
css: Move the last parser api to the new header
...
This lets us use it from the render node parser
in gsk.
2020-09-29 09:51:16 +02:00
Alexander Larsson
16cdb33c6c
shadertoy demo: Fix GLSL on GLES
...
I was getting "assignment to varying fragColor" errors
2020-09-29 09:51:16 +02:00
Alexander Larsson
bacb3affb3
gl: Add some namespacing to the preamble symbols
...
This adds a gsk prefix to the stuff in the preamble, as we want to
avoid it conflicting with things in the main shader. Especially once
we start allow some customization of shaders.
2020-09-29 09:51:16 +02:00
Alexander Larsson
9460d0131f
gl backend: Add line numbers to source in glsl compilation errors
...
Almost always the source is created by combining various sources, which
means the line numbers in the error messages are hard to use. Adding
the line numbers to the source in the error message helps with this.
2020-09-29 09:51:16 +02:00
Alexander Larsson
7edcd1748c
gl: Properly report error if shader linking fails
...
In gsk_gl_shader_builder_create_program(), if linking fails we
need to return -1 to indicate error, rather than the old deleted
program id.
2020-09-29 09:51:16 +02:00
Alexander Larsson
6887d0ce24
glrenderer: Move ProgramState into Program
...
There is no real reason to have this on the side indexed via the
index, as it is stored next to each other anyway. Plus, storing them
together lets use use `Program` structures not in the array.
2020-09-29 09:51:10 +02:00
Matthias Clasen
e29c586b7c
Merge branch 'arnaudb/menubutton-direction' into 'master'
...
Make GtkMenuButton::direction more useful.
Closes #2811
See merge request GNOME/gtk!2636
2020-09-29 01:55:24 +00:00
Matthias Clasen
4f8a211c51
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3202
See merge request GNOME/gtk!2637
2020-09-29 01:53:02 +00:00
Matthias Clasen
30b7545fb5
Add a reftest for flipping transforms
...
Verify that a scale of -1 does in fact cause a
gradient to go the other direction.
2020-09-28 21:07:51 -04:00
Matthias Clasen
a799c86edb
textbuffer: Elaborate docs
...
Explain a bit more what gtk_text_buffer_get_content_provider()
is for.
Fixes : #3202
2020-09-28 20:51:13 -04:00
Matthias Clasen
68bb532290
window: Don't get surfaces needlessly
...
There is a 1-1 correspondence between natives and
surfaces, so we can just compare the natives, no
need to get the surface for every single one.
2020-09-28 20:51:13 -04:00
Matthias Clasen
d2f0e3fa6b
doc: Document some apis as widget implementor only
...
A better solution for this would be nice. For the
time being, just add a sentence to the docs.
2020-09-28 20:51:13 -04:00
Arnaud Bonatti
4684082232
Make GtkMenuButton::direction more useful.
...
This property was only used until now when
there was neither an icon nor a label set,
for arrow direction and popover placement.
Starting with Gtk4, a GtkMenuButton with a
label shows an arrow at the right (in LTR)
of the label. Allow disabling the arrow or
changing its direction using the direction
property, to have a way to restore a Gtk3-
like look or to improve popover placement.
Fixes #2811 .
2020-09-29 02:26:13 +02:00
Matthias Clasen
5536a2ffe6
Merge branch 'wip/carlosg/for-master' into 'master'
...
gtkeventcontrollerscroll: Drop device type checks
Closes #3210
See merge request GNOME/gtk!2635
2020-09-28 22:03:36 +00:00
Carlos Garnacho
11e4a46967
gtkeventcontrollerscroll: Drop device type checks
...
Kinetic scrolling (and begin/end tracking) broke with commit cab1dcb696
since the pointing device used on X11 does not get as much GdkInputSource
granularity as the source device used to have in GTK3.
Actually this is kinda pointless, devices incapable of smooth scroll
should send discrete events, without those devices in the picture, we
want kinetic scroll to apply on every other device capable of smooth
scroll, so just do that.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3210
2020-09-28 23:35:36 +02:00
Yosef Or Boczko
01ddc181f9
Update Hebrew translation
...
(cherry picked from commit f6e3dfd73e )
2020-09-28 19:00:52 +00:00
Yosef Or Boczko
2b3c2962ab
Update Hebrew translation
...
(cherry picked from commit 02d1d9714e )
2020-09-28 18:59:32 +00:00
Matthias Clasen
27b3bb59eb
Merge branch 'another-attempt-to-fix-shadertoy' into 'master'
...
Flip GLArea textures
See merge request GNOME/gtk!2634
2020-09-28 16:16:51 +00:00
Matthias Clasen
ff61f35b77
Merge branch 'cloudproviders-ci' into 'master'
...
Cloudproviders ci
Closes #2480
See merge request GNOME/gtk!2632
2020-09-28 15:45:08 +00:00
Matthias Clasen
5206cfa837
Merge branch 'wip/otte/for-master' into 'master'
...
snapshot: Don't flip textures
See merge request GNOME/gtk!2633
2020-09-28 15:43:02 +00:00
Matthias Clasen
b711c12bbe
glarea: Flip our texture
...
The texture that produce is upside-down, compared to what
GSK expects, so flip things around with a transform.
This fixes the shadertoy demo being upside-down after a
recent fix to avoid downloading and reuploading the texture.
2020-09-28 11:34:23 -04:00
Matthias Clasen
431f144f37
gsk: Normalize when transforming bounds
...
Bounds are assumed to be normalized, and transforms
with negative scales or 3d rotations can make us get
negative sizes.
Fix by Benjamin Otte.
2020-09-28 11:34:16 -04:00
Benjamin Otte
651c92c0ed
snapshot: Don't flip textures
...
... or gradients or borders or shadows. Instead, ensure that affines
have non-negative scale factors. Otherwise add a transform node.
The only place where this check is not necessary is color nodes, but
special casing them seems not worth it.
2020-09-28 16:14:28 +02:00
Milo Casagrande
8487e82133
Update Italian translation
2020-09-28 07:41:47 +00:00
Aurimas Černius
15b635d7bd
Updated Lithuanian translation
2020-09-27 22:06:30 +03:00
Matthias Clasen
3aa2519c2b
ci: Use v23 images
...
I added libcloudproviders to the base image, but
now I see that we already enabled libcloudproviders
in the build anyway, so I'm a bit confused.
Fixes : #2480
2020-09-27 11:48:19 -04:00
Matthias Clasen
55bd6d08d4
ci: Add libcloudproviders to the image
...
Add libcloudproviders to fedora-base:v23 and fedora:v23.
This is so we can enable the cloud-providers feature in
our ci builds.
2020-09-27 11:41:04 -04:00
Matthias Clasen
536e1a1954
Merge branch 'patch-1' into 'master'
...
treestore: Document the fact that iter is modified by the function, in a machine-readable fashion.
See merge request GNOME/gtk!2613
2020-09-27 15:03:04 +00:00
Danny Milosavljevic
32baa0a549
Update gtktreestore.c: gtk_tree_store_remove didn't have the proper comment annotation
...
"inout" for the parameter ITER passed. This means that bindings would misjudge what
the function does. In the case of guile-gi, it would be misjudged for a predicate,
see gulie-gi bug 87.
2020-09-27 15:03:03 +00:00
Matthias Clasen
6f823cd0bd
Merge branch 'issue2627-gtk4' into 'master'
...
gdk/wayland: Replace gtk-primary-selection with primary-selection-unstable-v1
See merge request GNOME/gtk!2630
2020-09-27 14:51:23 +00:00
Matthias Clasen
97d052ef1b
Merge branch 'avoid-gl-texture-download' into 'master'
...
gsk: Avoid downloading GL textures when possible
See merge request GNOME/gtk!2628
2020-09-27 14:47:52 +00:00
Robert Mader
9ea0469ab0
gdk/wayland: Replace gtk-primary-selection with primary-selection-unstable-v1
...
The later is the public upstream version, while identical implementation wise.
https://gitlab.gnome.org/GNOME/gtk/-/issues/2591
2020-09-27 16:23:42 +02:00
Matthias Clasen
895c1681f0
Merge branch 'fontchooser-no-lang' into 'master'
...
fontchooser: Fix builds without PangoFT2
See merge request GNOME/gtk!2629
2020-09-27 12:42:42 +00:00
Matthias Clasen
9ca9f42452
gsk: Avoid downloading GL textures when possible
...
I found that the gears demo was spending 40% cpu
downloading a GL texture every frame, only to
upload it again to another context.
While the GSK rendering and the GtkGLArea use different
GL contexts, they are (usually) connected by sharing data
with the same global context, so we can just use the
texture without the download/upload dance. This brings
gears down to < 10% cpu.
2020-09-26 21:55:28 -04:00
Matthias Clasen
752270253f
fontchooser: Fix builds without PangoFT2
...
Currently, only if PangoFT2 is present and used it is supported
to retrieve the languages that are supported by a particular font.
If we don't have PangoFT2, remove the language filtering and the
sample text selection.
Based on earlier work by Chun-wei Fan, see
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2614
2020-09-26 19:15:45 -04:00
Matthias Clasen
92e551f895
Merge branch 'BUG_gtktreeview_headers_focus_on_click_GTK4' into 'master'
...
GtkTreeviewColumn: don't focus-on-click header buttons
See merge request GNOME/gtk!1806
2020-09-26 22:50:23 +00:00
Matthias Clasen
593907f7b0
testupload: Test more formats
...
Copy the format conversion code from GdkMemoryTexture
so we can produce all formats, and test them all.
The upload fast paths assume that the stride is a
multiple of four, so some of the padding values cause
it to fail. Apart from that, things seem to work for
all combinations.
2020-09-26 17:26:12 -04:00
Matthias Clasen
34ec226852
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2626
2020-09-26 14:00:32 +00:00
Matthias Clasen
d56ad7c40c
Add a test for various texture uploads
...
Create textures with various characteristics (alpha, premultiplication,
stride) that trigger different code paths in the gl texture upload
function, and show the resulting images. If all goes well, they all
should look the same.
On my system, this tests texture upload for memory formats
GDK_MEMORY_B8G8R8A8_PREMULTIPLIED, GDK_MEMORY_R8G8B8A8, and
GDK_MEMORY_R8G8B8, and it works with both gl and gles.
2020-09-26 09:20:00 -04:00
Matthias Clasen
ae09e20e8a
NEWS: Updates
2020-09-26 09:04:42 -04:00
Matthias Clasen
54944c9cea
Merge branch 'fix-texture-upload-more' into 'master'
...
More texture upload fixes
Closes #3198
See merge request GNOME/gtk!2624
2020-09-26 12:52:25 +00:00
Matthias Clasen
fe8986f2d5
Merge branch 'matthiasc/for-master' into 'master'
...
gl: Make debug spew more complete
Closes #3197
See merge request GNOME/gtk!2623
2020-09-26 02:02:13 +00:00
Matthias Clasen
d6912a6791
More texture upload fixes
...
In some cases, with bpp == 3 and a rowstride
that is divisible by 4, we were passing invalid
parameters to GL.
Fixes : #3198
2020-09-25 21:59:33 -04:00
Matthias Clasen
db4b7e3d11
Merge branch 'add-child-clash' into 'master'
...
Make GtkBuildable vfunc accessor functions private
Closes #3191
See merge request GNOME/gtk!2619
2020-09-26 01:17:08 +00:00
Matthias Clasen
6cdbf1a352
popup: Fix up a doc blurb
...
The GdkPopup:autohide property was mis-documented.
Fixes : #3197
2020-09-25 20:43:01 -04:00
Matthias Clasen
3d881752bf
gl: Make debug spew more complete
...
List GL_EXT_unpack_subimage among the extensions
we check for.
2020-09-25 20:42:01 -04:00
Matthias Clasen
1b93108d10
Merge branch 'fix-rgb-upload' into 'master'
...
gl: Fix RGB uploads
Closes #3194
See merge request GNOME/gtk!2620
2020-09-26 00:30:31 +00:00
Florian Müllner
e4d4b50d6d
docs: Document GtkBuildable changes in migration guide
...
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
2020-09-26 02:16:57 +02:00
Florian Müllner
2715b3ec31
buildable: Make vfunc accessor functions private
...
With the exception of gtk_buildable_get_id(), those are only used
to construct objects from XML descriptions, which is functionality
internal to GTK.
The API is therefore unlikely to be missed, and keeping it internal
means they can no longer unintentionally shadow object methods in
bindings with less namespacing; for example it's currently ambiguous
whether `infoBar.add_child()` refers to gtk_info_bar_add_child() or
gtk_buildable_add_child().
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
2020-09-26 02:16:57 +02:00
Florian Müllner
12189bc10f
buildable: Rename set_name() to set_buildable_id()
...
GtkBuildable's get_name()/set_name() methods may shadow
GtkWidget's methods. Avoid that by renaming the API to
get_buildable_id()/set_buildable_id(), which also reflects
the name of the XML attribute the API refers to.
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
2020-09-26 02:16:05 +02:00
Matthias Clasen
3db217ab7a
gl: Reset GL_UNPACK_ALIGNMENT
...
Reset GL_UNPACK_ALIGNMENT to its initial value of 4 after
changing it for a glTexImage2D call.
2020-09-25 16:17:45 -04:00
Matthias Clasen
a9de1d702e
Merge branch 'matthiasc/for-master' into 'master'
...
columnview: Simplify column constructors
See merge request GNOME/gtk!2622
2020-09-25 18:25:09 +00:00
Matthias Clasen
0c3f42e06e
columnview: Simplify column constructors
...
Drop gtk_column_view_column_new_with_factory and
just make gtk_column_view_column_new accept a
nullable factory. This follows what we've been
doing elsewhere.
Update all callers.
2020-09-25 13:57:10 -04:00
Matthias Clasen
d4b740ce62
Merge branch 'wip/carlosg/for-master' into 'master'
...
Wip/carlosg/for master
Closes #3125 and #3121
See merge request GNOME/gtk!2621
2020-09-25 17:49:59 +00:00
Carlos Garnacho
d9d494826f
gtkbutton: Clean up priv->in_button
...
This is now only toggled around, may be cleaned up.
2020-09-25 19:20:27 +02:00
Carlos Garnacho
ea6e575901
gtkbutton: Check release coordinates on all release event types
...
The priv->in_button state that used to be relied upon for pointer
events has been reduced over time to a broken state, since the button
does not track crossing events anymore.
Make the coordinate-based checks apply for pointer events too, besides
touch events. This fixes GtkButton mistakenly emitting ::clicked with
pointer button releases outside the widget.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3121
2020-09-25 19:20:04 +02:00
Matthias Clasen
12f05e80aa
gl: Fix RGB uploads
...
I don't really know what to say, other than:
OpenGL is terrible
Fixes : #3194
2020-09-25 13:16:47 -04:00
Carlos Garnacho
0ccdbfd802
gtktextview: Avoid GtkGestureClick claiming on touch press
...
We still want the drag gesture (and text selection) to work. Avoid claiming
the gesture early, like it's done in the pointer case.
2020-09-25 19:02:26 +02:00
Carlos Garnacho
7d5accc69f
gtkscrolledwindow: Do not eagerly claim touch press event
...
Claiming early makes the contents unable to react to the touch press
event. Do this on GtkGestureDrag::update past a threshold, so the
child widget(s) can claim before the scrolledwindow does.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3125
2020-09-25 18:58:44 +02:00
Carlos Garnacho
b1606db839
gtkscrolledwindow: Drop gtk_scrolled_window_set_capture_button_press()
...
This API is kinda stuck in the GdkEvent days, we now negotiate ownership
of the input sequence via GtkGestures. Remove it as it reflects a way to
work that was not exactly accurate and it will turn plainly wrong soon.
2020-09-25 18:57:40 +02:00
Matthias Clasen
c9f6a9f7c5
Merge branch 'gles-texture-colors' into 'master'
...
Fix uploads of textures in GLES (and make texture uploads better)
See merge request GNOME/gtk!2616
2020-09-25 14:53:19 +00:00
Timm Bäder
09564a5798
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2617
2020-09-25 13:35:20 +00:00
Alexander Larsson
a299bbfc58
Drop gdk_cairo_surface_upload_to_gl() helper
...
There is nothing really special about this code, its just a helper for
uploading pixel data to opengl, and we're not really in the business
of doing opengl-specific helper functions.
2020-09-25 15:00:07 +02:00
Alexander Larsson
90fc671ef8
gl backend: Avoid roundtripping via surface when updloading
...
Do custom uploads rather than using gdk_cairo_surface_upload_to_gl(),
because this way we avoids a roundtrip (memcpy and possibly conversion)
to the cairo image surface format.
2020-09-25 10:04:48 +02:00
Alexander Larsson
c71921a6be
gdk_gl_context_upload_texture() avoid conversion for pixbuf format
...
The gdk-pixbuf non-rgba format can be directly uploaded without
conversion.
The rgba format needs alpha premultiplication though, which is not
supported by GL during upload.
2020-09-25 09:31:43 +02:00
Alexander Larsson
1001995d49
Correctly upload textures for GLES
...
GLES doesn't support the GL_BGRA + GL_UNSIGNED_INT_24_8 hack that
we use on desktop OpenGL to upload textures directly in the cairo
pixel format. This adds the required conversions to all the places
that currently need it.
We also add a data_format to the internal gdk_gl_context_upload_texture()
function to make it clearer what the format are. Currently it is always
the cairo image surface format, but eventually we want to support other
formats so that we can avoid some of the unnecessary conversions we do.
Also, the current gdk_gl_context_upload_texture() code always converts
to a cairo format and uploads that like we did before. Later commits
will allow this to use other upload formats that gl supports to avoid
conversions.
2020-09-25 09:31:43 +02:00
Alexander Larsson
8e59cdabac
Add GDK_MEMORY_R8G8B8A8_PREMULTIPLIED
...
This is the default OpenGL format, and in fact the only pixel format
that GLES supports uploading as. Actually, the premultiplied part is
really just about how we use the textures, but all textures in GTK
are premultiplied.
2020-09-25 09:31:43 +02:00
Alexander Larsson
88b709d5ec
texture: Unvirtualize download_surface
...
We only have one implementation, so why do all this vfunc work?
2020-09-25 09:31:43 +02:00
Matthias Clasen
e6d5a3c4e8
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3180 , #3178 , and #3179
See merge request GNOME/gtk!2618
2020-09-24 18:50:26 +00:00
Matthias Clasen
e70ed905d1
columview: Don't overdraw
...
Just always tell the title and cell widgets to
clip their children to the right size. Otherwise
we risk things getting out of sync and unintended
overdraw.
Fixes : #3179
2020-09-24 14:30:40 -04:00
Matthias Clasen
7eb0ae39c5
columview: Fix column resizing
...
We were not handling the fixed_width quite right,
and that was causing screaming from the GTK size
allocation machinery.
Fixes : #3178
2020-09-24 14:18:38 -04:00
Timm Bäder
2f93287473
cssimagefallback: Whitespace
2020-09-24 19:08:22 +02:00
Timm Bäder
484dcc043b
cssimagefallback: Avoid allocating GPtrArray for colors
...
If we just parse a color, like image(#FFF), avoid allocating the
GPtrArray to store images. This happens in Adwaita for background images
of backdrop buttons. We save around 70 GPtrArrays this way.
2020-09-24 19:08:22 +02:00
Timm Bäder
716b5afe6a
Adwaita: Fix calendar header button backdrop bg color
2020-09-24 19:08:22 +02:00
Timm Bäder
fd728ea8bc
gl renderer: Lower maximum gradient stop count
...
6 is still plenty according to my market research.
Should help with #2624
2020-09-24 19:08:22 +02:00
Timm Bäder
8d7b3bade3
gl renderer: Fall back to cairo if gradients use too many stops
2020-09-24 19:08:22 +02:00
Timm Bäder
12cc178756
textbuffer: Don't try to inset NULL text from clipboard
...
That used to generate a critical error message.
Also free() the data.
2020-09-24 19:08:22 +02:00
Timm Bäder
9eaa8bd1e7
gl renderer: Only return error if creating programs failed
2020-09-24 19:08:22 +02:00
Timm Bäder
15994db74d
gl renderer: Use scale_x/y when rendering clipped nodes
2020-09-24 19:08:22 +02:00
Timm Bäder
467be0b7dc
gl renderer: Don't use ops_get_scale() when rendering clip nodes
...
Differentiate between scale_x and scale_y. This works better for e.g.
transform nodes using scaleX().
2020-09-24 19:08:22 +02:00
Timm Bäder
84d2a33c10
gl renderer: Support scaleX/Y better when rendering radial gradients
...
We should do this everywhere, but this is a start.
2020-09-24 19:08:22 +02:00
Matthias Clasen
9fde0137a0
listview: Avoid a critical when reordering
...
When sorting a cell into the place its already at,
we were triggering criticals. Avoid that.
Fixes : #3180
2020-09-23 22:53:21 -04:00
Matthias Clasen
9dab51e7be
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3188
See merge request GNOME/gtk!2612
2020-09-23 22:44:22 +00:00
Matthias Clasen
810218b2f5
fontchooser: Don't center the list
...
The centered layout of the font previews don't look appealing
and make it harder to judge the relative width and weight of
the individual styles.
Fixes : #3188
2020-09-23 16:32:48 -04:00
Balázs Úr
7acbbd6bdd
Update Hungarian translation
2020-09-23 15:25:12 +00:00
Balázs Úr
a364ab1efb
Update Hungarian translation
2020-09-23 14:39:40 +00:00
Thomas Holder
4325c20013
gtktreeview: Fix child access after TEST_EXPAND_ROW
...
In gtk_tree_view_build_tree with recurse=TRUE, the TEST_EXPAND_ROW
signal might invalidate the child iterator. Getting the iterator after
the signal (instead of before) fixes the issue.
Fixes https://gitlab.com/inkscape/inkscape/-/issues/1879
2020-09-23 07:53:33 -04:00
Matthias Clasen
7bae48335f
Merge branch 'wip/jimmac/osd-spinbutton' into 'master'
...
Adwaita: osd spinbutton specificity bump
Closes #2769
See merge request GNOME/gtk!2610
2020-09-23 11:47:01 +00:00
Matthias Clasen
571f15cac6
Merge branch 'make-claiming-button-release-work' into 'master'
...
gestures: Make claiming button release work
See merge request GNOME/gtk!2576
2020-09-23 11:35:59 +00:00
Jakub Steiner
78236bfdbe
Adwaita: osd spinbutton specificity bump
...
- mimic the peculiar selector from the normal style onto osd to
override.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2769
2020-09-23 10:16:55 +02:00
Matthias Clasen
5e4180b5f0
Merge branch 'improve-columnview-styling' into 'master'
...
Adwaita: Improve columnview styling
See merge request GNOME/gtk!2608
2020-09-22 03:01:38 +00:00
nana-4
2d6a9990b7
Adwaita: Don't restrict columnview editablelabel style to .data-table
...
This should be available without .data-table.
2020-09-22 10:40:15 +09:00
nana-4
42be26f1b1
Adwaita: Improve columnview styling
...
- Move padding from parent row to child cell.
- Align horizontal sizing of cell with header button.
- Properly support GtkColumnView:show-column-separators.
- Change cell height with and without .data-table.
2020-09-22 10:37:04 +09:00
nana-4
f98055b075
Adwaita: Fix separator color for lists
2020-09-22 10:35:15 +09:00
Matthias Clasen
3252d4cab2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2607
2020-09-21 18:11:41 +00:00
Matthias Clasen
2c527ec87e
inspector: Make switches go back to normal size
2020-09-21 11:53:48 -04:00
Matthias Clasen
d5e315c470
gtk-demo: Improve the pickers demo
...
"Two of every kind..." Add some customized pickers
here. This found a number of issues that have been
fixed in the preceding commits.
2020-09-21 11:53:48 -04:00
Matthias Clasen
256f845d89
colorbutton: Fix handling of transient parents
...
When we create the dialog before the button has
been rooted, we need to update its transient
parent when that happens.
2020-09-21 11:53:48 -04:00
Timm Bäder
b3c21bc89a
Merge branch 'fix-hover-tracking' into 'master'
...
main: Update pointer focus state for button releases
Closes #3172
See merge request GNOME/gtk!2601
2020-09-21 12:20:00 +00:00
Marek Černocký
6bc46a9a69
Updated Czech translation
2020-09-21 08:30:59 +02:00
Matthias Clasen
1d34f955a2
filechooser: Fix gtk_file_chooser_set_choice
...
This broke when it was ported to GtkDropDown.
2020-09-20 12:04:49 -04:00
Matthias Clasen
ee75bae8f8
fontchooser: Make sure the tweak button is updated
...
This was showing up as tweak buttons being visible
when they should not. The code probably relied on
widgets being hidden by default (as they were in
GTK3).
2020-09-20 10:59:37 -04:00
Matthias Clasen
3c62cd90d4
fontchooser: Handle families without faces
...
This might seem useless, but I've met fonts
where pango_font_family_get_face (family, NULL)
return NULL. Handle it without criticals.
2020-09-20 10:59:37 -04:00
Matthias Clasen
81793b62d8
docs: Improve gtk_widget_set_font_map docs
2020-09-20 10:59:37 -04:00
Matthias Clasen
9ee7bdf4cb
Merge branch 'fix-wayland-popups' into 'master'
...
wayland: Fix grabbing popup
See merge request GNOME/gtk!2604
2020-09-20 14:19:50 +00:00
Matthias Clasen
bb402a1f1d
wayland: Fix grabbing popup
...
A typo snuck into commit 3023a61e1d that
caused us to fail all grabbing popups with
"grab failed: not viewable". Fix that.
2020-09-20 10:02:53 -04:00
Emin Tufan Çetin
02614713da
Update Turkish translation
2020-09-20 06:38:03 +00:00
Matthias Clasen
18a5ca257a
Merge branch 'kill-widget-new' into 'master'
...
Drop gtk_widget_new
See merge request GNOME/gtk!2603
2020-09-19 21:25:32 +00:00
Matthias Clasen
874b9ef8b0
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2602
2020-09-19 21:22:30 +00:00
Matthias Clasen
d89f7fd046
Drop gtk_widget_new
...
An abstract type should not have a constructor.
If you want to be generic, just use g_object_new.
2020-09-19 16:58:42 -04:00
Matthias Clasen
aeeffe27c2
NEWS: Updates
2020-09-19 16:49:46 -04:00
Matthias Clasen
cdc5e83ef2
Merge branch 'matthiasc/for-master' into 'master'
...
textbuffer: Redo insert markup a little bit
See merge request GNOME/gtk!2600
2020-09-19 20:48:49 +00:00
Matthias Clasen
661da6baec
main: Update pointer focus state for button releases
...
Failure to do so makes the old pointer focus target
'sticky', because we end up ignoring the result of
picking the pointer focus until a motion event comes
in.
Fixes : #3172
2020-09-19 16:48:15 -04:00
Matthias Clasen
e927866ed4
shortcutswindow: Drop the Private struct
2020-09-19 16:22:04 -04:00
Matthias Clasen
4b9e7ac355
revealer: Drop the Private struct
2020-09-19 14:41:41 -04:00
Matthias Clasen
bebe0b5c1b
magnifier: Drop the Private struct
2020-09-19 14:36:44 -04:00
Matthias Clasen
2ad9864cdc
Cosmetic
2020-09-19 14:31:02 -04:00
Matthias Clasen
ec46900f06
colorscale: Drop the Private struct
2020-09-19 14:29:35 -04:00
Matthias Clasen
93cfa3855c
Merge branch 'wayland-backend-api-cleanup' into 'master'
...
wayland: Change backend api to use GdkToplevel
See merge request GNOME/gtk!2598
2020-09-19 18:19:18 +00:00
Matthias Clasen
6b708e9b60
textbuffer: Redo insert markup a little bit
...
Redo the tag insertion function to avoid quadratic
behavior, and at the same time, fix handling of
alpha for color attributes.
Update the copy of this function in gtk4-demo
as well.
2020-09-19 14:17:28 -04:00
Matthias Clasen
6e81573776
Merge branch 'password-entry-activate' into 'master'
...
Add GtkPasswordEntry::activate
Closes #3174
See merge request GNOME/gtk!2599
2020-09-19 18:12:35 +00:00
Matthias Clasen
dd0da0f3cc
passwordentry: Add an ::activate signal
...
GtkSearchEntry has one, no reason why GtkPasswordEntry
should not as well.
Fixes : #3174
2020-09-19 13:25:03 -04:00
Matthias Clasen
48594a2d7a
passwordentry: Drop the Private struct
2020-09-19 13:23:40 -04:00
Matthias Clasen
31042bd761
docs: Add missing Wayland backend api
...
Since Wayland is now our flagship backend,
we should put some effort into the docs.
2020-09-19 13:13:31 -04:00
Matthias Clasen
3023a61e1d
wayland: Change backend api to use GdkToplevel
...
Most of the surface api we have in the Wayland backend
only makes sense for toplevels, so reshuffle things to
take a GdkToplevel instead of a GdkSurface.
Update all callers and the docs.
2020-09-19 13:07:11 -04:00
Matthias Clasen
c1e33056fb
NEWS: Updates
2020-09-19 12:09:24 -04:00
Matthias Clasen
57253b0039
Merge branch 'wip/baedert/radial-gradient' into 'master'
...
Radial gradients
Closes #2262 , #3170 , and #3173
See merge request GNOME/gtk!2597
2020-09-19 15:49:14 +00:00
Matthias Clasen
84d82dcda9
Merge branch 'wip/fontchooser-language-filtering' into 'master'
...
fontchooser: add language filtering
See merge request GNOME/gtk!2551
2020-09-19 15:06:56 +00:00
Matthias Clasen
4e35d56263
fontchooser: Remove signal handlers in dispose
...
Avoid ordering issues in dispose by disconnecting
the rows_changed_cb handler first thing.
2020-09-19 10:44:50 -04:00
Matthias Clasen
a9bf129286
fontchooser: Don't show "No fonts" prematurely
...
Don't switch to the empty page while we are still busy
filtering. Fonts might yet appear.
2020-09-19 10:25:45 -04:00
Matthias Clasen
76b7f0ca1c
fontchooser: Use filter language for sample text
...
When you are asking to only see fonts that support
a given language, you probably want to see the
sample text for that language too.
2020-09-19 10:13:36 -04:00
Matthias Clasen
09604eb3eb
fontchooser: Add user filtering
...
Add a popover that has filtering options. As a start,
allow filtering by monospace and by language coverage.
2020-09-19 10:13:36 -04:00
Matthias Clasen
0485a6c008
Improve language names
...
Shorten a few of the names we pick up by removing
parentheses that make them excessively long.
2020-09-19 09:47:15 -04:00
Matthias Clasen
169c208b7a
Merge branch 'matthiasc/for-master' into 'master'
...
win32: Fix compiler warnings
See merge request GNOME/gtk!2596
2020-09-19 13:26:34 +00:00
Matthias Clasen
7b2c4fdb6a
Merge branch 'font-chooser-sample-text' into 'master'
...
fontchooser: Determine sample text intelligently
See merge request GNOME/gtk!2546
2020-09-19 13:19:28 +00:00
Matthias Clasen
e0b1c3e8b0
win32: Fix compiler warnings
...
The compiler informs me that GetLastError() return a DWORD,
so use %lx to print it.
2020-09-19 08:29:29 -04:00
Matthias Clasen
6b9622f0da
Try one more time to fix win32 ci
2020-09-19 08:13:35 -04:00
Zander Brown
cfd1520a9f
Update British English translation
2020-09-19 11:42:18 +00:00
Timm Bäder
79dc25e0b1
cssimageradial: Avoid creating color stops with an offset > 1
2020-09-19 08:55:18 +02:00
Timm Bäder
1d371db8d8
scrolledwindow: Ignore captured motion events if no child is set
...
Fixes #3173
2020-09-19 08:44:58 +02:00
Matthias Clasen
69d5dc7c9a
fontchooser: Determine sample text intelligently
...
Look at the languages supported by a font, and pick
a suitable sample text from the pango list of sample
texts. We can only implement this on platforms using
fontconfig, since it relies on pangofc apis.
This bumps the pango dependency to 1.47.1.
2020-09-18 23:04:39 -04:00
Timm Bäder
f938377464
rendernodes: Clarify color_stops arguments
2020-09-18 19:01:10 +02:00
Timm Bäder
6e14b26622
gsk: Add docs for radial gradient nodes
2020-09-18 18:41:01 +02:00
Timm Bäder
5d5fbc69a4
rendernodes: Enfore end > start for radial gradient nodes
2020-09-18 18:29:08 +02:00
Timm Bäder
a770ab34c4
gl renderer: Consolidate color pre-multiplication
...
Add a common function that tells us what it does and replace all the
manual stuff with it.
Fixes #3170
2020-09-18 15:45:08 +02:00
Timm Bäder
b8e4240751
gl renderer: Add radial gradient shader
2020-09-18 15:39:07 +02:00
Timm Bäder
2c5a4a799a
rendernode: Pull local variable into closest scope
2020-09-18 15:39:07 +02:00
Timm Bäder
07b6431afe
Inspector: Show radial gradient node info
2020-09-18 15:39:07 +02:00
Timm Bäder
0c2d00835b
gl renderer: Set an error if we don't have one already
...
We can't fail and not set the error, since caller don't expect that.
2020-09-18 15:39:07 +02:00
Timm Bäder
dbfc172f6a
radial gradients: Allow 0 start/end values
2020-09-18 15:39:07 +02:00
Timm Bäder
6a089816fc
gsk: Parse radial gradient nodes
2020-09-18 15:39:07 +02:00
Matthias Clasen
2886e19772
css: switch to h/vradius
2020-09-18 15:39:07 +02:00
Matthias Clasen
c08df82d54
snapshot: switch to h/vradius
2020-09-18 15:39:07 +02:00
Matthias Clasen
ebfb3e771d
rendernode: switch to h/vradius
2020-09-18 15:39:04 +02:00
Matthias Clasen
2881d347d3
css: Use snapshot api for radial gradients
2020-09-18 15:39:04 +02:00
Matthias Clasen
66d16049c3
snapshot: Add api for radial gradients
...
These are the equivalents of the linear gradient apis.
2020-09-18 15:39:04 +02:00
Matthias Clasen
0c6226c20b
gsk: Add a radial gradient node
...
Only a fallback implementation for now.
Fixes #2262
2020-09-18 15:38:55 +02:00
Matthias Clasen
9267f705ef
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Cosmetic changes
See merge request GNOME/gtk!2590
2020-09-18 02:00:46 +00:00
Matthias Clasen
a8adbfbc9f
gtk-demo: Cosmetic changes
...
Polish the text view demos a little bit.
2020-09-17 21:38:10 -04:00
Matthias Clasen
f00f6e9641
Merge branch 'language-names-GError-fixes' into 'master'
...
Language names g error fixes
See merge request GNOME/gtk!2589
2020-09-17 23:34:03 +00:00
Peter Bloomfield
50f373fbc2
language-names: Do not g_free() a GError
...
It's NULL anyway, so freeing GError with g_free() when it's allocated with
GSlice never actually happens, but it just looks bad.
2020-09-17 23:34:03 +00:00
Matthias Clasen
f2f0a9ee0e
Merge branch 'wip/wayland-respond-to-configure' into 'master'
...
Make sure to respond to configure events in time
Closes #2910
See merge request GNOME/gtk!2588
2020-09-17 18:49:31 +00:00
Jonas Ådahl
4200936f21
wayland/surface: Make sure to commit ack_configure
...
We must wl_surface.commit after xdg_surface.ack_configure to make it
have an effect. We failed to do so when a configure event didn't result
in new updates, so make sure we fall back on an simple
wl_surface.commit if there was no new actual frame painted.
Closes : #2910
2020-09-17 18:20:08 +02:00
Goran Vidović
90991a341d
Update Croatian translation
...
(cherry picked from commit 1c07a20ca4 )
2020-09-17 15:39:02 +00:00
Jonas Ådahl
1abcd6f304
wayland: Commit surface from cairo context
...
In order to make the cairo renderer/context behave more similar to how
the OpenGL and Vulkan renderer/context behaves, request a frame callback
and commit in the end frame vfunc.
This means the end frame vfunc in cairo does
* attach buffer
* request frame callback
* sync surface state
* commit
Where as e.g. the OpenGL version of the same flow does
* attach buffer
* request frame callback
* sync surface state
* eglSwapBuffers()
where eglSwapBuffers() indirectly calls wl_surface_commit().
2020-09-17 17:35:35 +02:00
Jonas Ådahl
f87de393b5
wayland/surface: Remove 'committed' signal
...
It wasn't used by anything anymore, lets remove it.
2020-09-17 16:01:08 +02:00
Matthias Clasen
35c3a60c08
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2587
2020-09-17 03:41:32 +00:00
Matthias Clasen
cf1ed3a72a
gtk-demo: Fix toggle- vs checkbutton confusion
2020-09-16 23:07:21 -04:00
Matthias Clasen
18e46bd6f8
gtk-demo: Beef up the hypertext demo
...
Its almost a dictionary.
2020-09-16 23:01:49 -04:00
Matthias Clasen
7082624fd7
textview: Properly delete anchored children
...
When we remove anchors with widgets from the text
buffer, we used to call gtk_widget_destroy(), which
indirectly called gtk_container_remove() which cleared
the child properly. When gtk_widget_destroy() was
removed, we replaced the calls with gtk_widget_unparent(),
but that is not enough. Explicitly call
gtk_text_view_remove() instead - we know the parent
is a text view.
2020-09-16 23:01:49 -04:00
Matthias Clasen
25d30011a0
textview: Make clickable tags work again
...
We were claiming the clicks too eagerly, preventing
clickable links, e.g. in GtkAboutDialog, from working.
2020-09-16 22:30:58 -04:00
Matthias Clasen
cd60ed4391
Plug a memory leak in an error case
...
gtk_show_uri() not freeing the error after showing
it to the user.
Pointed out by Peter Bloomfield in #3166
2020-09-16 19:13:18 -04:00
Matthias Clasen
a1e21c1acb
Merge branch 'wip/sadiq/headerbar-demo' into 'master'
...
gtk-demo: Add a switch to headerbar demo
See merge request GNOME/gtk!2571
2020-09-16 23:12:26 +00:00
Milo Casagrande
ba6c14ad34
Update Italian translation
2020-09-16 07:43:11 +00:00
Matthias Clasen
c6aff910ed
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add another demo
See merge request GNOME/gtk!2584
2020-09-16 02:56:08 +00:00
Matthias Clasen
d71337513f
gtk-demo: Add another demo
...
Show how to add a context menu to a custom widget,
and how to make a GtkPicture lookalike.
2020-09-15 22:40:13 -04:00
Matthias Clasen
2741431d6e
Merge branch 'stack-add-child' into 'master'
...
stack: Add gtk_stack_add_child
Closes #3165
See merge request GNOME/gtk!2583
2020-09-16 02:22:36 +00:00
Matthias Clasen
cc9fe4b354
stack: Add gtk_stack_add_child
...
The name of children is not essential, so add
a way to add children without providing one.
Fixes : #3165
2020-09-15 18:39:09 -04:00
Matthias Clasen
e4d29ba9fd
Merge branch 'master.win32' into 'master'
...
Some more fixes for Windows
Closes #3157
See merge request GNOME/gtk!2580
2020-09-15 11:12:27 +00:00
Matthias Clasen
6f56d8df28
Merge branch 'wip/jimmac/dnd-green' into 'master'
...
Adwaita: update tango color for DND
Closes #3158
See merge request GNOME/gtk!2581
2020-09-15 11:04:59 +00:00
Matthias Clasen
9eb4eef48b
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2582
2020-09-15 11:04:54 +00:00
Matthias Clasen
e69b623a27
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2579
2020-09-15 10:54:31 +00:00
Jakub Steiner
d1a68ac7ba
Adwaita: update tango color for DND
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3158
2020-09-15 12:18:55 +02:00
Chun-wei Fan
52ba70d549
gdksurface-win32.c: Fix display of CSD windows
...
Since the changes to GDK to use surface subtypes, CSD windows were
broken because we did not set the window styles properly. Fix this by
first acquiring whether decorations are used by the GtkWindow, and based
on that result we set the decorations that we want to use accordingly
and so apply them.
Thanks to Matt Jakeman for investigating into the issue and providing
pointers to a proposed fix.
Fixes issue #3157 , besides the part where window sizes are not correct
since that is likely caused a separate issue.
2020-09-15 15:56:36 +08:00
Chun-wei Fan
02aec7f5f4
gdkevents-win32.c: Clean up WM_ACTIVATE handling a bit
...
We can group some things together, to make things a little bit more clear
2020-09-15 15:53:34 +08:00
Chun-wei Fan
c766e31e8f
demos: Fix minesweeper demos on Windows
...
Make sure the callback functions in the .ui files are exported, so that
those functions can be recognized at runtime so that things run
properly.
2020-09-15 15:53:20 +08:00
Timm Bäder
a545fa15e4
inspector: Remove unsued function
2020-09-15 05:28:31 +02:00
Timm Bäder
e669433cde
listbox: Activate single-click rows if n_press >= 1
...
Quickly clicking rows should always activate the row if
single-click-activation is enabled. Before, only the first click
(n_press == 1) would activate the row.
2020-09-15 05:21:54 +02:00
Timm Bäder
a6f86d9c26
popover: Only destroy arrow render node if position changed
2020-09-15 05:21:54 +02:00
Timm Bäder
d0f182757a
sizegroup demo: Fix a checkbutton/togglebutton mixup
2020-09-15 05:21:54 +02:00
Timm Bäder
c8f4c8c4f0
filechooserwidget: Plug a memory leak
...
g_list_store_append refs the file
2020-09-15 05:21:54 +02:00
Timm Bäder
87f589f738
emojichooser: Fix typo in css class
2020-09-15 05:21:54 +02:00
Timm Bäder
27f3600419
listbox: Add preconditions to remove()
2020-09-15 05:21:53 +02:00
Timm Bäder
40ee7186bf
build: Unify two if statements
...
They both check glib_minor_req.is_odd()
2020-09-15 05:21:53 +02:00
Timm Bäder
a0422bfe25
inspector: Fix huge listbox rows
...
This is handled by .rich-list
2020-09-15 05:21:53 +02:00
Matthias Clasen
67c1600ac2
Document some API as widget-implementation only
...
Using gtk_widget_insert_before on a complex container
is a *bad* idea; it will mess up the containers bookkeeping
of its children and can easily lead to failure and crashes.
2020-09-14 20:28:44 -04:00
Matthias Clasen
50400879e0
gtk-demo: Add more detail to the dnd demo text
2020-09-14 17:49:16 -04:00
Matthias Clasen
b20e67dc83
gtk-demo: Add some keywords
...
Make the builder demo show up in searches for toolbar and
menubar.
2020-09-14 17:33:12 -04:00
Matthias Clasen
a3dcfafba6
gtk-demo: Improve the builder demo
...
Make the keyboard shortcuts work.
2020-09-14 17:06:34 -04:00
Matthias Clasen
82ce1a9d6b
gtk-demo: Improve the builder demo
...
Make the toolbar look right.
2020-09-14 16:51:05 -04:00
Matthias Clasen
cc6faeab50
gtk-demo: More space
...
Increase the inter-paragraph spacing in the info
text, to make paragraphs more clearly separated.
2020-09-14 16:21:13 -04:00
Matthias Clasen
aa32613beb
gtk-demo: Cosmetic change
2020-09-14 16:20:52 -04:00
Matthias Clasen
6a3e12cfae
gtk-demo: Add some details
2020-09-14 16:11:11 -04:00
Rūdolfs Mazurs
fc6d621146
Update Latvian translation
2020-09-14 19:45:03 +00:00
Matthias Clasen
37a24711a4
Merge branch 'issue-2923' into 'master'
...
Annotate the expression array as "nullable"
Closes #2923
See merge request GNOME/gtk!2578
2020-09-14 17:01:54 +00:00
Emmanuele Bassi
595cc929e6
Annotate the expression array as "nullable"
...
While it's a bit dubious whether array+length annotations should be
marked as "nullable", we do this elsewhere in the API, so might as well
be consistent.
In practice, the array argument is only ever allowed to be NULL iff the
length argument is 0; annotations are static, so if somebody decides to
pass a NULL argument with a non-zero value, they will get a run time
critical error, instead of a compile time one, which is somewhat counter
to the point of annotating the API in the first place.
Fixes : #2923
2020-09-14 17:00:23 +01:00
Matthias Clasen
27e6826860
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Fix the toggle buttons on page 3
See merge request GNOME/gtk!2577
2020-09-14 15:44:51 +00:00
Matthias Clasen
7a2400c8a1
widget-factory: Fix the toggle buttons on page 3
...
They should not both be active initially.
2020-09-14 11:19:39 -04:00
Piotr Drąg
3c4259393c
Update POTFILES.skip
2020-09-14 16:55:31 +02:00
Matthias Clasen
a201bfd9a5
Merge branch 'wip/jimmac/navlist-expander-whitespace' into 'master'
...
Adwaita: navigation list expander whitespace
See merge request GNOME/gtk!2575
2020-09-14 12:59:05 +00:00
Matthias Clasen
921f3a6e16
Merge branch 'wip/jimmac/gridview-whitespace' into 'master'
...
Wip/jimmac/gridview whitespace
Closes #3164
See merge request GNOME/gtk!2574
2020-09-14 12:49:52 +00:00
Matthias Clasen
53dddf163d
gestures: Make claiming button release work
...
When claiming a sequence in a gesture signal handler,
the expected result is that GtkGesture::handle-event
returns TRUE, causing the event to not be propagated
further.
This doesn't work for button release events, since
gtk_gesture_handle_event does the following:
add point
emit ::update
remove point
check claimed status
The ::update signal is where the application code
claims the sequence. But removing the point purges
the sequence from the gestures memory, so checking
the claimed status returns FALSE.
This patch fixes things to behave as expected, by
checking the claimed status before removing the point.
2020-09-14 08:35:44 -04:00
Jakub Steiner
e7c75f04dd
Adwaita: navigation list expander whitespace
...
- Address https://gitlab.gnome.org/GNOME/gtk/-/issues/3138#note_910476
2020-09-14 14:31:23 +02:00
Jakub Steiner
7dd819dffc
icon-browser: use content-view
...
- make content prominent by using content-view style for the main grid.
2020-09-14 14:18:52 +02:00
Jakub Steiner
8eab10dabf
Adwaita: whitespace for the grid
...
- separate labels
- 12px margins around cells
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3164
2020-09-14 14:18:52 +02:00
Mohammed Sadiq
bd900fe8c9
gtk-demo: Add a switch to headerbar demo
...
We don't have any demos with a switch in headerbar.
2020-09-14 17:11:13 +05:30
Matthias Clasen
6a676d527c
Merge branch 'wip/jimmac/natigation-sidebar-whitespace' into 'master'
...
Wip/jimmac/natigation sidebar whitespace
Closes #3138
See merge request GNOME/gtk!2572
2020-09-14 11:13:52 +00:00
Jakub Steiner
f125e6234b
Merge branch 'wip/jimmac/cut-finger' into 'master'
...
assets: adjust gesture graphic
Closes #3074
See merge request GNOME/gtk!2573
2020-09-14 10:34:52 +00:00
Jakub Steiner
bcb2861447
assets: adjust gesture graphic
...
- quick, somebody on the internet is offended!
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3074
2020-09-14 12:14:40 +02:00
Jakub Steiner
962f76ddc9
Adwaita: navigation-sidebar spacing
...
- split from placessidebar as it's more generic
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3138
2020-09-14 11:51:54 +02:00
Matthias Clasen
d45aabb4ec
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2570
2020-09-14 04:45:07 +00:00
Matthias Clasen
9f03462ffb
gtk-demo: Improve the scrolling demo
...
Add an fps label to the scrolling demo.
2020-09-13 23:43:45 -04:00
Matthias Clasen
3b11896581
gtk-demo: Impove the fishbowl demo
...
Use tnum for the fps label to avoid jiggling.
2020-09-13 23:43:45 -04:00
Matthias Clasen
c66a8cb941
gtk-demo: Use gdk_frame_clock_get_fps
...
Remove another copy of this code in the theme
switching benchmark.
2020-09-13 23:43:45 -04:00
Matthias Clasen
c462f35a5e
inspector: Use gdk_frame_clock_get_fps
2020-09-13 23:35:01 -04:00
Matthias Clasen
b166999683
Add gdk_frame_clock_get_fps
...
We already have more than one copy of this code
in GTK, so just export this function.
2020-09-13 23:35:01 -04:00
Matthias Clasen
4b589b6afb
main: Reshuffle debug code
...
Mode all the debug flags related code together,
to make gtkmain.c a bit less messy.
2020-09-13 22:48:29 -04:00
Matthias Clasen
fedeb51f31
Drop support for GTK_TEST_TOUCHSCREEN
...
This environment variable is undocumented, and you can
just use GTK_DEBUG=touchscreen insead.
2020-09-13 22:44:32 -04:00
Matthias Clasen
d2faa38eed
Move version-related functions to gtkversion.c
...
This is just an internal cleanup, to make gtkmain.c
a bit less messy.
2020-09-13 22:23:06 -04:00
Matthias Clasen
ff9ca2b68d
Clean up debug flags code a bit
...
Use the GtkDebugFlags enum, since we have it.
2020-09-13 22:10:25 -04:00
Matthias Clasen
aa5207b349
iconview: Small doc additions
2020-09-13 21:51:42 -04:00
Matthias Clasen
2b5b6e0885
Drop gtk_render_slider from headers
...
The function does not exist.
2020-09-13 21:51:42 -04:00
Matthias Clasen
93d9a2ceda
colorchooser: Bring back gtk_color_chooser_widget_new
...
This was removed by accident in commit f392fbfb6d6f1116728b.
2020-09-13 21:51:42 -04:00
Matthias Clasen
5ab77e72e2
docs: Misc updates
...
Pick up a number of symbols that have been missed,
and drop GtkAccelLabel.
2020-09-13 21:51:42 -04:00
Matthias Clasen
5a7faa6512
docs: Add new check button apis
2020-09-13 21:51:42 -04:00
Matthias Clasen
b7d42502ce
docs: Some touchups to the migration guide
2020-09-13 21:51:42 -04:00
Matthias Clasen
2d766dff96
NEWS: Updates
2020-09-13 21:51:42 -04:00
Matthias Clasen
e3bab0b766
Merge branch 'gtk-demo-demo' into 'master'
...
Gtk demo demo
See merge request GNOME/gtk!2569
2020-09-13 23:37:22 +00:00
Matthias Clasen
d3c5c7f4ef
Merge branch 'update-default-palette' into 'master'
...
colorchooserwidget: Update default palette
See merge request GNOME/gtk!2568
2020-09-13 23:28:57 +00:00
nana-4
f6e4486338
colorchooserwidget: Update default palette
...
This makes it completely in line with the new GNOME HIG color palette.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3146
2020-09-14 07:05:04 +09:00
Matthias Clasen
9d6990fdb9
gtk-demo: Don't offer to run titles
...
When a group is selected (such as 'Benchmark'),
make the run button insensitive - there is nothing
to run.
2020-09-13 17:55:10 -04:00
Matthias Clasen
3f1fa66479
Demo thyself
...
Make gtk-demo show itself as a useful example.
2020-09-13 17:54:58 -04:00
Matthias Clasen
8094f757eb
Merge branch 'demo-keywords' into 'master'
...
gtk-demo: add keywords to filtering
See merge request GNOME/gtk!2567
2020-09-13 21:13:21 +00:00
Matthias Clasen
d732c869c2
gtk-demo: Add keywords to demos
...
Add the names of the main widgets as keywords to
our demos, but also things like "game". This helps
finding relevant demos in our growing list. You
can now for example type "label", and find the
"error states" and "links" demos showing GtkLabel
features.
2020-09-13 15:00:14 -04:00
Matthias Clasen
691261c71a
gtk-demo: Support keywords for search
...
Filter the sidebar on keywords that can be provided
by the demos. We extract keywords from the doc comment
at the top of each demo source by looking for words that
look like class names. We also allow to specify keywords
explicitly.
2020-09-13 15:00:14 -04:00
Matthias Clasen
fe6f70efe1
gtk-demo: Ignore some lines in info
...
Ignore lines starting with # in the info comment at
the top of source files. This will be used to add
keywords for search in following commits.
2020-09-13 14:42:03 -04:00
Matthias Clasen
cddbc8f1cc
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2566
2020-09-13 18:39:12 +00:00
Matthias Clasen
a90801e696
gtk-demo: Add another demo
...
This one is a more or less direct copy of the
settings dialog from widget-factory, demonstrating
error states and builder scopes.
2020-09-13 12:36:30 -04:00
Rūdolfs Mazurs
f445cc0d70
Update Latvian translation
2020-09-13 12:30:52 +00:00
Claude Paroz
6cf7b95bec
Updated French translation
2020-09-13 10:46:33 +02:00
Matthias Clasen
7518fd0d70
gtk-demo: Make F11 toggle fullscreen
...
In the video player demo, we have a button to make
the window fullscreen, but no easy way back. Add
the usual F11 keybinding, to make things at least
somewhat recoverable.
2020-09-13 02:31:41 -04:00
Matthias Clasen
30c3a533f4
video: Make autoplay work
...
We were setting things up in the wrong order, so
autoplay had no effect when you using gtk_video_set_file().
2020-09-13 01:56:56 -04:00
Matthias Clasen
52304fe7da
gtk-demo: Add some example videos
...
Add buttons to show the gtk-logo animation and
the Big Buck Bunny trailer.
2020-09-13 01:51:55 -04:00
Matthias Clasen
22257b124a
placessidebar: Remove a pointless restriction
...
The sidebar was refusing to show shortcuts for
things that don't have a local path, for no
good reason.
2020-09-13 01:14:00 -04:00
Matthias Clasen
4629182246
filechooser: Fix setting unlisted filters
...
This is documented to work, but it was broken
when we ported things to list models.
2020-09-13 01:12:51 -04:00
Matthias Clasen
c8a9e7fa82
Fix a compiler warning
2020-09-13 01:12:39 -04:00
Matthias Clasen
8f593827cf
widget-factory: Fix error states demo
...
Fix a corner case of input validation in the settings
dialog.
2020-09-13 00:17:19 -04:00
Matthias Clasen
8984fe3c35
Cosmetics
2020-09-13 00:17:19 -04:00
Matthias Clasen
fc720b57e2
gtk-demo: Don't refer to removed demos
...
The animated background demos was referring to the
pixbuf demo that was removed a while ago. Reword
the text accordingly.
2020-09-13 00:17:19 -04:00
Emin Tufan Çetin
4cb367a6e2
Update Turkish translation
2020-09-12 17:11:40 +00:00
Matthias Clasen
b534752d5c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3110 and #2994
See merge request GNOME/gtk!2565
2020-09-12 16:25:17 +00:00
Matthias Clasen
929a56e53c
Clean up lots of GTK+ -> GTK
...
Replace most remaining uses of GTK+ in the docs and
user-visible strings by GTK. Also remove some leftover
"Was added in 3.x" sentences from the docs.
2020-09-12 12:01:04 -04:00
Matthias Clasen
6ed1c181ee
AUTHORS: some updates
2020-09-12 11:52:14 -04:00
Matthias Clasen
0011a1032d
text: Claim the sequence when we start selecting
...
Without this, drag-select will only work sporadically
in entries in headerbars.
Fixes : #2994
2020-09-12 11:18:36 -04:00
Matthias Clasen
38b71ba292
Cosmetics
...
Add a missing comma.
2020-09-12 11:11:28 -04:00
Matthias Clasen
b5f3ac9718
Add a testcase for controls in headerbars
...
This is meant to help with figuring out entry
selection drag issues.
2020-09-12 10:58:07 -04:00
Matthias Clasen
756c52ef08
filechooser: Prevent a crash
...
With csd, we are handling external widgets when
there is an entry in the headerbar. Use a weak ref
to prevent that pointer from going stale. This fixes
a crash when cancelling a save dialog.
Fixes : #3110
2020-09-12 10:40:13 -04:00
Emmanuele Bassi
9afdb41b6b
Merge branch 'ebassi/for-master' into 'master'
...
Properly annotate GtkLayoutManagerClass.create_layout_child()
Closes #3156
See merge request GNOME/gtk!2564
2020-09-12 14:24:13 +00:00
Emmanuele Bassi
25bcec5cbb
Properly annotate GtkLayoutManagerClass.create_layout_child()
...
We're missing the ownership transfer rule for the created GtkLayoutChild
instance; this makes the virtual function not introspectable.
Fixes : #3156
2020-09-12 14:33:24 +01:00
Emin Tufan Çetin
eba5232e35
Update Turkish translation
2020-09-12 06:14:30 +00:00
Matthias Clasen
7ee3439522
Merge branch 'emblem-demo' into 'master'
...
Emblem demo
See merge request GNOME/gtk!2563
2020-09-12 01:33:51 +00:00
Matthias Clasen
71ea619274
gtk-demo: Add an emblem demo
...
Add a simple demo for adding emblems to icons
using GdkPaintable.
2020-09-11 21:09:41 -04:00
Matthias Clasen
f679ba566e
gtk-demo: Tweak the animated paintable
...
Make it possible to have no background in
the animated paintable. This will be used
in a future demo.
Update all users.
2020-09-11 21:08:36 -04:00
Matthias Clasen
2679e29375
gtk-demo: Fix a few crash
...
The paintable demos were forgetting to clear
their window variable.
2020-09-11 21:07:10 -04:00
Matthias Clasen
e55bdf87b5
Merge branch 'text-layout-speedup' into 'master'
...
textlayout: Avoid some iter comparisons
See merge request GNOME/gtk!2561
2020-09-11 21:20:38 +00:00
Matthias Clasen
c09575d9cb
textlayout: Avoid some iter comparisons
...
We were doing more iter comparisons than necessary in the
inner loop of gtk_text_layout_snapshot(), in the presence
of a selection. Rewrite the code to compare line numbers
instead, which is faster than full iter comparisons.
2020-09-11 16:41:42 -04:00
Matthias Clasen
c3b925d696
Merge branch 'wip/otte/for-master' into 'master'
...
contentserializer: Don't send the terminating \0 byte for strings
Closes #3150
See merge request GNOME/gtk!2560
2020-09-11 15:50:23 +00:00
Benjamin Otte
640856edec
contentserializer: Don't send the terminating \0 byte for strings
...
Fixes #3150
2020-09-11 17:25:02 +02:00
Matthias Clasen
1e7fccf46f
Merge branch 'wip/jimmac/new-colors' into 'master'
...
Wip/jimmac/new colors
Closes #3146
See merge request GNOME/gtk!2558
2020-09-11 13:56:48 +00:00
Matthias Clasen
ff392fbfb6
colorchooser: Don't parse color names needlessly
...
We have a fancy macro to initialize GdkRGBAs without
any runtime work, lets use them.
2020-09-11 09:31:17 -04:00
Matthias Clasen
498cbae95c
colorchooser: Drop color names
...
These were not used anymore, after a11y stopped using them.
2020-09-11 09:12:34 -04:00
Matthias Clasen
fa9608fd02
color chooser: Don't show too many custom colors
...
The code was hardcoding a fixed number of custom
colors, but we really want to match the number
of columns in the palette(s). Make it so.
2020-09-11 08:42:03 -04:00
Jakub Steiner
8700e136da
colorChooser: updte color palette
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3146
2020-09-11 10:47:24 +02:00
Ask Hjorth Larsen
2e54810937
Updated Danish translation of gtk-properties
2020-09-11 02:31:50 +02:00
Ask Hjorth Larsen
93a09a4a6a
Updated Danish translation of gtk
2020-09-11 02:31:41 +02:00
Matthias Clasen
299b1bd848
Merge branch 'matthiasc/for-master' into 'master'
...
x11: Print all tested glx extensions
See merge request GNOME/gtk!2556
2020-09-10 21:56:46 +00:00
Matthias Clasen
1e9a9876d5
x11: Print all tested glx extensions
...
When initializing a glx context, print all the extensions
we look for.
2020-09-10 17:30:28 -04:00
Matthias Clasen
1de7440c8c
Merge branch 'gdk-cleanups' into 'master'
...
Gdk cleanups
Closes #2790
See merge request GNOME/gtk!2553
2020-09-10 20:21:12 +00:00
Matej Urbančič
5c87432a0c
Update Slovenian translation
2020-09-10 20:12:10 +00:00
Matej Urbančič
80e53e704c
Update Slovenian translation
2020-09-10 20:09:27 +00:00
Matthias Clasen
24bf01dd42
Merge branch 'fix-vulkan-context-creation' into 'master'
...
Fix vulkan context creation
Closes #3147
See merge request GNOME/gtk!2555
2020-09-10 18:18:55 +00:00
Matthias Clasen
2113f98c5c
gdk: Don't create surfaces of size 0x0
...
Don't pass 0x0 as size when calling gdk_surface_new().
The Wayland backend takes us literally, and we end
up with a surface that (temporarily) has these
dimensions, confusing other APIs that we pass the
size to, such as Vulkan.
2020-09-10 13:56:44 -04:00
Matthias Clasen
b9d4654fca
vulkan: Fix swapchain creation
...
We end up with a surface that has size 0x0 at the
time we create the Vulkan context, and that is a
size that Vulkan doesn't like, so ensure we request
at least 1x1.
Fixes : #3147
2020-09-10 13:55:16 -04:00
Matthias Clasen
7151b1fc31
Merge branch 'ebassi/for-master' into 'master'
...
docs: Add note on command line arguments
See merge request GNOME/gtk!2554
2020-09-10 17:39:25 +00:00
Emmanuele Bassi
790733673f
docs: Add note on command line arguments
...
We don't parse them any more, and developers should stop using them when
migrating from GTK3 to GTK4.
2020-09-10 17:53:50 +01:00
Milo Casagrande
aff788e583
Update Italian translation
2020-09-10 08:03:38 +00:00
Matthias Clasen
d5d4af585d
gdk: Move GdkSurfaceEdge to the right header
...
This is only used in gdktoplevel.h, so move it there.
2020-09-10 00:44:05 -04:00
Matthias Clasen
93078e52c0
gdk: Rename GdkSurfaceState to GdkToplevelState
...
That is what it is.
Fixes : #2790
2020-09-10 00:39:03 -04:00
Matthias Clasen
cee275980a
gdk: Move GdkSurfaceState to the right header
...
This is really a toplevel state, so move it
to that header.
2020-09-10 00:25:51 -04:00
Matthias Clasen
b3aa5ad4f9
Move GdkFullscreenMode to the right header
...
This enum is just used for a GdkToplevel property now,
so move the declaration to the gdktoplevel.h header.
2020-09-10 00:22:26 -04:00
Matthias Clasen
9b0b19d335
NEWS: Updates
2020-09-09 23:49:58 -04:00
Matthias Clasen
d47d036663
search entry: Don't propagate handled events
...
When the text says it has handled the event,
trust it. We don't want to emit ::search-started
if the content hasn't changed, but we still
should not propagate e.g. an Insert key press
if it has already toggled overwrite mode in
the text.
Fixes : #2874
2020-09-09 22:26:27 -04:00
Matthias Clasen
5c67fe0bc2
Merge branch 'fix-gl-texture-cache' into 'master'
...
gsk: Fix the gl texture cache
See merge request GNOME/gtk!2552
2020-09-09 19:27:24 +00:00
Matthias Clasen
1057588a8f
gsk: Fix the gl texture cache
...
We need to include both the scale and the filtering
in the key for the texture cache, since those affect
the texture.
This fixes misrendering in the recorder in the inspector
whenever transforms are involved. An example where this
was showing up is testrevealer's swing transition.
2020-09-09 13:55:09 -04:00
Tim Sabsch
75f0b7acaa
Update German translation
2020-09-09 17:23:14 +00:00
Benjamin Otte
9a927176df
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
Closes #3137
See merge request GNOME/gtk!2550
2020-09-09 16:44:29 +00:00
Benjamin Otte
cb5b375f43
revealer: Remove arbitrary 100x scale limit
...
This is no longer necessary because the bug it was rying to solve is now
solved via the preference for min and nat size.
2020-09-09 17:38:37 +02:00
Benjamin Otte
dfccaa8831
revealer: Prefer min and nat size
...
Assume that the fully expanded revealer will likely get an allocation
that matches the child's minimum or natural allocation, so we
special-case these two values.
So when - due to the precision loss - multiple sizes would match the
current allocation, we don't pick one at random, we prefer the min and
nat size.
The preference of nat size over min sie was decided after an IRC vote,
we don't actually have an idea what's more likely to happen in the real
world.
Should we ever get better data, we might want to switch.
2020-09-09 17:38:37 +02:00
Benjamin Otte
cc58956dbb
revealer: Use floor(), not ceil()
...
We use ceil() in measure(), so using it again will increase the
child's size whenever there is even a tiny rounding error.
This should also not make the size too small, because:
min = ceil(child_min * scale)
min / scale >= child_min
floor (min / scale) >= floor (child_min) = child_min
The last equality is because child_min is an integer.
Fixes #3137
2020-09-09 17:38:37 +02:00
Benjamin Otte
0ad10ccf39
revealer: Refactor code
...
Assign the values in the same place.
2020-09-09 17:38:37 +02:00
Benjamin Otte
8cb03a8cc0
widget: Add a critical when allocation is too small.
2020-09-09 17:38:37 +02:00
Emmanuele Bassi
df7cbdfff4
Merge branch 'issue-3140' into 'master'
...
Make sure we don't call back into GtkEntryBuffer
Closes #3140
See merge request GNOME/gtk!2549
2020-09-09 10:54:07 +00:00
Emmanuele Bassi
f4b410daa7
Make sure we don't call back into GtkEntryBuffer
...
After commit 7e77afe94c moved the deletion
of text into the signal handler, in order to make undo work, we need to
override the GtkEntryBuffer::deleted-text class closure when subclassing
GtkEntryBuffer, as well as overriding GtkEntryBufferClass.delete_text,
otherwise the default class closure will be invoked, and will try to
delete an empty buffer.
Fixes : #3140
2020-09-09 11:29:16 +01:00
Emmanuele Bassi
b3d3d81c82
Merge branch 'gtksecurememory-win32' into 'master'
...
Port gtksecurememory.c to Windows
See merge request GNOME/gtk!2548
2020-09-09 10:12:44 +00:00
Chun-wei Fan
3095bccd2e
gtksecurememory.c: Port secure memory allocation to Windows
...
Use the Windows API CryptProtectMemory() to encrypt the data that we want to
secure, and use CryptUnprotectMemory() to de-crypt the secured data that we
want to access, since mmap() and mlock() are not available on Windows.
2020-09-09 13:50:15 +08:00
Chun-wei Fan
c72b2f6167
gtksecurememory.c: Don't include unistd.h unconditionally
...
It is not universally available on non-POSIX systems.
2020-09-09 13:48:33 +08:00
Matthias Clasen
3d10b28df4
Merge branch 'matthiasc/for-master' into 'master'
...
shadertoy demo: Cosmetic fixes
See merge request GNOME/gtk!2547
2020-09-09 00:40:54 +00:00
Matthias Clasen
d6807b966c
shadertoy demo: Cosmetic fixes
2020-09-08 20:08:23 -04:00
Matthias Clasen
887d0b7411
Merge branch 'ebassi/secure-buffer' into 'master'
...
Add secure entry buffer
Closes #3119 and #2403
See merge request GNOME/gtk!2545
2020-09-08 23:48:25 +00:00
Matthias Clasen
3921476504
Merge branch 'shadertoy-demo' into 'master'
...
gtk-demo: Add shadertoy demo
See merge request GNOME/gtk!2540
2020-09-08 23:47:54 +00:00
Emmanuele Bassi
ae97284409
docs: Add a note on GtkPasswordEntry's secure storage
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
7cda32d49e
Use GtkPasswordEntryBuffer in GtkPasswordEntry
...
Now that we have a secure buffer, we should start using it.
Fixed : #3119
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
fb99bde840
Add a secure GtkEntryBuffer
...
We have a widget for password and passphrase entries, but we have no way
to handle the data securely. This is usually performed by a separate
GtkEntryBuffer—for instance, the one in GCR. While we have API for
setting a new entry buffer on GtkText, we don't have API for
GtkPasswordEntry, though, so the options are:
- expose additional API for GtkPasswordEntry to allow setting a secure
text buffer on the internal GtkText widget
- provide a secure text buffer out of the box
Given that an insecure-by-default GtkPasswordEntry is basically
pointless, might as well have a secure buffer built in.
We don't really need to make the password entry buffer public out of the
box, but we can re-evaluate at a later date.
Fixes : #2403
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
9dc5c6a0f3
Move g_autoptr macro for GtkEntryBuffer
...
We need it into its own header, so we can derive from GtkEntryBuffer
with G_DECLARE_* macros without including gtk.h.
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
107e49002d
Check for mlock()
...
We use it in the secure memory allocator, if it's available.
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
31a7574544
Import egg-secure-memory allocator from gcr
...
We can re-use the code inside gcr, as we know that it's working, tested,
and license compatible.
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
859df747ac
Merge branch 'sorter-constructor-fix-warning' into 'master'
...
Fix warning in listview_settings demo
See merge request GNOME/gtk!2544
2020-09-08 17:54:25 +00:00
Andreas Persson
81c835c418
Fix warning in listview_settings demo
...
Fix a warning introduced when sorter constructors were changed to return
exact types.
2020-09-08 18:48:54 +02:00
Ask Hjorth Larsen
33e633cc5c
Updated Danish translation of gtk-properties
2020-09-08 16:23:16 +02:00
Ask Hjorth Larsen
73b46eafe1
Updated Danish translation of gtk
2020-09-08 16:23:05 +02:00
Marek Černocký
710ef690ec
Updated Czech translation
2020-09-08 15:33:40 +02:00
Matthias Clasen
cb2b0688ca
Merge branch 'filter-constructors' into 'master'
...
Filter constructors
See merge request GNOME/gtk!2360
2020-09-08 12:58:27 +00:00
Danial Behzadi
45c61fdbe3
Update Persian translation
2020-09-08 12:50:36 +00:00
Alexandre Franke
ec49b68257
Update French translation
2020-09-08 09:15:19 +00:00
Alexander Larsson
0092a08dfc
gtk-demo: Add shadertoy demo
...
This adds a small demo of using OpenGL shaders, it renders a quad
over the entire widget with a custom fragment shader. The coordinates
and the uniform names are compatible with the ones on shadertoy.com
(although some features, like texture inputs are missing currently).
The default shader in the demo is
https://www.shadertoy.com/view/wsjBD3 which is CC0, so it is
redistributable by Gtk+ (most other shaders are CC-BY-NC-SA which
isn't obviously compatible). I also added a set of buttons loading
a few other CC0 shaders I found.
2020-09-08 09:56:25 +02:00
Matthias Clasen
bab7092a69
Merge branch 'gl-linear' into 'master'
...
Gl: use linear interpolation
See merge request GNOME/gtk!2523
2020-09-07 21:27:09 +00:00
Matthias Clasen
3b6941b04b
Add some tests for the axis-aligned check
2020-09-07 14:22:47 -04:00
Matthias Clasen
fe429ffc45
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2541
2020-09-07 17:03:27 +00:00
Matthias Clasen
d595c6ab12
gsk: Complain if we fail to realize a renderer
...
The only likely place where this is going to happen
is if a renderer was explicitly requested with the
GSK_RENDERER environment variable, and in that case,
it is misleading to silently use a different renderer.
2020-09-07 11:18:45 -04:00
Matthias Clasen
2738d5bc93
gsk: Mention gl as valid value for GSK_RENDERER
2020-09-07 11:18:45 -04:00
Matthias Clasen
5a8267dfae
text: Set the hotspot for the drag icon
...
This makes the drag icon align properly with the
dragged text at the beginning of the drag.
2020-09-07 11:18:45 -04:00
Marek Černocký
d03ce22446
Updated Czech translation
2020-09-07 14:34:07 +02:00
Gil Forcada
350051c56e
Update Catalan translation
2020-09-07 10:31:39 +00:00
Daniel Mustieles
979ec828d2
Updated Spanish translation
2020-09-07 08:59:50 +02:00
Fran Dieguez
99ddb3c927
Update Galician translation
2020-09-06 23:22:39 +00:00
Fran Dieguez
770910e608
Update Galician translation
2020-09-06 23:20:08 +00:00
Matthias Clasen
7180bfc288
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3123
See merge request GNOME/gtk!2539
2020-09-06 21:39:08 +00:00
Matthias Clasen
bc80ed4240
aboutdialog: Disable text undo
...
The text buffers here are not editable, so it
does not make sense to have text undo enabled
for them.
Fixes : #3123
2020-09-06 17:02:00 -04:00
Matthias Clasen
4d45c2669c
text history: Update state when enabled changes
...
This makes can-undo go FALSE when we disable the
text history, as it should.
2020-09-06 17:02:00 -04:00
Balázs Úr
dd8ca7259f
Update Hungarian translation
2020-09-06 20:31:44 +00:00
Matthias Clasen
06c866f45e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2538
2020-09-06 19:38:56 +00:00
Baurzhan Muftakhidinov
2bd7ed5ebd
Update Kazakh translation
2020-09-06 17:36:39 +00:00
Matthias Clasen
adc9d91e0e
text: Stop drag updates when a dnd starts
...
This prevents the selection from changing underneath
us, messing up move dnd operations.
2020-09-06 12:19:44 -04:00
Matthias Clasen
1150c23b0f
Merge branch 'listwidgets-doc-fix' into 'master'
...
docs: Update list widgets docs
See merge request GNOME/gtk!2537
2020-09-06 15:53:59 +00:00
Matthias Clasen
9b8c175f23
textview: Fix dnd
...
When we start a dnd of the selection in the drag-update handler,
set the gesture state to denied. Otherwise, we get more drag-update
signals, and things get really confused, leading to no dnd and
sadness.
2020-09-06 11:48:10 -04:00
Andreas Persson
e0134aaf15
docs: Update list widgets docs
...
Removed sentence that claimed the view will wrap the model in a
GtkSingleSelection, as it's no longer true. Fixed the code example in
GtkListView for the same reason. Fixed a small typo in GtkDropDown docs.
2020-09-06 17:19:24 +02:00
Matthias Clasen
bd7aa1782c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2535
2020-09-06 13:25:43 +00:00
Alexandre Franke
007c9c6218
Update French translation
2020-09-06 12:44:35 +00:00
Matthias Clasen
8c8baa9aa6
gtk-demo: Add some comments
...
Add some comments to the math in the transforms demo.
2020-09-06 08:43:58 -04:00
Asier Sarasua Garmendia
7ae0f56378
Update Basque translation
2020-09-06 09:01:32 +00:00
Kukuh Syafaat
3fcf7adb25
Update Indonesian translation
2020-09-06 05:16:58 +00:00
Matthias Clasen
8b38d1895c
gtk-demo: Simplify the constraints demos
...
Give them all a close button in the header.
2020-09-05 22:54:16 -04:00
Matthias Clasen
a4ba25f0f8
inspector: Fix teardown of the general tab
...
We were connecting signal handlers to the display
and seats here, and never cleaning them up, leading
to crashes after the inspector is closed. This is
fairly easy to reproduce under Wayland, where the
scroll device is only created the first time we
create a scroll event.
2020-09-05 22:35:30 -04:00
Matthias Clasen
24389a0ef5
Make sorter constructors return exact types
...
Make functions like gtk_custom_sorter_new() return
the actual type they construct.
Update all callers.
2020-09-05 21:50:15 -04:00
Matthias Clasen
dfabe74c59
Make filter constructors return exact types
...
Make functions like gtk_custom_filter_new() return
the actual type they construct.
Update all callers.
2020-09-05 21:43:42 -04:00
Goran Vidović
716c7b2f21
Update Croatian translation
2020-09-05 20:45:50 +00:00
Aurimas Černius
c74c38ad06
Updated Lithuanian translation
2020-09-05 19:57:34 +03:00
Matthias Clasen
727f25f6da
Merge branch 'revert-43ca43a22f' into 'master'
...
Revert "Adwaita: rich-list styling"
See merge request GNOME/gtk!2533
2020-09-05 16:00:33 +00:00
Matthias Clasen
01959e1662
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3122
See merge request GNOME/gtk!2534
2020-09-05 14:49:10 +00:00
nana-4
12afc10ec3
Revert "Adwaita: rich-list styling"
...
This reverts commit 2f0a4c7128 .
It seems the commit was accidentally added when
768e24afc1 was manually merged and pushed.
2020-09-05 23:13:24 +09:00
Matthias Clasen
2f70279f85
Merge branch 'typo_correction' into 'master'
...
Typo correction
Closes #3086 and #3090
See merge request GNOME/gtk!2532
2020-09-05 13:54:18 +00:00
Matthias Clasen
ffc77ca926
css: Use an array when parsing selectors
...
There's no need for us to have a hard size-limit here;
with GdkArray we don't have to give up on stack-preallocation
either.
2020-09-05 09:51:59 -04:00
Emin Tufan Çetin
021eeedef0
Update Turkish translation
2020-09-05 12:45:24 +00:00
Matthias Clasen
635492b016
text: Don't replace unselected text with Emoji
...
We must be careful to not select everything on focus-in
before we have the Emoji inserted. This was accidentally
broken in d5121af876 .
Fixes : #3122
2020-09-05 08:40:02 -04:00
Yuri Chornoivan
bd226cc31e
Update Ukrainian translation
2020-09-05 12:29:46 +00:00
Ahmed Eldemery
cbd3158d91
add a missing comma
2020-09-05 13:49:01 +02:00
Ahmed Eldemery
982cf0c4d3
Merge remote-tracking branch 'upstream/master' into master
2020-09-05 13:46:27 +02:00
Piotr Drąg
d37cb36eb1
Update Polish translation
2020-09-05 13:27:57 +02:00
Piotr Drąg
e374917c56
Update POTFILES.in
2020-09-05 11:53:39 +02:00
Matthias Clasen
1dd4e91fee
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2531
2020-09-04 17:57:23 +00:00
Matthias Clasen
c1bf9f3b41
layoutmanager demo: Make icons come out upright
...
Rearrange the vertices so that the icons show
up in the proper orientation.
2020-09-04 13:40:10 -04:00
Matthias Clasen
8a3621a125
Beef up transform testcase
...
Make this show 'paintings in paintings'.
2020-09-04 13:20:59 -04:00
Matthias Clasen
81f84fbe8f
modelbutton: Claim the gesture
...
This aligns the model button behavior with what
GtkButton does.
2020-09-04 13:20:33 -04:00
Matthias Clasen
60e37d3368
Update gsk tests
...
Add a clip-coordinates-2d test that is similar
to clip-coordinates-3d, but actually uses a 2D
transform.
2020-09-04 13:19:01 -04:00
Matthias Clasen
e0cc7b5d86
Check for pixel-alignedness for interpolation
...
When rendering to an offscreen because of transforms,
check if transforming the bounds of the node results
in a non-axis-aligned quad. If it doesn't, we want
GL_NEAREST interpolation to get sharp edges. Otherwise,
we use GL_LINEAR to get better results for things
that are actually transformed.
2020-09-04 13:16:53 -04:00
Matthias Clasen
9843515736
gl: Reshuffle some code
...
Just rearrange the cases in this switch, no effective change.
2020-09-04 13:16:11 -04:00
Matthias Clasen
41497aeb8b
Add gsk_matrix_transform_rect
...
This is a projecting version of the corresponding
graphene api. While we are at it, rewrite
gsk_matrix_transform_bounds() to use
gsk_matrix_transform_rect().
2020-09-04 13:15:21 -04:00
Matej Urbančič
bb2a0e69f4
Updated Slovenian translation
2020-09-04 17:30:55 +02:00
Matthias Clasen
f70e37a341
Merge branch 'release-script' into 'master'
...
Release script
See merge request GNOME/gtk!2530
2020-09-04 15:30:35 +00:00
Benjamin Otte
1a445d79c4
Merge branch 'demo_css_pixbufs_fix' into 'master'
...
gtk-demo: Fix CSS in pixbufs demo
See merge request GNOME/gtk!2529
2020-09-04 14:40:36 +00:00
Matthias Clasen
925a01162f
build: Add a release script
...
I've goofed up too many times producing the separate
doc tarballs. So lets collect the required steps in a script.
2020-09-04 10:26:16 -04:00
Björn Daase
3bcbb4a7cc
gtk-demo: Fix CSS in pixbufs demo
2020-09-04 16:14:09 +02:00
Matthias Clasen
a8eae7afaa
build: Move the gtk-doc dep to the toplevel
...
We want to include the gtk-doc subproject in release
tarballs, using --include-subprojects, but that only
works if we've actually built the subproject. And
enabling gtk-doc for dist builds is problematic -
it tends to break meson dist.
So declare the gtk-doc dependency independent of
-Dgtk_doc, and use --force-fallback-for for it.
2020-09-04 09:57:14 -04:00
Dušan Kazik
99a09e0d08
Update Slovak translation
2020-09-04 12:42:52 +00:00
Matthias Clasen
275302a9d5
Merge branch 'fix-gtk-application-menu-example' into 'master'
...
GtkApplicationWindow: Fix menubar example
See merge request GNOME/gtk!2528
2020-09-04 12:32:40 +00:00
Emmanuele Bassi
749d0744da
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
Closes #3118
See merge request GNOME/gtk!2527
2020-09-04 11:56:03 +00:00
Emmanuel Gil Peyrot
62f7395c77
GtkApplicationWindow: Fix menubar example
...
This example was using invalid attribute syntax.
2020-09-04 13:49:28 +02:00
Emmanuele Bassi
f7f0bc0369
Use consistent argument name
...
Declarations, definitions, and gtk-doc stanzas should use the same name
for arguments. Otherwise both g-ir-scanner and gtk-doc will complain
that they can't find the argument.
2020-09-04 12:05:01 +01:00
Emmanuele Bassi
1896d7f463
build: Make sysprof truly optional
...
We are falling back to the sysprof subproject even if sysprof support
has been explicitly disabled.
Fixes : #3118
2020-09-04 12:02:15 +01:00
Emmanuele Bassi
927c4abf23
Merge branch 'fix-vulkan-dependency-searching' into 'master'
...
meson: Fix Vulkan dependency checking
Closes #3108
See merge request GNOME/gtk!2526
2020-09-04 10:49:50 +00:00
Chun-wei Fan
b322ddba5c
gdksurface-win32.c: Fix missed include
...
We need to include gdkdevice-win32.h for gdksurface-win32.c
2020-09-04 17:24:57 +08:00
Nirbheek Chauhan
b25871438d
meson: Fix Vulkan dependency checking
...
The dependency block was completely wrong. It was:
1. Not searching for the lib manually when -Dvulkan=enabled (default).
The else block was only hit when -Dvulkan=auto.
2. Unconditionally searching for the vulkan library in the else block
when -Dvulkan=disabled
The manual searching is also not required because Meson has a custom
'vulkan' dependency class that already supports Windows, and is more
correct than the code here. Specifically, the current code does not
support picking up the Vulkan SDK from a custom path.
Fixes #3108
2020-09-04 11:50:50 +05:30
Jordi Mas
aff3cc6194
Update Catalan translation
2020-09-04 06:26:23 +02:00
Ahmed Eldemery
f2c4ad0087
Merge remote-tracking branch 'upstream/master' into master
2020-09-03 20:24:26 +02:00
Matthias Clasen
1a131a04d3
3.99.1
2020-09-03 14:20:06 -04:00
Matthias Clasen
887539e4ff
gridview: Make constructor arguments nullable
...
I forgot to adjust the precondition when copying things
around.
2020-09-03 14:20:06 -04:00
Matthias Clasen
98440142da
Merge branch 'layout-manager-transform-demo' into 'master'
...
Layout manager transform demo
See merge request GNOME/gtk!2519
2020-09-03 14:49:31 +00:00
Matthias Clasen
acc2516b3c
Add another layout manager demo
...
This demo uses transforms to place icons on a sphere.
2020-09-03 10:09:22 -04:00
Matthias Clasen
fd7a9069ce
Cosmetic improvement to the layout manager demo
...
Give this a better title, since we will have more
than one layout manager demo soon.
2020-09-03 10:09:22 -04:00
Matthias Clasen
1a8f109af8
Add a simple testcase for transforms
...
This can help in tracking various things down,
from picking to clipping.
2020-09-03 10:09:22 -04:00
Matthias Clasen
eee6d28c67
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3109 and #3112
See merge request GNOME/gtk!2522
2020-09-02 19:47:40 +00:00
Matthias Clasen
30ab8b3eca
Fix picking
...
My previous change here was too hasty - this code is not
actually transforming points - it is just a convoluted
way to transform the z axis from child coordinates to
the parent.
2020-09-02 15:20:58 -04:00
Matthias Clasen
d5121af876
text widgets: Don't lose focus after Emoji
...
Make sure to grab focus back when the Emoji chooser
disappears. This prevents focus going nowhere when
the Emoji chooser is canceled.
Fixes : #3112
2020-09-02 15:20:58 -04:00
Matthias Clasen
9512e461d5
textview: Fix placement of Emoji chooser
...
If the selection extends beyond the visible range,
place the Emoji chooser over the center of the window.
Fixes : #3109
2020-09-02 15:20:58 -04:00
Matthias Clasen
70c5dee968
NEWS: Updates
2020-09-02 15:20:58 -04:00
Emin Tufan Çetin
6c9fe63a23
Update Turkish translation
2020-09-02 18:26:15 +00:00
Mario Blättermann
a909f9d0f5
Update German translation
2020-09-02 17:14:28 +00:00
Carlos Garnacho
21b9dad9e6
Merge branch 'gesture-nullable-sequence' into 'master'
...
Annotate sequence argument of GtkGesture signals as nullable
See merge request GNOME/gtk!2520
2020-09-02 11:11:54 +00:00
Sebastian Dröge
ae5d1cd161
Annotate sequence argument of GtkGesture signals as nullable
2020-09-02 13:32:20 +03:00
Matthias Clasen
f53b59533d
README: Cosmetics
2020-09-01 19:21:32 -04:00
Matthias Clasen
062822ab06
Merge branch 'checkbutton-fixes' into 'master'
...
Checkbutton fixes
See merge request GNOME/gtk!2518
2020-09-01 22:15:33 +00:00
Goran Vidović
fc333ead79
Update Croatian translation
2020-09-01 21:14:00 +00:00
Matthias Clasen
746bdd3d47
checkbutton: Don't notify write-only properties
...
Nobody is listening...
2020-09-01 16:31:07 -04:00
Matthias Clasen
c5c67cbb8c
action helper: Drop G_GNUC_INTERNAL from headers
...
We haven't needed this for a long time now.
2020-09-01 16:29:21 -04:00
Matthias Clasen
639c839ba4
Add docs about grouping via action
...
Mention this in the docs for gtk_check_button_set_group
and gtk_toggle_button_set_group.
2020-09-01 16:29:21 -04:00
Matthias Clasen
5f8769e1a8
checkbutton: Support GtkActionable properly
...
Support grouping buttons via a radio action, as well
as via explicit gtk_check_button_set_group() calls.
2020-09-01 16:29:21 -04:00
Matthias Clasen
3569360949
actionhelper: Add a getter
...
Add a getter for the GtkActionHelper:role property.
2020-09-01 16:29:20 -04:00
Aurimas Černius
7070459c40
Updated Lithuanian translation
2020-09-01 22:45:16 +03:00
Matthias Clasen
1c0bf2604c
checkbutton: Don't leak the action helper
2020-09-01 15:24:34 -04:00
Fran Dieguez
c2786fefa8
Update Galician translation
2020-09-01 19:08:43 +00:00
Matthias Clasen
1bbab5664d
Merge branch 'license-clarification' into 'master'
...
License clarification
See merge request GNOME/gtk!2517
2020-09-01 18:58:52 +00:00
Matthias Clasen
a3030d3a62
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3107
See merge request GNOME/gtk!2516
2020-09-01 18:26:21 +00:00
Matthias Clasen
ec6d3ead03
Add a license clarification
2020-09-01 14:25:56 -04:00
Matthias Clasen
87855dd375
Move timsort sources to a subdirectory
...
This makes it easier to identify the files that
belong together, and are under the same license.
2020-09-01 14:25:56 -04:00
Matthias Clasen
0e6eba3968
inspector: Plug another memory leak
...
Fixes : #3107
2020-09-01 13:06:20 -04:00
Matthias Clasen
aaef9bec7f
treelistrowsorter: Plug a memory leak
2020-09-01 13:01:34 -04:00
Matthias Clasen
391c05ef70
inspector: Plug a small memory leak
2020-09-01 12:57:08 -04:00
Benjamin Otte
133a9a6784
Merge branch 'listview-constructors' into 'master'
...
list widgets: Simplify the constructors
See merge request GNOME/gtk!2515
2020-09-01 16:42:09 +00:00
Matthias Clasen
b628338db3
list widgets: Simplify the constructors
...
Now that both arguments to the _new_with_factory() constructors
are nullable, there's no good reason to keep a separate _new()
around. Just make gtk_list_view_new() and gtk_grid_view_new()
take both a model and a factory.
2020-09-01 12:24:06 -04:00
Matthias Clasen
7051fdee5d
Merge branch 'projective-transform' into 'master'
...
Replace uses of graphene_matrix_transform_
See merge request GNOME/gtk!2514
2020-09-01 13:44:38 +00:00
Matthias Clasen
e36b594867
Replace uses of graphene_matrix_transform_
...
Replace our uses of graphene_matrix_transform_point,
_point3d and _bounds by our own versions that handle
projective transforms correctly.
This fixes render node bounds being incorrect for widgets
involving projective transforms (e.g. testrevealer swing
transformations), and also fixes picking on such widgets.
2020-09-01 09:18:38 -04:00
Matthias Clasen
99a7a2188a
gsk: Add some private transform apis
...
Some of the graphene_matrix_transform apis don't work
correctly with projective matrices, so add our own
variants.
2020-09-01 09:18:38 -04:00
Asier Sarasua Garmendia
3ac9f78141
Update Basque translation
2020-09-01 12:21:34 +00:00
Benjamin Otte
a8d6ba9517
Merge branch 'view-selection-model-3' into 'master'
...
list widgets: Use selection models in the api
See merge request GNOME/gtk!2512
2020-09-01 11:08:51 +00:00
Daniel Mustieles
482794515b
Updated Spanish translation
2020-09-01 11:05:08 +02:00
Matthias Clasen
9377ce984d
Merge branch 'adwaita-more-border-spacing' into 'master'
...
Adwaita: Add border-spacing to some container widgets and style classes (properly)
See merge request GNOME/gtk!2479
2020-08-31 21:17:21 +00:00
Matthias Clasen
8d79a32c50
list widgets: Use selection models in the api
...
Change the apis in GtkListView, GtkColumnView and
GtkGridView to be explicitly about GtkSelectionModel,
to make it obvious that the widgets handle selection.
Update all users.
2020-08-31 17:15:05 -04:00
Matej Urbančič
b661bd9775
Updated Slovenian translation
2020-08-31 21:53:05 +02:00
Matej Urbančič
87dd79bc17
Updated Slovenian translation
2020-08-31 21:50:01 +02:00
Matthias Clasen
d2d8b748e9
NEWS: Updates
2020-08-31 13:37:52 -04:00
Matthias Clasen
ccb447da02
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2777
See merge request GNOME/gtk!2503
2020-08-31 16:30:21 +00:00
Matthias Clasen
4580e71250
Merge branch 'fix_resource_leak_in_gdkdisplayclose_gtk4' into 'master'
...
Fix resource leak in gdk_display_close() under Wayland
See merge request GNOME/gtk!2511
2020-08-31 16:17:05 +00:00
Matthias Clasen
76b5ff6a00
pagesetupdialog: Just use labels in check buttons
...
Check buttons lost their ability to hold general
content. And while that is maybe sad, the tiny
images here are not really useful anyway, and
should just go away.
2020-08-31 12:05:53 -04:00
Julien Ropé
665955b81e
Fix resource leak in gdk_display_close() under Wayland
...
When using the gdk_display_close(), the handle to the Wayland compositor was not released. This could cause the consumption of all available handles, preventing other processes from accessing the display.
Fixing this by calling wl_display_disconnect() when releasing the GdkWaylandDisplay object.
Signed-off-by: Julien Ropé <jrope@redhat.com >
2020-08-31 17:46:18 +02:00
Matthias Clasen
501cf493bf
Fix a typo
2020-08-31 10:50:14 -04:00
sicklylife
684c36c13f
Update Japanese translation
2020-08-31 14:36:14 +00:00
sicklylife
d93eb0d88f
Update Japanese translation
2020-08-31 14:30:59 +00:00
Boyuan Yang
64b049f798
Update Chinese (China) translation
2020-08-31 13:44:27 +00:00
Matthias Clasen
03dd629257
Fix up the focus-chain tests
...
Several typos here, and some of the expected
output changes due to widget class changes.
2020-08-31 08:20:25 -04:00
Matthias Clasen
6ccc6a5650
doc shooter: Remove radio button remnants
2020-08-31 08:13:20 -04:00
Rafael Fontenelle
5adc1dc40f
Update Brazilian Portuguese translation
2020-08-31 11:12:54 +00:00
Jakub Steiner
768e24afc1
Merge branch 'nana-4/gtk-fix-circular-button-styling'
2020-08-31 11:27:29 +02:00
nana-4
4cf9228659
Adwaita: Ensure button.circular is a perfect circle
...
It seems the commit 9d60047616 had no
effect, even on image buttons.
2020-08-31 11:24:46 +02:00
Jakub Steiner
2f0a4c7128
Adwaita: rich-list styling
...
FIXME: why is the second list in Demo>List Box>Controls taller?
2020-08-31 11:21:57 +02:00
Yuri Chornoivan
e64b08ab90
Update Ukrainian translation
2020-08-31 06:13:57 +00:00
Kukuh Syafaat
9bc97fb52c
Update Indonesian translation
2020-08-31 06:04:08 +00:00
Kukuh Syafaat
077f21c9ff
Update Indonesian translation
2020-08-31 06:02:57 +00:00
Matthias Clasen
cff211ea1f
migration guide: Mention button hierarchy changes
2020-08-30 22:25:56 -04:00
Matthias Clasen
17c4838569
Drop GtkRadioButton
2020-08-30 22:25:36 -04:00
Matthias Clasen
bb6045f02d
builder-tool: Replace radio buttons by check buttons
...
For --3to4, replace GtkRadioButton by either GtkCheckButton
or GtkToggleButton, depending on the value of :draw-indicator.
Update the testsuite to cover this.
2020-08-30 22:17:31 -04:00
Matthias Clasen
b98352de3e
widget-factory: Stop using radio buttons
...
Use grouped toggle buttons for the view switcher
on page 2.
2020-08-30 22:17:31 -04:00
Matthias Clasen
1125a4379c
iconbrowser: Stop using radio buttons
...
Replace them with grouped toggle buttons.
2020-08-30 22:14:05 -04:00
Matthias Clasen
f085ac837c
fontrendering demo: Stop using radio buttons
...
Replace them with grouped toggled buttons.
2020-08-30 22:14:05 -04:00
Matthias Clasen
28d7f497ef
togglebutton: Add grouping
...
This is the replacement for groups of radiobuttons
with draw-indicator = FALSE.
2020-08-30 22:14:05 -04:00
Matthias Clasen
b69e8d8e7b
Remove GtkRadioButton uses in ui files in tests
2020-08-30 21:23:25 -04:00
Matthias Clasen
c7b6c2f441
Remove GtkRadioButton references in the docs
2020-08-30 21:23:25 -04:00
Matthias Clasen
2c5c938f0d
Clean up uses of gtk_toggle_button_get/set_active
...
Replace all uses on check buttons by the corresponding
check button api.
2020-08-30 21:23:25 -04:00
Matthias Clasen
cfade230ce
docs: Update the gallery image for check buttons
...
Show grouped and ungrouped check buttons.
2020-08-30 21:23:25 -04:00
Matthias Clasen
238d52497d
doc shooter: Drop radio buttons
...
Instead, show grouped checkbuttons.
2020-08-30 21:23:25 -04:00
Matthias Clasen
ba6070b7be
build: The doc shooter works without x11 now
...
No need to restrict the build to just x11.
We're not using pixmaps anymore.
2020-08-30 21:23:25 -04:00
Matthias Clasen
8f1bf594b9
Drop a long-dead test
...
We don't parse rc files anymore. Time for testrc.c to go.
2020-08-30 21:23:25 -04:00
Matthias Clasen
1b6f734019
tests: Stop using radio buttons
...
Use grouped check buttons.
2020-08-30 21:23:25 -04:00
Matthias Clasen
cd284da794
checkbutton: Reuse a helper function
2020-08-30 21:23:25 -04:00
Matthias Clasen
591b52584e
checkbutton: Fix clicking on the last group member
...
Clicking on the last group member was letting me
uncheck it, creating a radio group without active
item, which is not what we want.
2020-08-30 21:23:25 -04:00
Matthias Clasen
f30d32f609
pagesetupdialog: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
33b65d5e61
stackswitcher: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
00124b593e
inspector: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
2d6c43b598
checkbutton: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
d6e1276fe1
mountoperation: Stop using radio buttons
...
Use grouped check buttons instead.
2020-08-30 21:23:25 -04:00
Matthias Clasen
151b9c71db
printeroptionwidget: Stop using radio buttons
...
Use grouped check buttons instead.
2020-08-30 21:23:25 -04:00
Matthias Clasen
c9eb497989
gtk-demo: Fix up the fontrendering demo
2020-08-30 21:23:14 -04:00
Matthias Clasen
dc8b88393d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3104
See merge request GNOME/gtk!2507
2020-08-30 22:01:45 +00:00
Matthias Clasen
7a05381825
gtk-demo: Port to font explorer to grouped checkbuttons
...
Stop using radio buttons here.
2020-08-30 17:59:23 -04:00
Matthias Clasen
e21b6a5721
widget-factory: Fix up radio buttons
...
Keep calling them radiobutton, since that is what they are.
And make the insensitive second group of three match what
we have in gtk3-widget-factory, and be parallel to the
insensitive checkbuttons next to it.
2020-08-30 17:59:23 -04:00
Matthias Clasen
d3042dabf4
printdialog: Make collate image smaller
...
This matches the appearance on GTK 3, and prevents
the checkbuttons next to the image from being spaced
out.
2020-08-30 17:59:23 -04:00
Matthias Clasen
830b2b7f30
printdialog: Fix radio groups
...
We need to use grouped checkbuttons now.
2020-08-30 17:59:23 -04:00
Matthias Clasen
af155838bd
fontchooser: Fix radio groups for features
...
We need to use grouped checkbuttons now.
2020-08-30 17:59:23 -04:00
Matthias Clasen
2212daf979
Better fontconfig suppression
2020-08-30 13:14:55 -04:00
Matthias Clasen
5ef0ed1189
inspector: Add some translator comments
...
Some of the strings we have here are hard to translate,
so leave some hints, and some context.
Fixes : #3104
2020-08-30 13:12:10 -04:00
Matthias Clasen
071763c844
inspector: Add a dark background to the recorder
...
Add a button to toggle the background in the node
view between dark and light. This helps to discern
the borders of some nodes.
2020-08-30 08:59:13 -04:00
Matthias Clasen
c69ac09afb
Another attempt to make circular buttons square
...
circular button, square hole...
2020-08-30 08:34:30 -04:00
Matthias Clasen
4ba84d6426
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3098
See merge request GNOME/gtk!2506
2020-08-30 12:29:24 +00:00
Bruce Cowan
fac0e7abd8
Update British English translation
2020-08-30 11:46:48 +00:00
Asier Sarasua Garmendia
14daddfa9d
Update Basque translation
2020-08-30 10:26:53 +00:00
Asier Sarasua Garmendia
0c150e48f1
Update Basque translation
2020-08-30 10:23:55 +00:00
Matthias Clasen
c51f69c446
gtk-demo: Cosmetic change to the css shadows demo
...
Make the text view in the bottom take up the bulk
of the window, as it used to be.
2020-08-29 16:42:30 -04:00
Matthias Clasen
8e74687ab3
page setup dialog: Prevent cascading paper dialogs
...
We trigger the paper dialog when the "manage" item
in the dropdown is selected. But the selection also
changes due to internal changes, such as reloading
the custom paper list when the paper dialog is
closed. We need to be extra careful to avoid triggering
another paper dialog when that happens.
Fixes : #3098
2020-08-29 16:30:34 -04:00
Matthias Clasen
15c6760a96
print dialog: Prevent cascading paper dialogs
...
We trigger the paper dialog when the "manage" item
in the dropdown is selected. But the selection also
changes due to internal changes, such as reloading
the custom paper list when the paper dialog is
closed. We need to be extra careful to avoid triggering
another paper dialog when that happens.
2020-08-29 16:30:26 -04:00
Matthias Clasen
6ffb3d3fe5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2504
2020-08-29 17:37:18 +00:00
Matthias Clasen
0f42d37f8b
css: Fix parsing of scientific notation
...
The parser got its chars mixed up while parsing numbers
like 2.3e-04. While it is unlikely to meet such numbers
in human-generated css, we do have them e.g. when saving
render node trees with transforms.
Also add some css parser tests for number parsing.
2020-08-29 12:44:26 -04:00
Boyuan Yang
02d57f1fd7
Update Chinese (China) translation
2020-08-29 15:22:48 +00:00
Timm Bäder
1375fb4464
Change button hierarchy
...
A radiobutton without indicator is really just a togglebutton with a
group.
A radiobutton with indicator is really just a checkbutton with a group.
Make checkbutton its own widget not inheriting from GtkButton.
GtkRadioButton could be removed but it stays for now.
Radiobutton && !draw-indicator => Togglebutton
Checkbutton && !draw-indicator => Togglebutton
Radiobutton && draw-indicator => CheckButton + group
2020-08-29 16:46:28 +02:00
Timm Bäder
51b398b960
rendernodes: Whitespace
2020-08-29 16:46:28 +02:00
Timm Bäder
b0d89b1882
wayland: Fix a GSettingsSchema leak
2020-08-29 16:46:28 +02:00
Timm Bäder
c1c2205018
gl renderer: Adjust gaussian blur sigma
...
To look more like what browsers do.
2020-08-29 16:46:28 +02:00
Timm Bäder
7a8d71138f
testoutsetshadowdrawing: Make window background white
...
This makes it easier to compare the rendering with other sources.
2020-08-29 16:46:28 +02:00
Timm Bäder
2bff84ca6c
gl: Adjust blur radius_multiplier
...
2.0 Looks much closer to what my browser does.
Fixes #2777
2020-08-29 16:46:25 +02:00
Boyuan Yang
e8805eb9bf
Update Chinese (China) translation
2020-08-29 14:19:45 +00:00
Timm Bäder
21e2c7fa33
icon-browser: Add .navigation-sidebar to sidebar
2020-08-29 11:11:29 +02:00
Timm Bäder
53eed09e08
gdkcairoprivate: Fix header guard
2020-08-29 11:11:29 +02:00
Timm Bäder
0fd8a287fc
spinbutton: Whitespace
2020-08-29 11:11:29 +02:00
Timm Bäder
1d6ac9b47b
button: Use gtk_widget_class_add_shortcut directly
...
To show how that works
2020-08-29 11:11:29 +02:00
Timm Bäder
acbb59bfae
button: Whitespace
2020-08-29 11:11:29 +02:00
Timm Bäder
ea21e50cc1
testadjustsize: Fix overlay/box confusion
2020-08-29 11:11:29 +02:00
Timm Bäder
e970c69843
gsk: Fix border node diff implementation
...
This was showing up in the interactive constraint demo in gtk4-demo.
2020-08-29 11:11:29 +02:00
Piotr Drąg
ce737f69d7
Update POTFILES.skip
2020-08-29 10:55:11 +02:00
Changwoo Ryu
e4ad403a9a
Update Korean translation
2020-08-29 03:57:33 +00:00
Changwoo Ryu
722cab1b6b
Update Korean translation
2020-08-29 03:56:51 +00:00
Matthias Clasen
38c2555d46
Merge branch 'issue-3099' into 'master'
...
demo: Fix the resource path for css_pixbufs demo
Closes #3099
See merge request GNOME/gtk!2500
2020-08-29 03:54:32 +00:00
Emmanuele Bassi
ebef48f7df
demo: Fix the resource path for css_pixbufs demo
...
Fixes : #3099
2020-08-28 18:39:59 +01:00
Ahmed Eldemery
a67899870a
Merge remote-tracking branch 'upstream/master' into master
2020-08-28 18:45:15 +02:00
Asier Sarasua Garmendia
a0565ea8d9
Update Basque translation
2020-08-28 18:45:01 +02:00
Matthias Clasen
1d2634e73b
NEWS: Updates
2020-08-28 18:45:01 +02:00
Matthias Clasen
18a85998dc
idle sizer: Request a motion event after layout
...
When we are reallocating widgets, make sure that
we get a motion event in the next frame cycle,
so the hover state gets updated.
2020-08-28 18:45:01 +02:00
Matthias Clasen
c6fee8cee5
Add a function to request motion events
...
We want to ensure that the pointer position is reflected
when widget geometry changes, so add a function that tells
GDK "please create a motion event at the current position
on this surface, if one doesn't happen already".
2020-08-28 18:45:01 +02:00
Jordi Mas
dc17cf19b4
Update Catalan translation
2020-08-28 18:45:01 +02:00
Matthias Clasen
df88abb9c4
bookmarksmanager: Cancel async reads properly
...
This was causing the objects-finalize test to fail in ci.
2020-08-28 18:45:01 +02:00
Matthias Clasen
bba7f444dc
Don't export gdk_surface_constrain_size
...
It has one last use in gtkwindow.c, but that will
go away and doesn't need this function to be exported
anyway.
2020-08-28 18:45:01 +02:00
Kukuh Syafaat
6b9db59e62
Update Indonesian translation
2020-08-28 18:45:01 +02:00
Carlos Garnacho
0077f95ace
gdk/wayland: Use double-click/drag-threshold settings from g-d-s
...
Handle both these settings, and the older settings-daemon ones for
backwards compatibility. The keys are already checked for existence
in the schema, so it will just use the existing ones.
2020-08-28 18:45:01 +02:00
Carlos Garnacho
c770adb918
gdk/wayland: Look for font settings in gsettings-desktop-schemas
...
Prefer this location, but also look for the old location in
settings-daemon for backwards compatibility. This applies to both
direct settings lookups and via the settings portal.
2020-08-28 18:45:01 +02:00
Alexander Mikhaylenko
529b44625d
wayland: Fix dnd hotspot movement
...
_gdk_wayland_surface_offset_next_wl_buffer() moves the surface relatively
to its current position, pass it a delta instead of new position.
2020-08-28 18:45:01 +02:00
Matthias Clasen
c10636789d
gdk: Drop an unused vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
8124f5896d
gdk: Cosmetics
2020-08-28 18:45:01 +02:00
Matthias Clasen
28f831ebb0
broadway: Fix up surface_at_position
2020-08-28 18:45:01 +02:00
Matthias Clasen
3ec7a6c861
win32: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
8da4a02da0
wayland: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-28 18:45:01 +02:00
Matthias Clasen
e6d4555b34
wayland: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
f854c2850f
broadway: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-28 18:45:01 +02:00
Matthias Clasen
d6392c9035
broadway: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
02631d2b6e
x11: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-28 18:45:01 +02:00
Matthias Clasen
9cddc36fe2
x11: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
690d72e696
gdk: Drop the query_state vfunc
...
It is no longer used.
2020-08-28 18:45:01 +02:00
Matthias Clasen
9dbf81e7d9
x11: Stop setting the query_state vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
0546f09b1d
win32: Stop using the query_state vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
22099ebb05
macos: Stop setting the query_state vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
07ef594be1
wayland: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-28 18:45:01 +02:00
Matthias Clasen
d785212706
broadway: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-28 18:45:01 +02:00
Matthias Clasen
9b0c2e62ba
Drop _gdk_device_query_state
...
It is now unused.
2020-08-28 18:45:01 +02:00
Matthias Clasen
983f072514
macos: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-28 18:45:01 +02:00
Matthias Clasen
275b95841b
win32: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-28 18:45:01 +02:00
Matthias Clasen
7d9bc01797
x11: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-28 18:45:01 +02:00
Matthias Clasen
028644d0ad
Make gdk_surface_get_device_position return a boolean
...
A year ago, we make this function not return the child
surface anymore. But the information whether the device
is actually over the surface is still useful, and we
should not loose it.
2020-08-28 18:45:01 +02:00
Matthias Clasen
76e83d3216
main: Avoid a crash with crossing event handling
...
We are reusing the GtkCrossingData struct for multiple
calls here, so we need to make sure that the targets
stay alive from beginning to end.
Fixes : #3090
2020-08-28 18:45:01 +02:00
Matthias Clasen
002376f837
widget: Avoid a crash in crossing event handling
...
We need to make sure that the crossing data stays
alive until we are done handling it, so take references
on all the widgets in it.
2020-08-28 18:45:01 +02:00
Alexander Larsson
39d71dbb0a
broadway: Prune fully clipped render nodes
...
If some node is fully outside the clip region we don't send it to the daemon.
This helps a lot in how much data we send for scrolling viewports.
However, sending partial trees makes node reuse a bit more tricky. We
can't save for reuse any node that could possibly clip different depending on
the clip region, as that could be different next frame. So, unless the
node is fully contained in the current clip (and we thus know it is not
parial) we don't allow reusing that next frame.
This fixes #3086
2020-08-28 18:45:01 +02:00
Alexander Larsson
b5e7499bbd
broadway: Track the clip region in the renderer
...
If we know what can't possibly be visible we may can later decide to
not expose a node.
2020-08-28 18:45:01 +02:00
Fran Dieguez
fed6ba9bd0
Update Galician translation
2020-08-28 18:45:01 +02:00
Alexander Larsson
5581f78f41
Broadway: Fix handling of debug nodes
...
The debug nodes have id BROADWAY_NODE_DEBUG, which happens to be "12".
So, don't hardcode the wrong number "14".
2020-08-28 18:45:01 +02:00
Alexander Larsson
a97ea17c92
broadway: Correct handling of opaque colors
...
If alpha is 255, we use rgb() instead of rgba(), not if alpha is 0.
This makes the title bar gradient go from fully transparent to blue
rather than black to blue..
2020-08-28 18:45:01 +02:00
Matthias Clasen
67f259cd1a
fontchooser: Populate the list incrementally
...
By adding 20 fonts / frame to the font list, we can
get the font chooser dialog to show up much faster.
This change gets the font chooser up in 265ms here.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
e5f4459e4b
a11y: Simplify the ATContext::state-change signal
...
We cannot pass all the data we pass to the virtual function, because the
types are private, but the class and the signal are public API.
The signal is just a notification, so we can decouple the virtual
function (which stays the same, for internal types that implement the
ATContext API contract) from the signal.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
890c7816f0
Annotate GValue-variants methods of GtkAccessible
...
The variadic arguments methods cannot be used by language bindings,
which means we can let them use their names when calling the
GValue-based methods.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
e25e73c56c
Properly document GtkAccessible:accessible-role
...
Use a gtk-doc stanza, instead of the GParamSpec strings.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
8a2b3f0692
a11y: Do not notify of empty state changes
...
If the ATContext state hasn't changed—for instance, if the accessible
attributes have been set to their default value, or have been set to the
same value—do not emit an accessible state change. State changes can be
arbitrarily expensive, so we want to ensure that they are meaningful.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
1ec4995d14
a11y: Notify callers when an attributes set changes
...
We can use that information inside the ATContext.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
dd624de8e8
a11y: GtkATContext.update_state() was renamed to update()
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
92737b27bf
a11y: Allow bulk attribute update with the GValue API
...
Like we do for the varargs API.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
fe50286e14
a11y: Different value types cannot be equal
...
Bail out early, instead of going deep into the GtkAccessibleValue type
equal() implementation, where we expect both accessible values to have
the same type.
2020-08-28 18:45:01 +02:00
Aurimas Černius
9d65ee58c9
Updated Lithuanian translation
2020-08-28 18:45:01 +02:00
nana-4
ad5a78b1e7
gtk-demo: Avoid double borders in the blendmodes demo
2020-08-28 18:45:01 +02:00
nana-4
cd3a7b416e
gtk-demo: Avoid double borders in the fontrendering demo
...
Replace the frame with a separator.
2020-08-28 18:45:01 +02:00
nana-4
fc63c6371f
gtk-demo: Avoid double borders in the dnd demo
...
Replace the frame with a separator.
2020-08-28 18:45:01 +02:00
nana-4
d13fa73d04
gtk-demo: Avoid double borders in the panes demo
...
Using frames for the children of the panes looks bad.
2020-08-28 18:45:01 +02:00
nana-4
c6976d6897
inspector: Avoid double borders in the resource tab
...
Replace the frames with a separator.
2020-08-28 18:45:01 +02:00
nana-4
6371fca799
inspector: Avoid double borders in the accessibility tab
...
Replace the frame with a separator.
2020-08-28 18:45:01 +02:00
nana-4
68379c3ff7
Adwaita: Simplify stackswitcher button styling
...
Simply use negative margins against the padding.
Also remove the indicator only when the .needs-attention style class is
removed.
2020-08-28 22:06:44 +09:00
Asier Sarasua Garmendia
f3ebb76746
Update Basque translation
2020-08-28 10:26:30 +00:00
Timm Bäder
620388a071
gtk4-demo: Add background to CSS Basics demo
...
So people can at least read the textview contents
2020-08-28 04:35:46 +02:00
Matthias Clasen
f6adba57bb
NEWS: Updates
2020-08-27 20:50:40 -04:00
Matthias Clasen
5533494839
Merge branch 'synthetic-motion' into 'master'
...
Synthetic motion
See merge request GNOME/gtk!2493
2020-08-27 20:24:34 +00:00
Matthias Clasen
5b5d2665d3
idle sizer: Request a motion event after layout
...
When we are reallocating widgets, make sure that
we get a motion event in the next frame cycle,
so the hover state gets updated.
2020-08-27 16:01:45 -04:00
Jordi Mas
1a39ac64ab
Update Catalan translation
2020-08-27 20:54:16 +02:00
Matthias Clasen
78134fc6d3
Add a function to request motion events
...
We want to ensure that the pointer position is reflected
when widget geometry changes, so add a function that tells
GDK "please create a motion event at the current position
on this surface, if one doesn't happen already".
2020-08-27 13:33:45 -04:00
Matthias Clasen
564ae4bdb1
Merge branch 'matthiasc/for-master' into 'master'
...
bookmarksmanager: Cancel async reads properly
See merge request GNOME/gtk!2495
2020-08-27 17:04:34 +00:00
Matthias Clasen
e4215ec4c7
bookmarksmanager: Cancel async reads properly
...
This was causing the objects-finalize test to fail in ci.
2020-08-27 12:36:36 -04:00
Matthias Clasen
74f8c59236
Merge branch 'matthiasc/for-master' into 'master'
...
Don't export gdk_surface_constrain_size
See merge request GNOME/gtk!2494
2020-08-27 12:12:52 +00:00
Matthias Clasen
dd0c43b7ba
Don't export gdk_surface_constrain_size
...
It has one last use in gtkwindow.c, but that will
go away and doesn't need this function to be exported
anyway.
2020-08-27 07:31:45 -04:00
Kukuh Syafaat
9de7390ea0
Update Indonesian translation
2020-08-27 03:03:54 +00:00
Matthias Clasen
81e113d8aa
Merge branch 'wip/carlosg/shuffle-font-mouse-settings' into 'master'
...
Look up font and mouse settings in gsettings-desktop-schemas
See merge request GNOME/gtk!2489
2020-08-27 00:08:45 +00:00
Matthias Clasen
b26f4d5429
Merge branch 'wip/exalm/hotspot-fix' into 'master'
...
wayland: Fix dnd hotspot movement
See merge request GNOME/gtk!2492
2020-08-26 23:44:15 +00:00
Alexander Mikhaylenko
0a59429dc8
wayland: Fix dnd hotspot movement
...
_gdk_wayland_surface_offset_next_wl_buffer() moves the surface relatively
to its current position, pass it a delta instead of new position.
2020-08-27 04:04:48 +05:00
Matthias Clasen
70ae073394
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2488
2020-08-26 22:34:08 +00:00
Carlos Garnacho
6421355065
gdk/wayland: Use double-click/drag-threshold settings from g-d-s
...
Handle both these settings, and the older settings-daemon ones for
backwards compatibility. The keys are already checked for existence
in the schema, so it will just use the existing ones.
2020-08-27 00:27:50 +02:00
Carlos Garnacho
536966e848
gdk/wayland: Look for font settings in gsettings-desktop-schemas
...
Prefer this location, but also look for the old location in
settings-daemon for backwards compatibility. This applies to both
direct settings lookups and via the settings portal.
2020-08-27 00:18:09 +02:00
Matthias Clasen
1c44910dfe
gdk: Drop an unused vfunc
2020-08-26 18:09:47 -04:00
Matthias Clasen
bf9bb71813
gdk: Cosmetics
2020-08-26 17:56:41 -04:00
Matthias Clasen
75915bc782
broadway: Fix up surface_at_position
2020-08-26 17:56:41 -04:00
Matthias Clasen
618891a41a
win32: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
0d82fcf76f
wayland: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-26 17:56:41 -04:00
Matthias Clasen
0091de63b4
wayland: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
338d6adb10
broadway: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-26 17:56:41 -04:00
Matthias Clasen
c4c155d698
broadway: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
b9016229c1
x11: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-26 17:56:41 -04:00
Matthias Clasen
cf257e6676
x11: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
62ed769e74
gdk: Drop the query_state vfunc
...
It is no longer used.
2020-08-26 17:56:41 -04:00
Matthias Clasen
f3a0357ab0
x11: Stop setting the query_state vfunc
2020-08-26 17:56:41 -04:00
Matthias Clasen
1d8ac79296
win32: Stop using the query_state vfunc
2020-08-26 17:56:41 -04:00
Matthias Clasen
374c776749
macos: Stop setting the query_state vfunc
2020-08-26 17:56:41 -04:00
Matthias Clasen
8c9e1e7444
wayland: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-26 17:56:41 -04:00
Matthias Clasen
73d81d7178
broadway: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-26 17:56:41 -04:00
Matthias Clasen
84355ccbff
Drop _gdk_device_query_state
...
It is now unused.
2020-08-26 17:56:41 -04:00
Matthias Clasen
b2c92392fc
macos: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-26 17:56:41 -04:00
Matthias Clasen
9e06e830b7
win32: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-26 17:56:41 -04:00
Matthias Clasen
62a4a356c9
x11: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-26 15:31:07 -04:00
Matthias Clasen
1e4c6cde10
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3090
See merge request GNOME/gtk!2485
2020-08-26 18:02:18 +00:00
Matthias Clasen
372db8d239
Merge branch 'broadway-prune' into 'master'
...
broadway: Prune fully clipped render nodes
Closes #3086
See merge request GNOME/gtk!2487
2020-08-26 17:52:57 +00:00
Alexander Larsson
d57e6b754f
broadway: Prune fully clipped render nodes
...
If some node is fully outside the clip region we don't send it to the daemon.
This helps a lot in how much data we send for scrolling viewports.
However, sending partial trees makes node reuse a bit more tricky. We
can't save for reuse any node that could possibly clip different depending on
the clip region, as that could be different next frame. So, unless the
node is fully contained in the current clip (and we thus know it is not
parial) we don't allow reusing that next frame.
This fixes #3086
2020-08-26 18:08:00 +02:00
nana-4
59e0959186
Adwaita: Add border-spacing to some container widgets and style classes
...
This commit adds border-spacing to actionbar, searchbar, .toolbar and
.app-notification, so their child widgets won't appear to be connected
even without margin.
2020-08-27 00:47:08 +09:00
Fran Dieguez
3b1300632d
Update Galician translation
2020-08-26 15:42:23 +00:00
nana-4
738f5f4523
Adwaita: Fix border-spacing for headerbar
...
GtkHeaderBar uses GtkCenterBox internally nowadays, so the theme needs
to correspond to it.
2020-08-27 00:38:17 +09:00
Alexander Larsson
4b1ea7c4a1
broadway: Track the clip region in the renderer
...
If we know what can't possibly be visible we may can later decide to
not expose a node.
2020-08-26 16:55:56 +02:00
Matthias Clasen
74a452df6c
Make gdk_surface_get_device_position return a boolean
...
A year ago, we make this function not return the child
surface anymore. But the information whether the device
is actually over the surface is still useful, and we
should not loose it.
2020-08-26 09:11:28 -04:00
Timm Bäder
45046a53eb
Merge branch 'broadway-debug-nodes' into 'master'
...
Broadway: Fix handling of debug nodes
See merge request GNOME/gtk!2486
2020-08-26 12:38:09 +00:00
Alexander Larsson
918996b047
Broadway: Fix handling of debug nodes
...
The debug nodes have id BROADWAY_NODE_DEBUG, which happens to be "12".
So, don't hardcode the wrong number "14".
2020-08-26 14:01:00 +02:00
Matthias Clasen
b6eb85ee72
main: Avoid a crash with crossing event handling
...
We are reusing the GtkCrossingData struct for multiple
calls here, so we need to make sure that the targets
stay alive from beginning to end.
Fixes : #3090
2020-08-26 07:27:38 -04:00
Matthias Clasen
44741e1b77
widget: Avoid a crash in crossing event handling
...
We need to make sure that the crossing data stays
alive until we are done handling it, so take references
on all the widgets in it.
2020-08-26 07:26:49 -04:00
Emmanuele Bassi
eef1818cee
Merge branch 'broadway-alpha-colors' into 'master'
...
broadway: Correct handling of opaque colors
See merge request GNOME/gtk!2484
2020-08-26 11:20:03 +00:00
Alexander Larsson
fcaa6e98d0
broadway: Correct handling of opaque colors
...
If alpha is 255, we use rgb() instead of rgba(), not if alpha is 0.
This makes the title bar gradient go from fully transparent to blue
rather than black to blue..
2020-08-26 12:18:28 +02:00
Matthias Clasen
f48a1e4069
Merge branch 'matthiasc/for-master' into 'master'
...
fontchooser: Populate the list incrementally
See merge request GNOME/gtk!2483
2020-08-25 20:53:02 +00:00
Emmanuele Bassi
c21b9bec95
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2480
2020-08-25 20:34:18 +00:00
Aurimas Černius
659ec97456
Updated Lithuanian translation
2020-08-25 23:23:57 +03:00
Matthias Clasen
42cc15bb74
Merge branch 'demo-double-border-fixes' into 'master'
...
gtk-demo: Avoid double borders
See merge request GNOME/gtk!2478
2020-08-25 20:19:49 +00:00
Matthias Clasen
8e452b2b54
Merge branch 'inspector-double-border-fixes' into 'master'
...
inspector: Avoid double borders
See merge request GNOME/gtk!2477
2020-08-25 20:18:47 +00:00
Matthias Clasen
740559a54f
fontchooser: Populate the list incrementally
...
By adding 20 fonts / frame to the font list, we can
get the font chooser dialog to show up much faster.
This change gets the font chooser up in 265ms here.
2020-08-25 15:51:04 -04:00
Matthias Clasen
75cf990f74
Merge branch 'matthiasc/for-master' into 'master'
...
Revert unintentional calendar change
See merge request GNOME/gtk!2482
2020-08-25 18:29:27 +00:00
Matthias Clasen
612d2ea1f0
Revert unintentional calendar change
...
This was unintentionally included in c0efadc0f3 .
2020-08-25 14:12:35 -04:00
Emmanuele Bassi
d58136e23d
a11y: Simplify the ATContext::state-change signal
...
We cannot pass all the data we pass to the virtual function, because the
types are private, but the class and the signal are public API.
The signal is just a notification, so we can decouple the virtual
function (which stays the same, for internal types that implement the
ATContext API contract) from the signal.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
256c9c9873
Annotate GValue-variants methods of GtkAccessible
...
The variadic arguments methods cannot be used by language bindings,
which means we can let them use their names when calling the
GValue-based methods.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
fd568e63c2
Properly document GtkAccessible:accessible-role
...
Use a gtk-doc stanza, instead of the GParamSpec strings.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
797b3bd1b1
a11y: Do not notify of empty state changes
...
If the ATContext state hasn't changed—for instance, if the accessible
attributes have been set to their default value, or have been set to the
same value—do not emit an accessible state change. State changes can be
arbitrarily expensive, so we want to ensure that they are meaningful.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
32a1cd13c8
a11y: Notify callers when an attributes set changes
...
We can use that information inside the ATContext.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
1338dcddcb
a11y: GtkATContext.update_state() was renamed to update()
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
911a71c705
a11y: Allow bulk attribute update with the GValue API
...
Like we do for the varargs API.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
701a0dabd0
a11y: Different value types cannot be equal
...
Bail out early, instead of going deep into the GtkAccessibleValue type
equal() implementation, where we expect both accessible values to have
the same type.
2020-08-25 16:36:08 +01:00
Matthias Clasen
4dc1aea2ad
Merge branch 'adwaita-rounded-frames' into 'master'
...
Adwaita: Make frames rounded
See merge request GNOME/gtk!2476
2020-08-25 12:52:36 +00:00
nana-4
09fa3886ba
gtk-demo: Avoid double borders in the blendmodes demo
2020-08-25 21:24:10 +09:00
nana-4
bb7d5b2de6
gtk-demo: Avoid double borders in the fontrendering demo
...
Replace the frame with a separator.
2020-08-25 21:24:10 +09:00
nana-4
d906242c78
gtk-demo: Avoid double borders in the dnd demo
...
Replace the frame with a separator.
2020-08-25 21:24:10 +09:00
nana-4
d9e8223b03
gtk-demo: Avoid double borders in the panes demo
...
Using frames for the children of the panes looks bad.
2020-08-25 21:24:10 +09:00
nana-4
b79797ea97
inspector: Avoid double borders in the resource tab
...
Replace the frames with a separator.
2020-08-25 21:20:57 +09:00
nana-4
5bfc95321e
inspector: Avoid double borders in the accessibility tab
...
Replace the frame with a separator.
2020-08-25 21:20:57 +09:00
nana-4
c0efadc0f3
Adwaita: Make frames rounded
...
As per GNOME mockups.
Since GtkFrame now sets GTK_OVERFLOW_HIDDEN, we can round the frame
without corner overlapping.
This also adds some margin to the child label of GtkFrame to ensure it
will not be clipped by the rounded corners of the frame.
2020-08-25 21:12:35 +09:00
nana-4
ef837f0415
Adwaita: Remove a shadow-type leftover
...
After commit edae2a8dc5 , frames always
draw frames. So, remove the unused frame.flat styling.
2020-08-25 21:12:35 +09:00
Emmanuele Bassi
944607f240
Merge branch 'wip/smcv/no-yelp' into 'master'
...
docs: Don't build Yelp manual for bundled gtk-doc subproject
See merge request GNOME/gtk!2475
2020-08-25 11:18:35 +00:00
Simon McVittie
43781652b3
docs: Don't build Yelp manual for bundled gtk-doc subproject
...
This adds dependencies that would otherwise be unnecessary.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-25 11:55:35 +01:00
Matthias Clasen
9729a060f5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2979
See merge request GNOME/gtk!2474
2020-08-25 02:37:57 +00:00
Matthias Clasen
43ec96684a
text: Properly handle focus moving to a descendent
...
To discriminate between is-focus and contains-focus,
we need to use notify::is-focus. This makes sure
we don't get annoying warnings when the blink_cb
gets triggered on an unfocused entry.
Fixes : #2979
2020-08-24 18:31:35 -04:00
Matthias Clasen
66e0f8505e
emojichooser: Grab focus on map
...
This is the right thing to do, since we have a visible
entry and want text input to go there.
2020-08-24 18:31:08 -04:00
Matthias Clasen
22c914b7f5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2473
2020-08-24 21:57:11 +00:00
Matthias Clasen
fd7d61887c
colorchooser: Fix the add_palette api
...
When adding a custom palette, we need to arrange
for the custom section to stay at the bottom.
Maybe there should be a way to turn off custom
colors, too.
2020-08-24 17:20:17 -04:00
Matthias Clasen
bdaf346128
gtk-demo: Make the color picker demo less boring
...
Maybe the first ever use of the add_palette api.
Surprise, it doesn't work!
2020-08-24 17:19:36 -04:00
Bruce Cowan
6af7704858
Update British English translation
2020-08-24 18:39:24 +00:00
Matthias Clasen
7ff326e700
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3081
See merge request GNOME/gtk!2472
2020-08-24 16:43:39 +00:00
Matthias Clasen
c890d5991c
Add reftests for center layout
...
Add a test that checks behavior with invisible children,
and another one that ensures we go back to box-like
layout if min-size is forced.
2020-08-24 12:02:34 -04:00
Matthias Clasen
d27f9abbca
Merge branch 'unmapped-text' into 'master'
...
Unmapped text
See merge request GNOME/gtk!2466
2020-08-24 15:52:08 +00:00
Matthias Clasen
08f58122d1
Add a reftest for grid layouts
...
This tests that invisible children don't influence
the layout.
2020-08-24 11:38:00 -04:00
Matthias Clasen
17dcb10707
Add a reftest for box layouts
...
This tests that invisible children don't influence
the layout.
2020-08-24 11:34:30 -04:00
Matthias Clasen
2ac51ad827
centerlayout: Some spacing-related fixes
...
Try to arrange for border-spacing to actually be
respected in the final layout.
Fixes : #3081
2020-08-24 11:34:30 -04:00
Matthias Clasen
2e72b663b0
Merge branch 'wip/carlosg/start-spinbutton-start' into 'master'
...
gtkspinbutton: Group up/down button gestures with self
Closes #3085
See merge request GNOME/gtk!2471
2020-08-24 13:31:06 +00:00
Carlos Garnacho
e61f516a7c
gtkspinbutton: Group up/down button gestures with self
...
We are adding click gestures on the up/down buttons, but can't let
the GtkButton built-in ones prevent ours to run.
As the saying goes, if you can't beat them, join them. Group the
spinbutton and GtkButton gestures together, so it's irrelevant which
gets called first and ends up winning.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3085
2020-08-24 14:55:47 +02:00
Daniel Mustieles
f71c9a2146
Updated Spanish translation
2020-08-24 12:07:49 +02:00
Matthias Clasen
7428731e5b
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Some updates to GtkWidgetClass docs
See merge request GNOME/gtk!2470
2020-08-24 02:28:00 +00:00
Matthias Clasen
6043ed8c89
docs: Some updates to GtkWidgetClass docs
...
Mention layout managers for vfuncs that are skipped
if you have one.
2020-08-23 20:40:15 -04:00
Goran Vidović
f394375719
Update Croatian translation
2020-08-23 22:02:30 +00:00
Goran Vidović
ae2a914f07
Update Croatian translation
2020-08-23 22:01:05 +00:00
Rafael Fontenelle
cd9bee83ef
Update Brazilian Portuguese translation
2020-08-23 21:52:38 +00:00
Matthias Clasen
ca0f136deb
text: Don't compute invisible char needlessly
...
There is no real reason to do expensive text layout
operations unless we need the invisible char because
the text's visibilty is FALSE.
2020-08-23 17:41:13 -04:00
Matthias Clasen
c0191c7225
text: Defer most recomputation until we're mapped
...
It doesn't make sense to update scroll positions or
im cursor locations while we're unmapped, and doing
so causes us to do expensive text measuring.
2020-08-23 17:41:13 -04:00
Matthias Clasen
d5114cc18d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2464
2020-08-23 21:36:07 +00:00
Matthias Clasen
40d7092f4a
widget: Queue a draw when we need to
...
The code in gtk_widget_real_css_changed assumes that
queue_resize > queue_allocate > queue_draw, but the
second one is not really true. These days, we happily
keep reusing the same render node even when the child
allocation is changed.
So, if a css change has flags that tell us we should
redraw, we need to queue a draw, otherwise we might
end up reusing an outdated render node.
This fixes spinners staying visible when they stop
spinning, despite the theme setting their opacity
to 0.
2020-08-23 17:07:37 -04:00
Matthias Clasen
dc963dcbcb
Cosmetics
...
gtk_css_style_change_affects takes flags for a reason,
no need to call it multiple times.
2020-08-23 16:45:15 -04:00
Matthias Clasen
c4d350c260
build: Start using meson feature options
...
Use feature options for things that are optional features,
update the docs.
Visible changes here is that the 'print-backends' option
got renamed to 'print' to go better with 'media', and the
'tracker3' option got renamed to 'tracker'.
For options that have been changed into features, the
syntax now is -Dfeature=enabled or -Dfeature=disabled
or -Dfeature=auto.
2020-08-23 16:45:15 -04:00
Matthias Clasen
54e4bf8b75
Fix a leak in the font chooser widget
...
Contrary to what you may expect, pango_attr_font_desc_new()
is not transfer full, it makes a copy of the font description.
2020-08-23 16:45:15 -04:00
Matthias Clasen
0540337531
Merge branch 'fix_widget_factory_ui' into 'master'
...
fix position of radiobutton1
See merge request GNOME/gtk!2463
2020-08-23 16:26:35 +00:00
Ahmed Eldemery
86acb13057
fix position of radiobutton1
2020-08-23 17:39:17 +02:00
Boyuan Yang
11314cf0b4
Update Chinese (China) translation
2020-08-23 15:04:45 +00:00
Goran Vidović
37ce545d72
Update Croatian translation
2020-08-23 11:14:23 +00:00
Emin Tufan Çetin
85764ce505
Update Turkish translation
2020-08-22 21:26:01 +00:00
Boyuan Yang
ff5cdbaf03
Update Chinese (China) translation
2020-08-22 20:18:25 +00:00
Yuri Chornoivan
420c4e1f16
Update Ukrainian translation
2020-08-22 16:30:41 +00:00
Jakub Steiner
a498aca3ab
Adwaita: error labels insensitive & backdrop states
...
- address colored labels for the two states
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
2020-08-22 10:14:11 -04:00
Matthias Clasen
4eacfdba60
Merge branch 'remove-unnecessary-frames' into 'master'
...
Remove unnecessary frames from some widgets
See merge request GNOME/gtk!2462
2020-08-22 14:09:35 +00:00
Andika Triwidada
4fefea7471
Update Indonesian translation
2020-08-22 13:19:15 +00:00
Piotr Drąg
bc132dae54
Update Polish translation
2020-08-22 15:17:37 +02:00
Piotr Drąg
5822cdbc95
Update POTFILES.in and POTFILES.skip
2020-08-22 13:48:19 +02:00
nana-4
6a7a0f0b8a
viewport: Remove unused frame
...
We've always removed this with Adwaita.
2020-08-22 09:30:28 +09:00
nana-4
1948f8a07f
placessidebar: Remove unused frame
...
We've always removed this with Adwaita.
2020-08-22 09:23:52 +09:00
nana-4
8eb807d7f4
entrycompletion: Remove unnecessary frame
...
The popover already has a border as a frame. Don't create double
borders.
2020-08-22 09:18:31 +09:00
Matthias Clasen
125ed52ccb
Merge branch 'new-sysprof' into 'master'
...
Port profiling to sysprof-collector api
See merge request GNOME/gtk!2457
2020-08-21 23:58:09 +00:00
Matthias Clasen
e915a1aa7f
Rename the profiler option
...
We don't support any profilers other than sysprof,
so name the option accordingly. While we are at it,
change it to a meson feature option, so
-Dprofiler=true becomes -Dsysprof=enabled
2020-08-21 18:51:48 -04:00
Matthias Clasen
7a9501b1fb
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2461
2020-08-21 22:36:45 +00:00
Matthias Clasen
81e88c1d9e
Alterative sysprof build support
...
Don't link libgtk against libsysprof. We only
need that for the test-performance binary.
2020-08-21 18:28:29 -04:00
Matthias Clasen
f4511ff91c
ci: Use depth=1 for all subprojects
...
This helps reduce bandwidth requirements for ci.
2020-08-21 17:45:00 -04:00
Matthias Clasen
f00e2e2146
inhibit: Pass valid arguments when Inhibiting
...
When we pass "" as reason, gnome-session responds
with a "Reason not specified" error. So, send
"Reason not specified" instead. Its true.
2020-08-21 17:40:36 -04:00
Christian Hergert
5a5b30681e
testsuite: use SysprofProfiler for profiling
...
Instead of using sysprof-cli to profile subprocesses, this uses
libsysprof's SysprofProfiler directly so that we can avoid an indirect
subprocess as well as disabling the polkit nag.
To do this, we have to link against libsysprof instead of
libsysprof-capture. This is limited to the -Dbuild-tests=true and
-Dprofiler=true case.
2020-08-21 13:51:52 -07:00
Matthias Clasen
ab5e62ddab
Merge branch 'matthiasc/for-master' into 'master'
...
layoutmanager: Fix the child-widget property
Closes #3080
See merge request GNOME/gtk!2460
2020-08-21 20:45:53 +00:00
Matthias Clasen
936f3f1ad9
Explicitly set grid positions in the ui file
...
We were outsmarted by a combination of gtk-builder-tool
removing default values and GtkGrid guessing good values
for omitted properties.
Fixes : #3080
2020-08-21 16:22:59 -04:00
Matthias Clasen
865b29500c
layoutmanager: Fix the child-widget property
...
We were setting the child-widget property to the parent.
Oops.
2020-08-21 14:29:14 -04:00
Matthias Clasen
7039f31391
fixup a counting error
...
Remember: 1, 2, 3, _4_, 5...
2020-08-21 13:39:38 -04:00
Matthias Clasen
ed67d9c103
Merge branch 'codespell-changes' into 'master'
...
*: Fix spelling mistakes found by codespell
See merge request GNOME/gtk!2459
2020-08-21 17:32:12 +00:00
Matthias Clasen
5377026e61
wip: Port test-performance to use sysprof-cli
...
This isn't working for the tests yet, since it
needs a single-application mode that we don't
quite have in sysprof-cli.
2020-08-21 13:24:29 -04:00
Matthias Clasen
40f3da19ae
Update the docs around profiling
...
Mention sysprof-cli, and stop mentioning GTK_TRACE_FD.
2020-08-21 10:55:01 -04:00
Matthias Clasen
d4e069a629
Port tracing to the sysprof collector api
...
Use the new sysprof collector api to do tracing.
2020-08-21 10:55:01 -04:00
Matthias Clasen
a416650f6b
application: Drop support for profiler activation
...
Drop support for the org.gnome.Sysprof3.Profiler
D-Bus interface. It is not really used, and if
we don't expose it, we can simplify our profiler
infrastructure.
2020-08-21 10:55:01 -04:00
Matthias Clasen
e5d088208a
Merge branch 'fontconfig-speedup' into 'master'
...
Trigger fontconfig initialization early
See merge request GNOME/gtk!2454
2020-08-21 14:49:31 +00:00
Björn Daase
3ef7772552
docs: Reword GtkTreeView question 28
2020-08-21 15:35:29 +02:00
Björn Daase
24ce38bb36
docs: Reword gtk4-update-icon-cache description
2020-08-21 15:33:12 +02:00
Björn Daase
6315cd977c
*: Fix spelling mistakes found by codespell
2020-08-21 15:29:34 +02:00
Matthias Clasen
9770e064e8
Merge branch 'builder-tool-boxes' into 'master'
...
builder-tool: Rewrite GtkBox
See merge request GNOME/gtk!2447
2020-08-21 13:22:48 +00:00
Jason Francis
2437622b5f
builder-tool: Rewrite GtkBox
...
Rewrite expand/fill properties on GtkBox to
hexpand/halign/vexpand/valign on the child widget.
Rewrite GtkVBox and GtkHBox to GtkBox, setting the orientation
property.
Added a test for boxes.
2020-08-20 23:41:29 -04:00
Goran Vidović
bb8c818ba1
Update Croatian translation
2020-08-20 21:47:34 +00:00
Jakub Steiner
dd2e1e4867
Merge branch 'wip/jimmac/rich-list-styling' into 'master'
...
Adwaita: rich-list styling
See merge request GNOME/gtk!2456
2020-08-20 20:58:31 +00:00
Jakub Steiner
5f630481db
Adwaita: rich-list styling
...
FIXME: why is the second list in Demo>List Box>Controls taller?
https://gitlab.gnome.org/GNOME/gtk/-/issues/3073
2020-08-20 19:39:18 +02:00
Matej Urbančič
da6253eadc
Updated Slovenian translation
2020-08-20 18:14:54 +02:00
Matthias Clasen
c6b261afa0
Merge branch 'frame-overflow-hidden' into 'master'
...
frame: Set GTK_OVERFLOW_HIDDEN
See merge request GNOME/gtk!2455
2020-08-20 14:03:41 +00:00
nana-4
e07827e976
frame: Set GTK_OVERFLOW_HIDDEN
...
It doesn't really make sense for the frame to allow drawing children
outside of it.
2020-08-20 22:24:36 +09:00
Marek Kasik
5a8f90357d
printing: Use original names for remote CUPS printers
...
CUPS uses resource paths in the form of "printers/printer_name"
or "classes/class_name" so it is enough to remove the "printers/"
or "classes/" prefix and use the string behind it as a name.
There was recently introduced a wrong check for the prefix.
This commit fixes it in the way it was originally intended.
2020-08-20 13:54:02 +02:00
Matthias Clasen
a674832658
Trigger fontconfig initialization early
...
Add a pango call to create the fontmap already in gtk_init.
This will let us hide the cost of FcInit() (which on font-heavy
systems can be ~100ms) in a thread, on the pango side.
2020-08-19 22:12:00 -04:00
Matthias Clasen
2031bcd388
Merge branch 'replace-hardcoded-margins' into 'master'
...
tooltip & placessidebar: Replace hard-coded margins with theme
See merge request GNOME/gtk!2444
2020-08-20 00:30:37 +00:00
Goran Vidović
4e157b33dc
Update Croatian translation
2020-08-19 21:51:29 +00:00
Matthias Clasen
174c9a938e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2453
2020-08-19 20:46:18 +00:00
Timm Bäder
ec81ccd5f9
label: Try to avoid a pango_layout_get_extents call
...
Measuring text is quite expensive, so only do this if really necessary.
2020-08-19 16:14:59 -04:00
Matthias Clasen
8acd60fda9
widget-factory: Improve the error states example
...
Elaborate the error state handling, and make it show
delayed states in GtkSwitch too.
2020-08-19 13:22:44 -04:00
sicklylife
bcd0a9e5d8
Update Japanese translation
2020-08-18 10:03:51 +00:00
sicklylife
5b35c5fb19
Update Japanese translation
2020-08-18 09:46:29 +00:00
Baurzhan Muftakhidinov
1dcb68c8e3
Update Kazakh translation
2020-08-18 07:20:38 +00:00
Andika Triwidada
bca6113539
Update Indonesian translation
2020-08-18 04:50:25 +00:00
Fran Dieguez
e35c000b4a
Update Galician translation
2020-08-17 16:47:55 +00:00
Baurzhan Muftakhidinov
29d7d652c4
Update Kazakh translation
2020-08-17 10:26:54 +00:00
Jakub Steiner
581f224b61
Merge branch 'wip/jimmac/error-labels-insensitive' into 'master'
...
Adwaita: error labels insensitive & backdrop states
See merge request GNOME/gtk!2449
2020-08-17 08:21:58 +00:00
Jakub Steiner
aabb713594
Adwaita: error labels insensitive & backdrop states
...
- address colored labels for the two states
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
2020-08-17 10:00:29 +02:00
Piotr Drąg
a0af12e492
Update Polish translation
2020-08-16 11:56:23 +02:00
nana-4
19c2cc1296
placessidebar: Replace hard-coded margins with theme
...
So we can easily adjust the widget sizing in the theme.
2020-08-15 22:46:31 +09:00
nana-4
9b42edbef4
tooltip: Replace hard-coded margins with theme
...
So we can easily adjust the widget sizing in the theme.
2020-08-15 22:46:31 +09:00
Matthias Clasen
303e023c36
Merge branch 'gtkassistant_docstring' into 'master'
...
gtkassistant: Minor docstring wording changes
See merge request GNOME/gtk!2442
2020-08-15 12:49:29 +00:00
Timm Bäder
5e35ca5692
Merge branch 'slider-button-style-class-again' into 'master'
...
pathbar: Set .slider-button style class to slider buttons again
See merge request GNOME/gtk!2443
2020-08-15 10:49:02 +00:00
nana-4
667b3b117d
pathbar: Set .slider-button style class to slider buttons again
...
This was set in the .ui file that no longer exists, so we need to set it
again here.
2020-08-15 18:31:32 +09:00
Holger Knust
cb7c903594
gtkassistant: Minor docstring wording changes
...
Changed the wording to improve the clarity of the documentation. Fixed grammar issue ("spllited")
2020-08-15 05:20:03 -04:00
Matthias Clasen
e6e2d6b45a
Merge branch 'gdk-internal-cleanup' into 'master'
...
Gdk internal cleanup
See merge request GNOME/gtk!2438
2020-08-14 13:00:13 +00:00
Matthias Clasen
fa0a88ae22
Merge branch 'api-touchups' into 'master'
...
Api touchups
See merge request GNOME/gtk!2439
2020-08-14 12:47:50 +00:00
Jakub Steiner
17cdc13847
Merge branch 'wip/jimmac/error-entries-and-labels' into 'master'
...
Adwaita: error labels and entries
See merge request GNOME/gtk!2440
2020-08-14 12:42:56 +00:00
Florentina Mușat
d40d4d5fae
Update Romanian translation
2020-08-14 12:16:01 +00:00
Jakub Steiner
131e2f6e43
Adwaita: error labels and entries
...
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063
2020-08-14 14:13:37 +02:00
Matthias Clasen
b3786b7b07
gdk: Slim down gdkinternals.h more
...
Move things to the private headers they belong in.
2020-08-14 07:45:53 -04:00
Matthias Clasen
6cf8f1cdf2
gdk: Move GdkSurfaceTypeHint to its sole user
...
The x11 backend is the only place where surface
type hints are used in any way. Move the enum
there.
2020-08-14 07:45:53 -04:00
Matthias Clasen
79c2c3e353
win32: Drop vestigial surface type hint field
...
This wasn't used in any way.
2020-08-14 07:45:53 -04:00
Matthias Clasen
ae7cefd97d
Drop style class defines
...
We document the supported style classes by name,
not by macro name, and these macros don't really
add any value. Drop them for GTK 4.
2020-08-14 07:03:27 -04:00
Matthias Clasen
35708162cc
Make GtkNativeInterface private
...
We are not sure yet if allowing out-of-tree
implementations of GtkNative are a good idea.
2020-08-14 07:03:27 -04:00
Piotr Drąg
e29e569d6f
Update POTFILES.skip
2020-08-14 12:16:51 +02:00
Matthias Clasen
3d7343144f
wayland: Drop unused surface type hint field
...
This wasn't used at all.
2020-08-13 22:24:06 -04:00
Matthias Clasen
3c44e9c563
gdk: Slim down gdkinternals.h
...
Move things to the private headers they belong in.
2020-08-13 22:24:06 -04:00
Matthias Clasen
8a13d18655
Drop gdk_device_get_position
...
Convert the last user to _gdk_device_query_state
and drop this unused internal api.
2020-08-13 22:24:06 -04:00
Matthias Clasen
9786185cc0
gdk: Clean up gdkdevice.h
...
This header looked just too disorderly.
Same for gdkdevicetool.h.
2020-08-13 22:24:06 -04:00
Matthias Clasen
22ac6d3148
gdk: Documentation touchups
...
Minor rewordings here and there, strip nonpublic
functions of doc comments, deemphasize logical/physical
devices.
2020-08-13 22:24:06 -04:00
Matthias Clasen
97e0f1108d
docs: Cosmetics
2020-08-13 22:24:06 -04:00
Matthias Clasen
0ae7f794a3
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Fix the builder demo
See merge request GNOME/gtk!2437
2020-08-13 23:44:58 +00:00
Matthias Clasen
15bd2a2a5c
Merge branch 'fix_expander_demo' into 'master'
...
fix resource not found in expander demo
See merge request GNOME/gtk!2436
2020-08-13 23:08:09 +00:00
Matthias Clasen
28c1e74220
docs: Minor tweaks to the tutorial
...
Fix a link, and mention meson in a few places.
2020-08-13 17:45:04 -04:00
Matthias Clasen
e694a4137c
examples: Fix multiple small problems
...
Add a paragraph about running the example apps
uninstalled in the README, and verify that the
standalone Makefiles actually work. Hint: some
didn't.
2020-08-13 17:30:47 -04:00
Matthias Clasen
005f9a995e
gtk-demo: Fix the builder demo
...
The about dialog here wasn't working.
At the same time, make the statusbar
useful for something by showing our
action messages there.
2020-08-13 17:19:59 -04:00
Matthias Clasen
e48a1d2df0
Merge branch 'list-styles' into 'master'
...
Implement and document list styles
See merge request GNOME/gtk!2421
2020-08-13 21:15:22 +00:00
Matthias Clasen
6191404656
Merge branch 'async-highlight' into 'master'
...
gtk-demo: Async highlight
See merge request GNOME/gtk!2435
2020-08-13 21:15:09 +00:00
Ahmed Eldemery
6037d08bd8
fix resource not found in expander demo
2020-08-13 22:46:38 +02:00
Matthias Clasen
bcc5e475fc
gtk-demo: Do markup parsing incrementally too
...
Pango has a markup parser api, might as well
use it to keep things responsive.
2020-08-13 16:33:16 -04:00
Matthias Clasen
a0cdb544ed
gtk-demo: Fix the Windows build
2020-08-13 16:33:16 -04:00
Matthias Clasen
80cddd4cc1
gtk-demo: Move the highlighting to a separate file
...
Move all the logic related to asynchronous highlighting
to fontify.c, to keep main.c from becoming too cluttered.
2020-08-13 16:33:16 -04:00
Jakub Steiner
f4561d3fd5
Adwaita: rich-list rows
...
- add whitespace to match the existing look
2020-08-13 16:30:22 -04:00
Jakub Steiner
c5963b960a
Adwaita: fix focus for .navigation-sidebar
2020-08-13 16:30:22 -04:00
Jakub Steiner
df4c57c001
flatpak: builder options
...
- avoid vulkan from crashing the inspector
2020-08-13 16:30:22 -04:00
Matthias Clasen
2b0e9542cb
gtk-demo: take off the makeup
...
Remove all the hardcoded spacing from the listbox
demo, so the rich-list styling can take effect.
2020-08-13 16:30:22 -04:00
Matthias Clasen
b49fd47276
Adwaita: Fix hover in navigation sidebars
...
The placessidebar gets this from somewhere else, but
it wasn't working in the gtk-demo sidebar, so add it
explicitly. placessidebar specific styles should be
dropped from Adwaita as much as possible, but not
doing that here.
2020-08-13 16:30:22 -04:00
Jakub Steiner
bdb1d87859
Adwaita: style rich-list and data-table
...
- style special list types
- add navigation-sidebar too
https://gitlab.gnome.org/GNOME/gtk/-/issues/2929
2020-08-13 16:30:22 -04:00
Matthias Clasen
d1b1b5bd9b
widget-factory: Use rich-list style
...
Use the .rich-list style for the listbox on page 2.
2020-08-13 16:30:22 -04:00
Matthias Clasen
283fc9d7e4
gtk-demo: Use style classes in the listbox demo
...
Add a .rich-list style class to the controls demo.
2020-08-13 16:30:22 -04:00
Matthias Clasen
d8753a9fa3
gtk-demo: Use style classes in the settings demo
...
Use .navigation-sidebar on the left, and .data-table
on the right.
2020-08-13 16:30:22 -04:00
Matthias Clasen
a9858c6662
gtk-demo: Use a style class on the sidebar
...
Use .navigation-sidebar for the main sidebar.
2020-08-13 16:30:21 -04:00
Matthias Clasen
0279e1c76b
inspector: Use the new list style classes
...
Set .rich-list and .data-table on lists, as appropriate.
2020-08-13 16:30:21 -04:00
Matthias Clasen
cce3ff6f04
placessidebar: Use the .navigation-sidebar style class
2020-08-13 16:30:21 -04:00
Matthias Clasen
221786dda3
lists: Mention list style classes in docs
...
Document that GtkListView, GtkColumnView and GtkListBox
support .rich-list, .navigation-sidebar and .data-table
style classes.
2020-08-13 16:30:21 -04:00
Matthias Clasen
aacb06dbee
gtk-demo: Insert markup incrementally
...
The slowest step of highlighting our buffers is
inserting the markup into the buffer. Do that
incrementally, to avoid blocking the UI for
extended periods.
2020-08-13 12:59:52 -04:00
Matthias Clasen
ea887959bd
textbuffer: Some more insert_with_attributes speedup
...
There is no need for use to collect tags in an array;
we can just insert them into the text buffer right away.
2020-08-13 12:36:39 -04:00
Matthias Clasen
4c78f628db
gtk-demo: Fontify asynchronously
...
Run highlight asynchronously. It isn't a problem for
most demos, but the cursor demo has an unusually large
ui file, which takes highlight a little bit of time
to produce.
2020-08-13 12:25:38 -04:00
Emmanuele Bassi
0228c89011
Merge branch 'openbsd-roaring' into 'master'
...
OpenBSD: don't include malloc.h
See merge request GNOME/gtk!2434
2020-08-13 16:23:20 +00:00
Antoine Jacoutot
b4508be3c9
OpenBSD: don't include malloc.h
...
This header doesn't exist anymore on recent OpenBSD releases.
2020-08-13 17:48:34 +02:00
Matthias Clasen
dded2ddb21
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2433
2020-08-13 12:08:54 +00:00
Matthias Clasen
e9afb63a01
widget-factory: Add more error states
...
Add a label with the .error style class in the
configuration dialog, also add another entry validation
here, to have it in one place.
2020-08-13 07:40:54 -04:00
Daniel Mustieles
3a0fdffe5e
Updated Spanish translation
2020-08-13 10:41:42 +02:00
Daniel Mustieles
ff51d7b838
Updated Spanish translation
2020-08-13 10:34:43 +02:00
Daniel Mustieles
ef22c4a4fa
Updated Spanish translation
2020-08-13 10:34:33 +02:00
Matthias Clasen
ebaf533a31
Merge branch 'matthiasc/for-master' into 'master'
...
Speed up gtk_text_buffer_insert_markup
See merge request GNOME/gtk!2432
2020-08-13 03:40:22 +00:00
Matthias Clasen
88dcd2597a
Speed up gtk_text_buffer_insert_markup
...
Instead of blindly creating new tags for every attribute,
reuse existing tags. For the syntax highlighting of the
ui file of the cursors demo, this gets us down from
20.000 tags to 6.
2020-08-12 22:51:59 -04:00
Matthias Clasen
0d0807fc44
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Group small images
See merge request GNOME/gtk!2431
2020-08-13 01:07:36 +00:00
Matthias Clasen
7226878916
gtk-demo: Group small images
...
Instead of showing 30 tabs, put all the cursor images
into one page. Do the same for the small images in
the css animated background demo.
2020-08-12 20:26:15 -04:00
Fran Dieguez
afa9d9aa8c
Update Galician translation
2020-08-12 22:40:19 +00:00
Matthias Clasen
28a3911b15
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Add an entry with error state
See merge request GNOME/gtk!2430
2020-08-12 21:14:54 +00:00
Matthias Clasen
94696490dc
widget-factory: Add an entry with error state
...
Enter the wrong thing into the age entry for seeing
error states.
2020-08-12 13:26:46 -04:00
Matthias Clasen
dbc6a94daf
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2429
2020-08-12 10:51:17 +00:00
Matthias Clasen
0a9acd10d2
gtk-demo: Celebrate losses too
...
Everybody is a winner!
2020-08-11 23:26:06 -04:00
Matthias Clasen
3340a5ee04
gtk-demo: Visual improvement to solitaire
...
Make the fields visible.
2020-08-11 23:10:48 -04:00
Matthias Clasen
5e2aeee9b0
gtk-demo: Add a layout manager demo
...
This is more or less a copy of the layout manager
example from clutter.
2020-08-11 23:10:48 -04:00
Matthias Clasen
9b0a5b1fde
Add sizes to toplevelsize warnings
...
Might as well be informative while we're annoying.
2020-08-11 16:27:03 -04:00
Matthias Clasen
540cffee89
gtk-demo: Drop the pixbufs demo
...
It is from a different era, and doesn't show
the apis we want to promote. The visuals live
on, in the Css/Animated Backgrounds demo.
2020-08-11 16:26:04 -04:00
Matthias Clasen
e0b95c6234
Merge branch 'wip/smcv/roaring-license' into 'master'
...
Add attribution and licensing information for "roaring bitmaps" code
See merge request GNOME/gtk!2408
2020-08-11 16:02:25 +00:00
Yuri Chornoivan
40c32bbef6
Update Ukrainian translation
2020-08-11 15:58:16 +00:00
Timm Bäder
d0b192325a
Merge branch 'afranke-master-patch-25531' into 'master'
...
Fix a string
See merge request GNOME/gtk!2428
2020-08-11 14:26:23 +00:00
Alexandre Franke
e16d108b68
Fix a string
2020-08-11 14:05:58 +00:00
Emin Tufan Çetin
f8b8c90c3d
Update Turkish translation
2020-08-10 22:29:47 +00:00
Matthias Clasen
823219d429
Merge branch 'button-claim-clicks' into 'master'
...
button: Claim click events
Closes #3054
See merge request GNOME/gtk!2425
2020-08-10 22:24:50 +00:00
Matthias Clasen
102acd2581
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3058
See merge request GNOME/gtk!2427
2020-08-10 21:45:09 +00:00
Matthias Clasen
82253d1a0a
gtk-demo: Give the video player a default size
2020-08-10 16:36:36 -04:00
Matthias Clasen
19b93fc9f7
gtk-demo: Add a file filter for the video player
...
We are only interested in video files here.
2020-08-10 16:36:36 -04:00
Matthias Clasen
e9d03d06fe
window: Fix an oversight
...
Commit 658719a205 moved the call to
gtk_window_compute_default_size() outside the
if (priv->needs_default_size)
but unfortunately, that function cleared that field,
so we never entered the branch.
Keep the setting of priv->needs_default_size in the
branch, where it belongs.
2020-08-10 16:36:36 -04:00
Matthias Clasen
63fb2126db
gtk-demo: Make the image demo more robust
...
Make sure we don't crash if the demo is closed
early.
Fixes : #3058
2020-08-10 16:35:56 -04:00
Matthias Clasen
90080d5bec
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2426
2020-08-10 17:46:37 +00:00
Matthias Clasen
be5b03224c
gtk-demo: Give the video player a default size
2020-08-10 12:53:41 -04:00
Matthias Clasen
091289a85d
gtk-demo: Add a file filter for the video player
...
We are only interested in video files here.
2020-08-10 12:53:41 -04:00
Matthias Clasen
17710709f9
window: Fix an oversight
...
Commit 658719a205 moved the call to
gtk_window_compute_default_size() outside the
if (priv->needs_default_size)
but unfortunately, that function cleared that field,
so we never entered the branch.
Keep the setting of priv->needs_default_size in the
branch, where it belongs.
2020-08-10 12:53:41 -04:00
Matthias Clasen
6fafc8b811
button: Claim click events
...
This fixes issues with double activation on clicks.
Fixes : #3054
2020-08-09 22:58:22 -04:00
Matthias Clasen
bc20fe3cca
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add a little extra in peg solitaire
Closes #3051
See merge request GNOME/gtk!2424
2020-08-10 01:10:41 +00:00
Matthias Clasen
8cbca4f693
print-editor: Icon credits
...
Give the artist credits.
2020-08-09 20:30:00 -04:00
Matthias Clasen
6e9de7f271
node-editor: Don't install the icon
...
We don't want to install an icon if we're not
installing the app. Also give the artist credit.
Fixes : #3051
2020-08-09 20:28:56 -04:00
Matthias Clasen
aa1b9531c1
gtk-demo: Add a little extra in peg solitaire
...
A win needs to be celebrated!
2020-08-09 18:59:29 -04:00
Matthias Clasen
66fa530574
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3027
See merge request GNOME/gtk!2423
2020-08-09 22:46:50 +00:00
Matthias Clasen
e5247b7cbb
gtk-demo: Finish peg solitaire demo
...
The restart button was simply not implemented.
While we are at it, make the pegs a bit bigger,
so clicking them is easier.
2020-08-09 18:27:18 -04:00
Matthias Clasen
da0955feeb
gtk-demo: Cosmetic fixes to the textmask demo
...
Make this come up with the right size.
2020-08-09 18:05:27 -04:00
Matthias Clasen
2335953c5d
gtk-demo: Cosmetic fixes for the fontrendering demo
...
Make this look a bit less thrown together.
2020-08-09 18:02:04 -04:00
Matthias Clasen
42902085e5
gtk-demo: Dark theme support for dnd demo
...
Add minimal dark theme support to the dnd demo,
by picking suitable default colors for our items.
2020-08-09 17:36:41 -04:00
Matthias Clasen
230107cd84
gtk-demo: Cosmetic improvements to the expander demo
...
Set the textview up like our other readonly textviews.
Also sneak in a little easter egg.
2020-08-09 17:12:04 -04:00
Matthias Clasen
b69dc3d054
gtk-demo: Add warnings to the themes demo
...
Add a warning that the flickering here may be
hazardous to photosensitive viewers.
2020-08-09 16:36:00 -04:00
Matthias Clasen
a85fc0008c
wayland: Don't send invalid anchor rectangles
...
When we send an anchor rectangle with a width or
height of 0, mutter reponds with "Invalid anchor
rectangle size". So, don't do that.
This was seen as sudden disappearance of gtk4-demo
when you click the fishbowl benchmark all the way
through to the menubuttons.
Fixes : #3027
2020-08-09 16:02:25 -04:00
Matthias Clasen
2bf9ae005f
Adwaita: Small improvement for dropdown
...
Put some space between the arrow and the text.
This was noticable in the new listbox2 demo.
2020-08-09 15:43:46 -04:00
Matthias Clasen
4650f7ec14
gtk-demo: Cosmetic improvement to listbox2 demo
...
Make the checkbutton and the check align vertically.
2020-08-09 15:43:01 -04:00
Asier Sarasua Garmendia
5dd0262a56
Update Basque translation
2020-08-09 19:39:35 +00:00
Christian Kirbach
b13e1a5a7b
Update German translation
2020-08-09 19:05:18 +00:00
Matthias Clasen
ce1cd67fa4
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2422
2020-08-09 17:11:18 +00:00
Matthias Clasen
eb5329d389
gtk-demo: Group the listbox demos
2020-08-09 12:36:06 -04:00
Matthias Clasen
5b41612f28
gtk-demo: Add another listbox demo
...
This is a more typical listbox use.
2020-08-09 12:36:06 -04:00
Matthias Clasen
473ed75ed5
Adwaita: be careful with list separators
...
We only want the list .separators class to affect its
immediate children - otherwise, we end up with separators
in dropdowns that are places into button strips. As a side
benefit, restricting this to immediate children makes for
faster matching.
2020-08-09 12:01:08 -04:00
Matthias Clasen
3760d44f18
gtk-demo: Fix an indentation mishap
2020-08-09 11:14:28 -04:00
Matthias Clasen
79f0687929
gtk-demo: Drop the modelbutton demo
...
Not a public api, so shouldn't be featured in a demo.
2020-08-09 10:59:22 -04:00
Matthias Clasen
c80a612af7
gtk-demo: Improve filtering
...
Show sidebar rows if any parent matches. This lets one
search for "lists" and get just the subtree with all the
listview demos.
2020-08-09 10:54:45 -04:00
Emin Tufan Çetin
358b698efa
Update Turkish translation
2020-08-09 08:19:33 +00:00
Matthias Clasen
0f7b2159b6
Merge branch 'demo-polish' into 'master'
...
Demo polish
See merge request GNOME/gtk!2420
2020-08-09 04:28:31 +00:00
Matthias Clasen
7f565806a8
gtk-demo: Make source formatting uniform
...
Give the text view in the source tab the same
formatting as tabs we add for extra sources.
2020-08-09 00:03:43 -04:00
Matthias Clasen
1d49f933e9
gtk-demo: Adapt hightlighting style for dark themes
...
Switch to a highlight style that is readable with
dark background, if prefer-dark is set or we are
in HighContrastInverse.
2020-08-08 23:50:45 -04:00
Matthias Clasen
1d1d9de09e
gtk-demo: Cosmetics
2020-08-08 23:41:50 -04:00
Matthias Clasen
d1aacc01d4
gtk-demo: Make content views monospace
...
That works better for code.
2020-08-08 23:41:05 -04:00
Matthias Clasen
2a3d3ec079
gtk-demo: Follow font settings again
...
highlight puts font and size information into
its pango markup; strip that out to make our
text follow font settings again.
2020-08-08 23:38:07 -04:00
Matthias Clasen
c60fba0267
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3048
See merge request GNOME/gtk!2419
2020-08-08 23:08:44 +00:00
Matthias Clasen
75ad180c78
textutil: Do a little better on retro X servers
...
When running on a non-composited, non-rgba X server
(such as Xnest), force the drag icons for text selections
to have a background, so we don't end up with black
text on black background.
Fixes : #3048
2020-08-08 18:33:56 -04:00
Matthias Clasen
765fe201ce
inspector: Avoid a crash
...
I've seen the inspector crash when running on an
X server without an xsettings manager around. Better
be safe.
2020-08-08 18:33:56 -04:00
Matthias Clasen
3469c639f6
bookmarksmanager: Load bookmarks initially
...
This was broken in 1e6171a4a7 .
2020-08-08 18:33:56 -04:00
Matthias Clasen
d642bfc8ce
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3037 and #3030
See merge request GNOME/gtk!2417
2020-08-08 19:13:44 +00:00
Matthias Clasen
c6a7b39ee1
Remove deprecation guards around gtk_window_present
...
It is not deprecated anymore.
2020-08-08 14:49:50 -04:00
Matthias Clasen
112883186c
gtk-demo: Fix iconscroll complex text
...
We changed the way fontify works.
Adapt the iconscroll use.
2020-08-08 14:38:18 -04:00
Matthias Clasen
57a213a4ea
gtk-demo: Fix iconscroll colors
...
We changed the way the color grid works.
Adapt the iconscroll use of it.
Fixes : #3030
2020-08-08 14:36:48 -04:00
Matthias Clasen
dbbc9b5c58
placessidebar: Fix dnd cancellation
...
When the drag is canceled by being dropped outside,
we get a ::cancel emission, that we want to handle
just like ::dnd-finished.
Fixes : #3037
2020-08-08 14:26:31 -04:00
Matthias Clasen
e18de295c6
placessidebar: Fix the bookmark drag icon
...
Just use the widget; a paintable only works if the
widget it is based on actually gets drawn, the
clone we create here wasn't.
2020-08-08 14:24:45 -04:00
Matthias Clasen
4eaf08e964
placessidebar: Fix bookmarks dnd
...
We were not handling drops of bookmarks correctly,
leading to criticals during DND.
Fixes : #3037
2020-08-08 14:11:29 -04:00
Matthias Clasen
2d5b44703c
placessidebar: We're not a listbox anymore
...
The placessidebar used to derive from GtkListBox,
but it doesn't anymore. There was one case leftover,
leading to criticals during bookmark DND.
2020-08-08 14:11:29 -04:00
Matthias Clasen
19c6ef38fe
bookmarksmanager: Load bookmarks initially
...
This was broken in 1e6171a4a7 .
2020-08-08 14:11:29 -04:00
Matthias Clasen
4f5e3b7b0d
gtk-demo: Improve an error message
...
Be more helpful when we can't do syntax highlighting.
2020-08-08 13:56:17 -04:00
Simon McVittie
95cd8c1eb9
Move roaring bitmaps code to gtk/roaring/ and add a README
...
As suggested by Matthias Clasen on gtk!2408. This keeps the
Apache-licensed stuff together.
As per the discussion on gtk!2408 and gtk!2409, replacing this with
upstream CRoaring is specifically not supported by the GTK maintainers.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 18:30:41 +01:00
Simon McVittie
dfb16019f8
Include a copy of the Apache license
...
4(a) requires giving recipients of the work a copy of the license, and
in any case it's best for source code distributions to be self-contained
(including the full text of all applicable licenses).
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 18:27:37 +01:00
Simon McVittie
bef86d48af
roaring.[ch]: Add attribution and licensing information
...
OS distributions that take copyright and licensing seriously will tend
to become concerned about source files that appear to come from a
third party and do not come with copyright/licensing information,
and stating that these files are modified is required by clause 4(b)
of the Apache license.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 18:27:37 +01:00
Matthias Clasen
d1d269ea6b
Merge branch 'patch-1' into 'master'
...
Correct typos in gtktextbtree.c
See merge request GNOME/gtk!2413
2020-08-08 17:05:25 +00:00
Matthias Clasen
3d807f4b00
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3047 , #3034 , #3038 , and #3036
See merge request GNOME/gtk!2416
2020-08-08 16:27:27 +00:00
Matthias Clasen
9654fff6e0
Merge branch 'scroll-to-cursor' into 'master'
...
Scroll to cursor after canceling a selection
Closes #2960
See merge request GNOME/gtk!2321
2020-08-08 16:18:19 +00:00
Matthias Clasen
8a67899e0f
bookmarksmanager: Ignore delete events
...
Surpisingly, when a monitored file gets atomically replaced
with g_file_set_contents(), the file monitor reports a
DELETED event for the temp file, which is not the file
I'm monitoring.
Just ignore DELETED events.
Fixes : #3036
2020-08-08 11:48:32 -04:00
Matthias Clasen
bb30a23004
x11: Fix getting the primary monitor
...
Actually return the primary monitor.
Fixes : #3038
2020-08-08 11:48:32 -04:00
Matthias Clasen
3faa7feb7c
label: Disable unavailable actions
...
Fixes : #3034
2020-08-08 11:48:32 -04:00
Matthias Clasen
d099276b89
printeditor: Create the dialog every time
...
Trying to work around gtk_show_about_dialog() is
not worth it, just recreate the dialog from scratch.
2020-08-08 11:48:32 -04:00
Matthias Clasen
56afa05b97
widgetfactory: Create the dialog every time
...
Trying to work around gtk_show_about_dialog() is
not worth it, just recreate the dialog from scratch.
Fixes : #3047
2020-08-08 11:48:32 -04:00
Matthias Clasen
c6fdfeae7e
about dialog: remove unnecessary guards
...
We decided to undeprecate gtk_window_present,
so no deprecation guards needed.
2020-08-08 11:48:32 -04:00
Matthias Clasen
8725fd308b
Merge branch 'surface-size' into 'master'
...
Surface size
See merge request GNOME/gtk!2415
2020-08-08 14:44:52 +00:00
Emmanuele Bassi
c40e23bde6
Merge branch 'wip/smcv/cloudprint-redundant-decls' into 'master'
...
cloudprint: Fix redundant declarations
See merge request GNOME/gtk!2414
2020-08-08 13:59:37 +00:00
Simon McVittie
afcb9c0e63
cloudprint: Fix redundant declarations
...
G_DEFINE_DYNAMIC_TYPE declares these functions as static, and
-Werror=redundant-decls won't let us redeclare them. This is the
equivalent of 72c72d0b , but for a different backend.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 14:24:31 +01:00
Matthias Clasen
fd1033f974
surface: Add width and height properties
2020-08-08 09:24:30 -04:00
Matthias Clasen
16505a4d1e
gdk: Move the ::popup-layout-changed signal
...
Move this signal from GdkSurface to GtkPopup,
where it belongs.
2020-08-08 09:24:30 -04:00
Piotr Drąg
a1ec68422f
Update POTFILES.in and POTFILES.skip
2020-08-08 13:07:18 +02:00
Felix Yan
f8060b859d
Correct typos in gtktextbtree.c
2020-08-08 09:29:08 +00:00
Matthias Clasen
0c0ced1374
Merge branch 'activatable-colorswatch-style' into 'master'
...
Adwaita: Limit color swatch's hover effect to .activatable
See merge request GNOME/gtk!2411
2020-08-08 03:09:30 +00:00
Matthias Clasen
bfd8c5383f
Merge branch 'wip/chergert/popover-offset' into 'master'
...
popover: allow setting popup layout offset
See merge request GNOME/gtk!2412
2020-08-08 02:41:04 +00:00
Christian Hergert
4d88e3af17
popover: allow setting popup layout offset
...
Currently there is no way to alter the offset of the popup when positioning
with GdkPopupLayout. This makes using the popup difficult for scenarios
like completion windows where you may need to offset the window by a given
amount for aligning text.
gtk_popover_set_offset() allows setting these values and are analagous to
the function of the same name for GdkPopupLayout.
2020-08-07 17:10:52 -07:00
nana-4
b694771728
colorbutton: Remove .activatable style class from the color swatch
...
The button itself is activatable, but its color swatch is not.
2020-08-08 08:37:33 +09:00
nana-4
51d6ec5131
Adwaita: Limit color swatch's hover effect to .activatable
...
Non-activatable color swatches shouldn't have the interactive effect.
2020-08-08 08:33:38 +09:00
Efstathios Iosifidis
7625ccd6fa
Update Greek translation
2020-08-07 20:41:27 +00:00
Matthias Clasen
95e2a2b4b3
Merge branch 'leak-fixes' into 'master'
...
Leak fixes
See merge request GNOME/gtk!2406
2020-08-07 20:29:02 +00:00
Matthias Clasen
4e774eddb9
Merge branch 'wip/chergert/fix-textview-yrange-invalidation' into 'master'
...
linedisplaycache: improve invalidation with y_range
See merge request GNOME/gtk!2407
2020-08-07 20:17:22 +00:00
Christian Hergert
35325ea11a
linedisplaycache: improve invalidation with y_range
...
When we invalidate a y_range using the common pattern of y==0 and
old_height==new_height, we are generally invalidating the entire buffer.
This short-circuits that case to just invalidate the buffer in a faster
and more complete form. The problem here appears to be that we can't
always calculate the ranges properly to invalidate because validation
has not run far enough.
2020-08-07 12:44:26 -07:00
Matthias Clasen
5673310364
textbuffer: Fix a leak
...
gtk_text_buffer_insert_markup was leaking all the tags
that it inserts.
2020-08-07 15:26:11 -04:00
Matthias Clasen
2d72ba21ce
gtk-demo: Don't leak the markup
2020-08-07 15:19:33 -04:00
Matthias Clasen
e0786a4a00
gtk-demo: Fix a memory leak
...
The colors demo was leaking a reference to its model.
This was showing up as crash when you manage to close
both the demo window and the main window while the
sorting is ongoing.
2020-08-07 15:15:18 -04:00
Matthias Clasen
0b21883518
toplevel: Revise docs wording a bit
...
The documentation of ::compute-size didn't quite
keep up with the changes in the MR. Fix it up.
2020-08-07 14:56:42 -04:00
Matthias Clasen
1ccab92813
Merge branch 'matthias/fix-min-size' into 'master'
...
Matthias/fix min size
See merge request GNOME/gtk!2404
2020-08-07 18:46:24 +00:00
Matthias Clasen
f6d9e15c16
window: Don't set min_size > size
...
This fixes the failing reftest.
2020-08-07 13:55:02 -04:00
Jakub Steiner
cd0b9a2359
Merge branch 'wip/jimmac/vte-bg-color' into 'master'
...
Wip/jimmac/vte bg color
Closes vte#226
See merge request GNOME/gtk!2403
2020-08-07 17:16:14 +00:00
Jakub Steiner
96500816bc
Adwaita: add public color for text views
...
- define @text_view_bg to complement @theme_text_color for high
contrast legible text views.
Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/226
2020-08-07 18:58:32 +02:00
Jakub Steiner
9d60047616
Adwaita: force circular imagebuttons to be square
...
Addresses https://gitlab.gnome.org/GNOME/gnome-clocks/-/merge_requests/123#note_884741
2020-08-07 18:57:45 +02:00
Matthias Clasen
a95012caa3
Check sanity of toplevel sizes
...
Emit a warning when sizes returned in GdkToplevelSize
don't look sane. This is the case in the failing
reftest.
2020-08-07 12:45:19 -04:00
Matthias Clasen
51d55e4fbc
Merge branch 'demo-highlighting' into 'master'
...
gtk-demo: Modernize source highlighting
See merge request GNOME/gtk!2401
2020-08-07 16:21:55 +00:00
Matthias Clasen
05255bfc90
gtk-demo: Modernize source highlighting
...
Drop the homegrown highlighting code, and just use highlight
to produce Pango markup.
When using an external highlighter, we can also highlight css,
xml, headers, at least.
2020-08-07 11:54:10 -04:00
Matthias Clasen
41ef2c5f34
Merge branch 'wip/dont-leak-toplevel-present-callback' into 'master'
...
wayland/toplevel: Don't leak wl_callback used during present()
See merge request GNOME/gtk!2399
2020-08-07 12:58:05 +00:00
Matthias Clasen
4dfd413e0b
Merge branch 'wip/oholy/gtkmountoperation-newline' into 'master'
...
gtkmountoperation: Drop the new line character when splitting a message
See merge request GNOME/gtk!2397
2020-08-07 12:51:46 +00:00
Jonas Ådahl
6724d4250f
wayland/toplevel: Don't leak wl_callback used during present()
2020-08-07 14:01:16 +02:00
Matthias Clasen
8cd2f615ad
Merge branch 'wip/fix-wayland-toplevel-present-callback' into 'master'
...
Fix Wayland toplevel present callback issues
Closes #3026
See merge request GNOME/gtk!2395
2020-08-07 11:56:30 +00:00
Ondrej Holy
517a34bdc8
gtkmountoperation: Drop the new line character when splitting a message
...
When asking for a password, the message string is split on primary
and secondary if it contains a newline character. However, the newline
character is currently part of both strings, which creates weird
spacing between the GtkLabels. I suppose this is bug, which was not
visible as in most cases (if not all) the message string hasn't
contained the new line characters so far. But we are going to change
that now, see GNOME/gvfs!82 . Let's drop the new line character similarly
as it is done when asking for a question, or showing processes in order
to fix the weird spacing.
2020-08-07 10:37:19 +02:00
Jonas Ådahl
658719a205
gtk/window: Fix min size calculation
...
It should always use "preferred" size, not any remembered or otherwise
computed one, otherwise we won't be able to shrink to the preferred size.
2020-08-07 10:18:32 +02:00
Jonas Ådahl
c27f811462
wayland/surface: Destroy toplevel present callback if ignored
...
We might break the loop early, e.g. if we're unmapped before the round
trip finishes, and to avoid the callback to write to invalid stack
memory, destroy the callback so it won't be invoked.
Fixes : #3026
2020-08-07 09:06:21 +02:00
Jonas Ådahl
3590923c8b
wayland/surface: Fix toplevel present roundtrip condition
...
We should round trip until we both have received callback and have
ensured we received the initial configuration.
2020-08-07 09:06:21 +02:00
Matthias Clasen
1b7004ffc7
Merge branch 'about-polish' into 'master'
...
About polish
See merge request GNOME/gtk!2394
2020-08-07 02:35:09 +00:00
Matthias Clasen
85c713127e
aboutdialog: Make margins more uniform
...
Use similar margins in the Credits and System tabs.
2020-08-06 22:18:14 -04:00
Matthias Clasen
87a8fda163
demos: Brush up about dialogs
...
Show OS info, and generally polish this here and there.
2020-08-06 22:17:36 -04:00
Matthias Clasen
79e6269058
Merge branch 'gtk-demo-leaks' into 'master'
...
Gtk demo leaks
See merge request GNOME/gtk!2393
2020-08-07 01:36:34 +00:00
Matthias Clasen
6cf04c505f
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2392
2020-08-07 01:16:11 +00:00
Matthias Clasen
14900efe38
gtk-demo: Plug a big memory leak
...
The colors demo was leaking all its colors. Oops.
2020-08-06 21:14:11 -04:00
Matthias Clasen
04c3c659f5
gtk-demo: Plug a small memory leak
...
The settings demo was leaking a GtkBuilderScope.
2020-08-06 21:13:39 -04:00
Benjamin Otte
8557aaf327
demo: fix memleak
2020-08-07 02:53:21 +02:00
Benjamin Otte
052962a760
treeview: Use gtk_snapshot_append_border()
...
No need to construct the node manually.
2020-08-07 02:52:22 +02:00
Benjamin Otte
278fbcbbb4
demo: Don't crash when closing words demo
...
Make sure the stringlist we're loading into doesn't go away.
It'd be better to have a cancellable, but I'm lazy.
2020-08-07 02:52:22 +02:00
Matthias Clasen
26542778f7
Merge branch 'dnd-leaks' into 'master'
...
Dnd leaks
See merge request GNOME/gtk!2391
2020-08-07 00:34:38 +00:00
Matthias Clasen
a712ffa2ab
widgetpaintable: Clear an idle in dispose
...
We were not removing the pending_update idle
in dispose, which is at least suspicious, if
not deadly. Move the idle cleanup code into
unset_widget(), which we are already calling
in dispose().
2020-08-06 20:02:33 -04:00
Matthias Clasen
12450cfcef
wayland: Don't leak content formats
...
We were not unreffing the formats here.
2020-08-06 20:02:33 -04:00
Matthias Clasen
71373ff6fb
drop: Don't leak the surface and formats
2020-08-06 20:02:33 -04:00
Matthias Clasen
1fa9261fe3
contentdeserializer: Add some missing annotations
2020-08-06 20:02:33 -04:00
Matthias Clasen
c212dd4ec0
Merge branch 'scroll-compression-leak' into 'master'
...
Fix a leak in scroll event compression
See merge request GNOME/gtk!2390
2020-08-06 23:56:56 +00:00
Matthias Clasen
2ae1f40da2
Merge branch 'cairo-node-leak' into 'master'
...
gsk: Don't leak cairo nodes
See merge request GNOME/gtk!2389
2020-08-06 23:33:20 +00:00
Matthias Clasen
0c82aa314c
Fix a leak in scroll event compression
...
We were leaking the last event in a sequence
of scroll events.
2020-08-06 19:31:38 -04:00
Matthias Clasen
9e5ddeaa8a
gsk: Don't leak cairo nodes
...
Not chaining up in finalize is a leak, after all.
2020-08-06 18:35:41 -04:00
Matthias Clasen
4e3251872c
Merge branch 'focus-workaround' into 'master'
...
gridview: Work around unexpected focus changes
See merge request GNOME/gtk!2387
2020-08-06 19:31:24 +00:00
Matthias Clasen
c13d70479b
gridview: Work around unexpected focus changes
...
As things currently stand, we get events for focus changes
before the widget is allocated, and try to scroll in response.
Therefore, leaving n_columns at 0 until size-allocate leads
to plenty of division-by-zero. Just set it to 1 initially
to avoid that. This is a workaround for #3025 .
2020-08-06 14:35:19 -04:00
Matthias Clasen
ecd50891ff
Merge branch 'toplevel-size-declaration' into 'master'
...
gdk/toplevel: fix declarations of GdkToplevelSize
See merge request GNOME/gtk!2386
2020-08-06 14:43:28 +00:00
Andreas Persson
71cec2ef5d
gdk/toplevel: fix declarations of GdkToplevelSize
...
GDK_AVAILABLE_IN_ALL was missing from gdk_toplevel_size_get_bounds and
gdk_toplevel_size_set_max_size was declared though it doesn't exist.
2020-08-06 16:14:10 +02:00
Emmanuele Bassi
83e9b5b408
Merge branch 'rsvg-check' into 'master'
...
Specify version for optional librsvg dependency
See merge request GNOME/gtk!2385
2020-08-06 12:35:19 +00:00
Andreas Persson
f4a6a99b7c
Specify version for optional librsvg dependency
...
The testsvg test uses a method in librsvg that was introduced in
2.46.0. The test is now skipped if the librsvg version is too old.
(It was previously already skipped if librsvg wasn't found.)
2020-08-06 14:02:02 +02:00
Matthias Clasen
dd0c364938
Merge branch 'matthiasc/for-master' into 'master'
...
testsvg: Some additions
See merge request GNOME/gtk!2383
2020-08-06 04:15:01 +00:00
Matthias Clasen
2eec82c32a
testsvg: Some additions
...
Load a file from the commandline, and implement
intrinsic width/height.
2020-08-05 23:53:29 -04:00
Matthias Clasen
9212d95b0f
Merge branch 'svg-viewer' into 'master'
...
Add an svg test
See merge request GNOME/gtk!2382
2020-08-06 03:44:18 +00:00
Matthias Clasen
29ba8f0819
Add an svg test
...
tests/testsvg is a minimal paintable implementation wrapped
around RsvgHandle.
2020-08-05 23:22:03 -04:00
Matthias Clasen
8f7edb8a7d
Merge branch 'fix-puzzle-keynav' into 'master'
...
Fix puzzle keynav
Closes #3023
See merge request GNOME/gtk!2381
2020-08-06 02:00:05 +00:00
Matthias Clasen
dcf37412c1
gtk-demo: Fix keynav in the puzzle demo
...
Fixes : #3023
2020-08-05 20:52:22 -04:00
Matthias Clasen
d6c35ab02f
NEWS: Updates
2020-08-05 20:38:22 -04:00
Matthias Clasen
66df338087
Merge branch 'wip/carlosg/stop-spinbutton-stop' into 'master'
...
Let spinbuttons stop
Closes #3016
See merge request GNOME/gtk!2380
2020-08-05 22:42:41 +00:00
Christoph Reiter
d1718355cd
Merge branch 'msys2-ccache-setup-first' into 'master'
...
CI: move ccache setup before building anything
See merge request GNOME/gtk!2379
2020-08-05 22:05:25 +00:00
Carlos Garnacho
bb3675b3c7
gtkspinbutton: Claim button gestures when starting to spin
...
The gesture should be acknowledged by the spin button, in order to
guarantee it will also receive the button release.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3016
2020-08-06 00:01:34 +02:00
Carlos Garnacho
36711b6691
gtkbutton: Don't claim gesture till emission
...
That means waiting till button release.
2020-08-06 00:01:18 +02:00
Carlos Garnacho
dc8adcda0e
gtkgesture: ::cancel if a claimed sequence goes denied
...
The regular paths just emit ::end, which isn't the whole thing.
This gives an opportunity to gestures that are stolen the sequence
to clean themselves up.
2020-08-06 00:01:18 +02:00
Matthias Clasen
883a43ddd7
Merge branch 'wip/chergert/fix-anchored-cleanup' into 'master'
...
textview: properly remove anchored widgets
Closes #3021
See merge request GNOME/gtk!2378
2020-08-05 21:49:42 +00:00
Christian Hergert
5ff2b8535f
textview: properly remove anchored widgets
...
Fixes #3021
2020-08-05 14:08:07 -07:00
Matthias Clasen
750f9917e3
Merge branch 'gdk-doc-cleanup' into 'master'
...
docs: Clean up dangling links in gdk docs
See merge request GNOME/gtk!2377
2020-08-05 20:21:18 +00:00
Christoph Reiter
e77d82eaac
CI: move ccache setup before building anything
...
otherwise glib/pango end up in the wrong cache dir
2020-08-05 21:58:46 +02:00
Matthias Clasen
4babdcd662
Merge branch 'fontrendering-demo-fix' into 'master'
...
gtk-demo: Make fontrendering demo work more than once
Closes #3019
See merge request GNOME/gtk!2375
2020-08-05 19:54:34 +00:00
Matthias Clasen
f5b0cab5cf
Merge branch 'ci-git-build-test' into 'master'
...
CI: msys2: build glib/pango master manually before gtk
Closes #3002
See merge request GNOME/gtk!2376
2020-08-05 19:53:28 +00:00
Matthias Clasen
1d7b273669
docs: Clean up dangling links in gdk docs
...
Clean up references to no-longer-existing APIs.
2020-08-05 15:45:43 -04:00
Christoph Reiter
774d431525
CI: msys2: build glib/pango master manually before gtk
...
The win toolchain has problems linking meson subprojects to libgtk.
To work around that build glib/pango from git and install them first
as long as the installed version is too old at least.
Fixes #3002
2020-08-05 21:35:38 +02:00
Matthias Clasen
845afdbcd8
Merge branch 'fix-aspect-frame' into 'master'
...
aspectframe: Fix use in ui files
Closes #3020
See merge request GNOME/gtk!2374
2020-08-05 18:46:11 +00:00
Matthias Clasen
b58bad557b
gtk-demo: Make fontrendering demo work more than once
...
We weren't cleaning up properly, causing the window
to not close the second time it is opened.
Fixes : #3019
2020-08-05 14:36:54 -04:00
Matthias Clasen
6dfd92b191
aspectframe: Fix use in ui files
...
GtkAspectFrame code assumes that its child will be in
self->child, but that is only the case if we arrange
for <child> in ui files to end up calling
gtk_aspect_frame_set_child(). Therefore, implement
GtkBuildable.
Fixes : #3020
2020-08-05 14:05:47 -04:00
Matthias Clasen
d7c4f93c76
Merge branch 'wip/compute-size' into 'master'
...
Compute size via signal
See merge request GNOME/gtk!2325
2020-08-05 16:19:19 +00:00
Matthias Clasen
0b0f7dc9c0
Merge branch 'inspector-settings-crash' into 'master'
...
inspector: Stop showing settings bindings
Closes #3015
See merge request GNOME/gtk!2373
2020-08-05 16:13:52 +00:00
Matthias Clasen
df19049dde
inspector: Stop showing settings bindings
...
We were playing fast-and-loose with private GIO data
when showing settings bindings in the property editor,
and this was causing crashes.
We can show this information again if GIO ever gets
api to introspect it.
Fixes : #3015
2020-08-05 11:11:58 -04:00
Matthias Clasen
edc2adbb5b
Merge branch 'fix-solid-csd' into 'master'
...
Adwaita: Reduce the solid csd borders
Closes #2997
See merge request GNOME/gtk!2372
2020-08-05 14:13:21 +00:00
Jonas Ådahl
2ff74eb667
gdk/toplevel: Negotiate surface size via a compute-size signal
...
GTK will not up front know how to correctly calculate a size, since it
will not be able to reliably predict the constraints that may exist
where it will be mapped.
Thus, to handle this, calculate the size of the toplevel by having GDK
emitting a signal called 'compute-size' that will contain information
needed for computing a toplevel window size.
This signal may be emitted at any time, e.g. during
gdk_toplevel_present(), or spontaneously if constraints change.
This also drops the max size from the toplevel layout, while moving the
min size from the toplevel layout struct to the struct passed via the
signal,
This needs changes to a test case where we make sure we process
GDK_CONFIGURE etc, which means we also needs to show the window and
process all pending events in the test-focus-chain test case.
2020-08-05 15:49:00 +02:00
Matthias Clasen
cfd3651003
Merge branch 'matthiasc/for-master' into 'master'
...
testborderdrawing: Don't crash on exit
See merge request GNOME/gtk!2370
2020-08-05 12:48:41 +00:00
Matthias Clasen
7c252e3830
Merge branch 'gradient-hard-stop-test' into 'master'
...
Add a reftest for gradients with hard stops
See merge request GNOME/gtk!2371
2020-08-05 12:48:30 +00:00
Matthias Clasen
d44d9ad40d
Adwaita: Reduce the solid csd borders
...
Reduce the borders we draw ourselves for solid csd
to 1 pixel. It still doesn't look great, but at least
it doesn't look outright broken.
Fixes : #2997
2020-08-05 08:47:00 -04:00
Matthias Clasen
9c8bceb691
testborderdrawing: Don't crash on exit
2020-08-05 08:19:07 -04:00
Matthias Clasen
21a1413bf3
Add a reftest for gradients with hard stops
...
This is testing the issue described in #1293 .
No fix though, this is still broken in Vulkan.
It works correctly in GL and with cairo.
2020-08-05 08:10:35 -04:00
Matthias Clasen
8870ec5e7b
Merge branch 'hex-color-parse' into 'master'
...
Hex color parse
Closes #2931
See merge request GNOME/gtk!2356
2020-08-05 11:46:55 +00:00
Matthias Clasen
c46f262d6e
Merge branch 'master.win32' into 'master'
...
Another round of fixes for GDK/Win32
See merge request GNOME/gtk!2369
2020-08-05 11:31:52 +00:00
Chun-wei Fan
edc1c28236
GdkGLContext: Drop gdk_gl_context_has_[framebuffer_blit|frame_terminator]()
...
gdk_gl_context_has_framebuffer_blit() and gdk_gl_context_has_frame_terminator()
were only used by by GDK/Win32, and they do not provide performance advantages
in GTK master, so clean up the code a bit by dropping them.
2020-08-05 18:56:57 +08:00
Chun-wei Fan
f454c6f9d0
testsuite/gsk: Only run Broadway tests if enabled
...
We may not have enabled building the broadway renderer for our build, so don't
run the broadway renderer tests unless it is enabled.
2020-08-05 16:23:14 +08:00
Chun-wei Fan
cf5a6a003a
testsuite: Setup tests env by platform
...
Check whether we really have x11 and wayland enabled before we try to setup the
tests to use these respective GDK backends, and only attempt to setup tests
running with the Broadway backend if it has been enabled.
Also, add a setup for running tests with the GDK-Win32 backend on Windows, for
builds that target Windows.
2020-08-05 16:23:14 +08:00
Chun-wei Fan
d2291abe2a
gdksurface-win32.c: Fix resizing
...
Use gdk_surface_get_geometry() to get the correct x and y coordinates of the
window that we are resizing, so that the window does not reposition itself
automatically at the top-left corner at resizing as we to used hard-code the x
and y coordinates to 0.
2020-08-05 16:23:14 +08:00
Chun-wei Fan
5ce0098adc
gdkvulkancontext-win32.c: Implement ->begin_frame()
...
By doing so, we ensure that resizes of windows will work on Vulkan renderer, by
first calling gdk_win32_surface_handle_queued_move_resize() before we proceed
as usual
2020-08-05 16:23:14 +08:00
Chun-wei Fan
46a8a3fe31
gdk[cairo|gl]context-win32.c: Use gdk_win32_surface_handle_queued_move_resize()
...
Use the shared function that was added in the previous commit, to simplify
things.
Also make gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() back into static functions, since
they are now used only by the code in gdksurface-win32.c
2020-08-05 16:23:14 +08:00
Chun-wei Fan
c6ada2a329
gdksurface-win32.c: Add function to handle queued moves/resizes
...
Since we need to deal with queued moves and resizes in the Cairo, GL and Vulkan
draw contexts, and the logic involved in all three of these are largely
similar, add a function gdk_win32_surface_handle_queued_move_resize() that will
handle this, which will be shared between these three types of draw contexts.
2020-08-05 16:23:12 +08:00
Fran Dieguez
a7d665f28b
Update Galician translation
2020-08-05 07:56:11 +00:00
Chun-wei Fan
69bb4f8beb
GDK-Win32: Move some functions around
...
Move gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() to gdksurface-win32.c, since these
functions are not only used for Cairo draw contexts, but is also used for GL
draw contexts, and will be used for Vulkan draw contexts.
2020-08-05 15:38:08 +08:00
Chun-wei Fan
06f28af80f
gdksurface-win32.c: Fix Aerosnap computation
...
Don't get the default display when we compute the Aerosnap region, but instead
get it from the underlying GdkSurface that we are using for the computation.
Also, don't unref the monitors that we obtain from the display in the wrong
place, which was why we had crashes whenever we triggered AeroSnap code (and we
are actually not supposed to do that as they are owned by the GdkDisplay that
is owned by the GdkSurface we are using), and this will eliminate lots of
criticals that are spewed as a result.
2020-08-05 15:38:08 +08:00
Matthias Clasen
e60d6f70bf
Merge branch 'drop-accel-label' into 'master'
...
Drop accel label
See merge request GNOME/gtk!2368
2020-08-05 03:44:43 +00:00
Matthias Clasen
9126132e42
Merge branch 'docs-cleanup' into 'master'
...
Docs cleanup
See merge request GNOME/gtk!2367
2020-08-05 03:17:06 +00:00
Matthias Clasen
8562c623d3
Drop GtkAccelLabel
...
We no longer use this widget anywhere.
2020-08-04 23:05:18 -04:00
Matthias Clasen
2b8aeed4d8
Drop GtkCallback
...
It is no longer used in any of our public APIs.
2020-08-04 22:24:33 -04:00
Matthias Clasen
ce89f1eda1
selectionfiltermodel: Drop a leftover symbol
...
We decided not to do new_for_type() for list model
wrappers, so this function does not exist.
2020-08-04 22:11:34 -04:00
Matthias Clasen
f561000124
docs: Clean up many dangling links
...
In many cases, these were references to no longer
existing api, so some rewording was necessary.
2020-08-04 22:11:34 -04:00
Matthias Clasen
93c9600145
docs: Drop GtkPlacesSidebar from visual index
...
No longer a public widget.
2020-08-04 19:31:22 -04:00
Fran Dieguez
31726cdc95
Update Galician translation
2020-08-04 22:12:01 +00:00
Matthias Clasen
39eeb2a723
Merge branch 'try-to-fix-xvfb-in-ci' into 'master'
...
ci: Pass -noreset to Xvfb
See merge request GNOME/gtk!2366
2020-08-04 16:56:12 +00:00
Matthias Clasen
a06339fb48
ci: Pass -norest to Xvfb
...
This may help with the sporadic "No display" failures
we are seeing when running tests under X11 in ci.
2020-08-04 11:59:32 -04:00
Matthias Clasen
0e1afbbdad
Merge branch 'popoverflow' into 'master'
...
popover: Set overflow: hidden
Closes #3012
See merge request GNOME/gtk!2365
2020-08-04 15:47:50 +00:00
Matthias Clasen
a42738729b
Merge branch 'a11y-crash' into 'master'
...
A11y crash
Closes #3014
See merge request GNOME/gtk!2364
2020-08-04 15:47:36 +00:00
Matthias Clasen
d6e352e862
popover: Set overflow: hidden
...
This keeps overlay scrollbars from wrecking our
nice rounded corners.
Fixes : #3012
2020-08-04 11:10:49 -04:00
Matthias Clasen
f7eb5f8897
a11y: Don't do unnecessary work
...
Only serialize all the attributes if we are actually
going to print them.
2020-08-04 11:02:00 -04:00
Matthias Clasen
7398323b82
scrolledwindow: Fix a11y support code
...
This error was introduced by me in 971ee2d28a
and causes a crash in the scrolling benchmark in gtk-demo.
Fixes : #3014
2020-08-04 11:00:32 -04:00
Jonas Ådahl
4ee82e8175
gdk/toplevel: Fix typo in documentation
2020-08-04 16:53:10 +02:00
Jonas Ådahl
cebe469898
gtk/window: Don't remember size from GdkSurface
...
If we're maximized, and try to remember the non-maximized size, we'd
still get the maximized size.
2020-08-04 15:04:24 +02:00
Florentina Mușat
bbb15f65a7
Update Romanian translation
2020-08-04 11:23:33 +00:00
Matthias Clasen
b3a874c4d1
Merge branch 'modern-doc-shooter' into 'master'
...
Modern doc shooter
See merge request GNOME/gtk!2363
2020-08-04 11:22:07 +00:00
Matthias Clasen
f49d267187
docs: Add a gallery image for GtkDropDown
2020-08-04 00:33:37 -04:00
Matthias Clasen
2c306f75c4
docs: Add a gallery image for GtkEditableLabel
2020-08-04 00:26:51 -04:00
Matthias Clasen
d7cd28c641
docs: Add gallery image for GtkPasswordEntry
2020-08-04 00:19:08 -04:00
Matthias Clasen
92cb629640
docs: Avoid focus in gallery images
...
Seeing focus rectangles and selections in these
images is a distraction, and we used to avoid it.
Bring that back.
2020-08-04 00:18:30 -04:00
Matthias Clasen
1492e8cf0e
docs: Improve the gallery image for scales
2020-08-04 00:18:30 -04:00
Matthias Clasen
0ae46040a4
docs: Add gallery images for some more widgets
...
This adds GtkPicture, GtkVideo, GtkMediaControls.
2020-08-04 00:18:30 -04:00
Matthias Clasen
1d1e1a0068
docs: Regenerate widget gallery images
2020-08-04 00:18:30 -04:00
Matthias Clasen
1e3df88ee0
docs: Redo the doc shooter code
...
Steal snapshotting code from the reftests to
make this work again.
Other changes here: catch up with container removal.
2020-08-04 00:18:30 -04:00
Matthias Clasen
e818e98187
Merge branch 'pagesetup-leftover' into 'master'
...
Pagesetup leftover
See merge request GNOME/gtk!2362
2020-08-04 03:47:13 +00:00
Matthias Clasen
b4050482ec
Merge branch 'doc-links' into 'master'
...
Doc links
See merge request GNOME/gtk!2361
2020-08-04 00:35:40 +00:00
Matthias Clasen
942a90cd64
pagesetupdialog: Fix leftover tree model code
...
This was overlooked when the rest of the dialog
was ported to use list models.
2020-08-03 20:25:00 -04:00
Matthias Clasen
20c1fb0a0a
docs: Tweak documentation for list widgets
...
Fix numerous cases of : vs :: for signal references,
add some more details here and there.
2020-08-03 18:43:25 -04:00
Matthias Clasen
7972dc8776
docs: Unify docs around incremental operations
...
Sync up the wording around incremental filtering
and sorting to be more similar.
2020-08-03 18:43:25 -04:00
Matthias Clasen
7cb0dd9039
docs: Fix signal references
...
It is :: for signals, : for properties, | for actions.
2020-08-03 18:43:25 -04:00
Matthias Clasen
a5058c605f
docs: Fix typos
2020-08-03 18:43:21 -04:00
Matthias Clasen
70b0bdd5e3
docs: Tell pandoc we need Docbook4
...
gtk-doc assumes Docbook4, with <ulink> and so on.
Without this, all the links in markdown are converted
to <link xlink:href=...> and then lost in the docbook->html
conversion.
2020-08-03 16:53:44 -04:00
Matthias Clasen
2d72cd00e3
docs: Fix a typo
2020-08-03 16:53:32 -04:00
Yuri Chornoivan
95a533e8e1
Update Ukrainian translation
2020-08-03 17:02:11 +00:00
Matthias Clasen
0eb36cb823
Merge branch 'patch-1' into 'master'
...
show: remove obsolete comment
See merge request GNOME/gtk!2359
2020-08-03 16:22:19 +00:00
Alex
c8d51a7b98
show: remove obsolete comment
...
g_app_info_launch_default_for_uri supports x-scheme-handler directly since at least 2.27.1, released almost 10 years ago.
Link: https://bugzilla.gnome.org/show_bug.cgi?id=631410
Link: 9b262f1c5f
2020-08-03 15:36:36 +00:00
Matthias Clasen
c77600f1e9
Merge branch 'treeview-editing' into 'master'
...
treeview: Don't react to clicks on cell editables
Closes #3008
See merge request GNOME/gtk!2358
2020-08-03 12:28:20 +00:00
Matthias Clasen
64b8d8b3e4
ci: Update subprojects
...
Otherwise, we end up stuck on old checkouts, and
bumping requirements lets to build failures.
2020-08-03 08:11:03 -04:00
Matthias Clasen
83682d919f
treeview: Don't react to clicks on cell editables
...
We need to let these pass through, otherwise we
interfere with the entries that are used for editing.
Fixes : #3008
2020-08-03 07:51:09 -04:00
Matthias Clasen
6ed1cd63b6
Merge branch 'filechoosernative-docs' into 'master'
...
docs: Introspect GtkFileChooserNative info
Closes #2799
See merge request GNOME/gtk!2357
2020-08-03 11:09:03 +00:00
Matthias Clasen
cb320849de
docs: Introspect GtkFileChooserNative info
...
We were missing gtk_file_chooser_native_get_type
in gtk4.types.in, causing introspected info to not
be included.
Fixes : #2799
2020-08-03 00:13:10 -04:00
Matthias Clasen
9659d3f78a
Merge branch 'applaunch-warning' into 'master'
...
x11: Ignore stray DestroyNotify events
Closes #3006
See merge request GNOME/gtk!2355
2020-08-03 03:30:59 +00:00
Matthias Clasen
1f3327d326
rgba: Use pango_color_parse_with_alpha
...
Use this newly exported pango function, so we
can support hex colors with alpha like #rrggbbaa.
Fixes : #2931
2020-08-02 23:30:33 -04:00
Matthias Clasen
15325fe546
Bump the pango dependency
...
Require pango 1.45.5, so we can use pango_color_parse_with_alpha.
2020-08-02 23:30:33 -04:00
Matthias Clasen
4152e90e7e
x11: Ignore stray DestroyNotify events
...
There's no use in making a delete event with a
NULL surface. Just ignore such events.
Fixes : #3006
2020-08-02 22:45:28 -04:00
Matthias Clasen
c211fdcf42
Merge branch 'fishbowl-crash' into 'master'
...
Fishbowl crash
Closes #2996 and #3003
See merge request GNOME/gtk!2352
2020-08-03 02:19:01 +00:00
Matthias Clasen
af63893377
Merge branch 'search-demo-fixes' into 'master'
...
Search demo fixes
Closes #3004
See merge request GNOME/gtk!2354
2020-08-03 02:18:41 +00:00
Matthias Clasen
3304df7042
Merge branch 'tagged-entry-demo' into 'master'
...
gtk-demo: Simplify the tagged entry demo
Closes #3005
See merge request GNOME/gtk!2353
2020-08-03 02:18:28 +00:00
Matthias Clasen
df85ef1754
gtk-demo: Fix cleanup of search entry demo
...
We can't use the ::destroy signal anymore; use
a weak ref instead, and make ensure the entry
stays around long enough for us to finish the
cleanup.
Fixes : #3004
2020-08-02 21:53:59 -04:00
Matthias Clasen
a7e25f2c73
gtk-demo: Make search progress visible again
...
Set a progress fraction, so that the pulsing progress
in the search entry demo is actually visible.
2020-08-02 21:47:21 -04:00
Matthias Clasen
1c583edfb7
Merge branch 'font-explorer-crash' into 'master'
...
gtk-demo: Avoid invalid OpenType feature tags
Closes #2962
See merge request GNOME/gtk!2351
2020-08-03 01:40:51 +00:00
Matthias Clasen
89c10e092a
Merge branch 'emoji-insert-fix' into 'master'
...
textview: Make insert-emoji replace the selection
Closes #2996
See merge request GNOME/gtk!2350
2020-08-03 01:40:43 +00:00
Matthias Clasen
4bdd94fd3f
gtk-demo: Simplify the tagged entry demo
...
No need for an intermediate box widget here;
we can just use a box layout. As a side-effect,
this fixes the theme to apply to the selection.
Fixes : #3005
2020-08-02 21:39:23 -04:00
Matthias Clasen
5a55f6ff7b
gdk: Fix gdk_surface_get_layout_monitor
...
We are determining the monitor by maximizing the
intersection; that only works if our rectangle
is not empty.
Fixes : #3003
2020-08-02 21:29:18 -04:00
Matthias Clasen
af07cfea5f
gtk-demo: Avoid invalid OpenType feature tags
...
ss00 doesn't exist, and we use xxxx as placeholder
for 'default' choices in alternatives. Add a warning
in case we run across invalid OpenType feature tags
in fonts.
Fixes : #2962
2020-08-02 21:13:37 -04:00
Matthias Clasen
348a38a876
textview: Make insert-emoji replace the selection
...
This is the expected behavior, and matches what
GtkText does.
Fixes : #2996
2020-08-02 20:48:14 -04:00
Matthias Clasen
0d98bab82b
Merge branch 'filechooser-completions' into 'master'
...
filechooser: Prevent over-eager completions
Closes #2995
See merge request GNOME/gtk!2347
2020-08-03 00:23:28 +00:00
Matthias Clasen
992c5fade7
Merge branch 'wip/chergert/gtk4-textview-fix-selections' into 'master'
...
textlinedisplaycache: short-circuit y_range invalidation
Closes #2975
See merge request GNOME/gtk!2348
2020-08-03 00:23:13 +00:00
Matthias Clasen
75d09d5ab3
Merge branch 'fix-win32-ci' into 'master'
...
ci: Don't use --werror for the win32 build
See merge request GNOME/gtk!2349
2020-08-03 00:19:43 +00:00
Matthias Clasen
1c49371edf
ci: Don't use --werror for the win32 build
...
This leads to warnings from the glib win32 build
failing our ci. Only use werror for gtk itself.
2020-08-02 19:59:25 -04:00
Christian Hergert
94d17a6809
textlinedisplaycache: short-circuit y_range invalidation
...
If we have a y==-1 then we are generally invalidating the whole textview.
For this case, we can just discard the entire GtkTextLineDisplay cache.
Fixes #2975
2020-08-02 16:35:50 -07:00
Matthias Clasen
9605e49fbf
filechooser: Prevent over-eager completions
...
We don't want the completions to pop up after we call
gtk_file_chooser_set_current_name(). This used to be
handled by gtk_entry_set_text() blocking the completion
signal handler. We don't have that anymore, so block
popup completion around the call to gtk_editable_set_text()
instead.
Fixes : #2995
2020-08-02 19:18:11 -04:00
Matthias Clasen
43816ba8d9
Merge branch 'grid-api' into 'master'
...
grid layout: Rename some properties
Closes #2967
See merge request GNOME/gtk!2345
2020-08-02 23:17:40 +00:00
Matthias Clasen
71be1751c6
builder-tool: Rewrite top/left-attach
...
Rewrite the GtkGrid:top/left-attach child properties
to the GtkGridLayoutChild:row/column layout properties.
Update expected test output to match.
2020-08-02 17:58:03 -04:00
Matthias Clasen
ed13e6a41e
grid layout: Rename some properties
...
Rename GtkGridLayoutChild:left-attach/top-attach to
GtkGridLayoutChild:column/row. Update all users.
Fixes : #2967
2020-08-02 17:58:03 -04:00
Matthias Clasen
7fe7d5ab4f
Merge branch 'fix-textiter-tests' into 'master'
...
textbuffer: Fix a test failure
See merge request GNOME/gtk!2346
2020-08-02 21:55:43 +00:00
Matthias Clasen
4340f75304
textbuffer: Fix a test failure
...
The previous change to gtktextbuffer.c was breaking
the textiter testcase.
2020-08-02 17:23:26 -04:00
Matthias Clasen
0add626822
textbuffer: Be careful with tags when copying
...
We can only insert tags in the buffer if they come
from the same GtkTextTagTable as the buffer uses.
If that is not the case, paste the text without tags.
Fixes : #2991
2020-08-02 13:54:06 -04:00
Matthias Clasen
793ea05f4a
Merge branch 'text-drag-select' into 'master'
...
textview: Only claim the event when appropriate
Closes #2999
See merge request GNOME/gtk!2344
2020-08-02 17:45:30 +00:00
Matthias Clasen
638ea2d6fc
Merge branch 'fallback-menu-critical' into 'master'
...
popovermenu: Avoid a critical
Closes #2998
See merge request GNOME/gtk!2343
2020-08-02 17:42:22 +00:00
Matthias Clasen
c959f9c701
textview: Only claim the event when appropriate
...
Don't claim the event unconditionally for the click gesture,
since we may want to start a drag selection.
Fixes : #2999
2020-08-02 13:32:37 -04:00
Matthias Clasen
f8a303b0e5
popovermenu: Avoid a critical
...
While we guarantee that the widget that a controller
is attached to stays around while it is handling an event,
the same is not true for the root that the widget belongs
to. In corner cases (such as clicking "Close" in the
fallback window menu), it may already be gone.
Avoid a critical in that case.
Fixes : #2998
2020-08-02 13:09:00 -04:00
Matthias Clasen
ddda963f81
Merge branch 'selectable-label-draw' into 'master'
...
label: Redraw when focus changes
See merge request GNOME/gtk!2342
2020-08-02 16:40:12 +00:00
Matthias Clasen
9bf50e5650
Merge branch 'linked-button-fixes' into 'master'
...
Adwaita: Add linked styling for particular button widgets
Closes #2939 and #1903
See merge request GNOME/gtk!2339
2020-08-02 16:39:59 +00:00
Matthias Clasen
acc57ea799
Merge branch 'controllers-list' into 'master'
...
Controllers list
See merge request GNOME/gtk!2341
2020-08-02 16:25:50 +00:00
Matthias Clasen
1c8471c38f
label: Redraw when focus changes
...
When focus changes in a selectable label, we need to
redraw to make the text caret (dis)appear.
2020-08-02 12:11:38 -04:00
Matthias Clasen
17208ca7fa
Go back to keeping a list of event controllers
...
This reverts 4b9e5304cc . It caused a number of regressions,
such as event controller ordering changes.
2020-08-02 12:01:06 -04:00
Matthias Clasen
1c16cb751f
Revert "Add gtk_widget_prepend_controller"
...
This reverts commit 692cc42e10 .
2020-08-02 12:01:06 -04:00
Matthias Clasen
127612d213
Revert "entry completion: Make keynav work again"
...
This reverts commit 53a30eaa12 .
2020-08-02 12:01:06 -04:00
Matthias Clasen
4ad401f3fa
Merge branch 'matthiasc/for-master' into 'master'
...
shortcutswindow: Clear search entry on unmap
Closes #2981
See merge request GNOME/gtk!2340
2020-08-02 15:05:17 +00:00
Matthias Clasen
888a65c1fb
shortcutswindow: Clear search entry on unmap
...
Otherwise, the search term will linger around until
somebody clicks the search button again.
Fixes : #2981
2020-08-02 09:33:52 -04:00
Piotr Drąg
3d65178f37
Update Polish translation
2020-08-02 14:36:18 +02:00
nana-4
891027f0c3
Adwaita: Add linked styling for particular button widgets
...
Those button widgets need some special linked styling like what
combobox has.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1903
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2939
2020-08-02 19:14:26 +09:00
nana-4
5f00675de4
appchooserbutton: Set a CSS name
...
Otherwise it has a CSS name "widget".
2020-08-02 18:26:40 +09:00
Matthias Clasen
be03613e30
Merge branch 'ci-installed-tests' into 'master'
...
Run installed tests in ci
Closes #2966
See merge request GNOME/gtk!2335
2020-08-02 03:47:22 +00:00
Matthias Clasen
d17e51df06
Merge branch 'inspector-device-details' into 'master'
...
inspector: Introspect enum values
See merge request GNOME/gtk!2338
2020-08-02 03:25:33 +00:00
Matthias Clasen
5ecf1431f0
cups: Don't emit a warning if we can't talk to avahi
...
The g_warning in this case makes the templates test
fail if it can't connect to the system bus (as is the
case for running installed tests in ci).
2020-08-01 23:24:36 -04:00
Matthias Clasen
28a9fa2486
installed-tests: Fix the icontheme test
...
We forgot to install some of the icons, causing
the test to fail.
2020-08-01 23:24:36 -04:00
Matthias Clasen
7cf61e6a4b
ci: Add a build that runs installed tests
...
This will hopefully prevent regressions in
installed-tests.
2020-08-01 23:24:36 -04:00
Matthias Clasen
0d608c492d
inspector: Introspect enum values
...
Stop hardcoding arrays with names for enum values.
This has bitten us repeatedly as these enums were
changed around; time to stop doing it.
2020-08-01 23:05:24 -04:00
Matthias Clasen
7bc553a5cc
Merge branch 'label-copy-link-fix' into 'master'
...
Label copy link fix
See merge request GNOME/gtk!2337
2020-08-02 02:45:53 +00:00
Matthias Clasen
934946acfc
Merge branch 'matthiasc/for-master' into 'master'
...
testsuite: Fix installed tests
Closes #2966
See merge request GNOME/gtk!2336
2020-08-02 02:45:30 +00:00
Matthias Clasen
3a9b824ce5
ci: Use newer fedora image
...
v22 adds gnome-desktop-testing-runner and enables sudo.
2020-08-01 22:12:47 -04:00
Matthias Clasen
501b2b43ef
ci: Enable sudo in the image
...
This is needed so we can install what we built.
2020-08-01 22:12:08 -04:00
Matthias Clasen
aea253bc60
ci: Add gnome-desktop-testing to images
2020-08-01 22:12:08 -04:00
Matthias Clasen
4fed32315c
testsuite: Fix installed tests
...
This broken recently, when we converted the tests
array to a dictionary.
Fixes : #2966
2020-08-01 22:12:08 -04:00
Matthias Clasen
d19e60a40d
testsuite: Fix installed tests
...
This broken recently, when we converted the tests
array to a dictionary.
Fixes : #2966
2020-08-01 22:06:21 -04:00
Matthias Clasen
e0c7d7daeb
menusectionbox: Avoid a critical warning
...
The popover may already be gone when the item
is activated. Don't trigger a critical in that
case.
Related: #2986
2020-08-01 22:03:41 -04:00
Matthias Clasen
64ed69c56f
label: Be more selective when selecting on focus-in
...
We don't want to select on focus-in when the focus
comes from a child. The case where this does harm
is when you activate copy or paste actions from the
context menu. We close the menu before triggering the
action, and if that causes the text in the label to
be selected, unexpected things happen, since the action
applies to the current selection.
This is the equivalent of cd9f5733b3 for GtkLabel.
2020-08-01 22:01:52 -04:00
Matthias Clasen
2a962e1c9a
Merge branch 'glib-build-fix' into 'master'
...
togglebutton: Don't crash on click
See merge request GNOME/gtk!2334
2020-08-02 01:30:31 +00:00
Matthias Clasen
74662776d4
togglebutton: Don't crash on click
...
The code used to do
if (parent_class->clicked)
parent_class->clicked (...)
That is pointless because the parent_class never changes,
so there' no need for that if and commit 415946eb0f
took it out. Unfortunately, p arent_class->clicked is NULL
though, so the whole call needs to go.
2020-08-01 20:09:05 -04:00
Matthias Clasen
0b2833f69c
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2980 , #2974 , #2949 , and #2766
See merge request GNOME/gtk!2333
2020-08-01 23:58:04 +00:00
Timm Bäder
41b458fba7
Fix and improve various code samples
2020-08-01 20:01:04 +02:00
Timm Bäder
f716daa483
aboutdialog: Fix a code sample
...
gdk_texture_new_from_file takes a GFile these days.
2020-08-01 19:30:31 +02:00
Timm Bäder
415946eb0f
togglebutton: Modernice source file
...
Make this a little less ancient looking.
2020-08-01 19:24:54 +02:00
Timm Bäder
65b79d2585
Avoid refering to old GtkContainer API in the docs
2020-08-01 15:34:59 +02:00
Timm Bäder
e976825342
button: Use g_object_notify_by_pspec()
2020-08-01 15:34:07 +02:00
Timm Bäder
b489a1f6b5
stack: Allow NULL names
...
Does this work?
2020-08-01 15:27:13 +02:00
Timm Bäder
2f65459fcc
stack: Only compare page names if the new page has one
2020-08-01 15:26:53 +02:00
Timm Bäder
f5af18738b
listbox: Add _append
...
To have easy replacement API for gtk_container_add.
2020-08-01 15:26:28 +02:00
Timm Bäder
b37b85333d
adwaita: Reset popover background in backdrop
...
Otherwise it inherits the generic background color from .background
Fixes #2766
2020-08-01 10:34:04 +02:00
Timm Bäder
76f2396764
popover: Use gtk_widget_add_css_class
2020-08-01 10:31:38 +02:00
Timm Bäder
547842e7f0
window: Keep titlebar after main child
...
Fixes #2949
2020-08-01 09:30:48 +02:00
Timm Bäder
ebaea07286
inspector: Avoid some failing casts
...
We might be inspecting a non-widget here, so can't just cast that.
2020-08-01 08:59:46 +02:00
Timm Bäder
0822de1971
textview: Only show "insert emoji" menu item if editable
...
Fixes #2974
2020-08-01 08:59:46 +02:00
Timm Bäder
954a144336
mediastream demo: Add a weak pointer to the window
...
Do what other demos do as well.
Fixes 2983
2020-08-01 08:59:46 +02:00
Timm Bäder
bf24da0d80
inspector: Add a type check
...
We only connect to this signal if sl->obejct is a GtkAccessible, so only
disconnect from it on the same condition.
Fixes #2980
2020-08-01 08:59:41 +02:00
Jordi Mas
d743e757ec
Update Catalan translation
2020-08-01 07:33:03 +02:00
Rico Tzschichholz
746a40bbfe
Merge branch 'ricotz/for-master' into 'master'
...
Add annotations to improve GIR API
See merge request GNOME/gtk!2332
2020-07-31 19:31:40 +00:00
Rico Tzschichholz
d1cab4fbdd
gtk: Add annotations to improve GIR API
2020-07-31 20:56:36 +02:00
Rico Tzschichholz
7a58a6a097
gsk: Add annotations to improve GIR API
2020-07-31 20:56:36 +02:00
Rico Tzschichholz
371cdf3250
gdk/x11: Add annotations to improve GIR API
2020-07-31 20:56:36 +02:00
Matthias Clasen
1087ff48f0
Merge branch 'glib-build-fix' into 'master'
...
widget: Drop unnecessary includes
See merge request GNOME/gtk!2328
2020-07-31 18:52:50 +00:00
Matthias Clasen
15982ab6d2
meson: Try to limit the damage
...
Try to teach meson not to build our subprojects with
-Werror, since that is just insane, and exposes us
to random build failures in subprojects.
2020-07-31 14:20:11 -04:00
Matthias Clasen
0dc6ee2c44
Merge branch 'dont-always-inline' into 'master'
...
gsk: Don't the always_inline function attribute
See merge request GNOME/gtk!2331
2020-07-31 17:39:22 +00:00
Matthias Clasen
f136a6f51f
testgtk: More GTimeVal eradication
2020-07-31 13:37:29 -04:00
Matthias Clasen
6ab13a6303
gsk: Don't the always_inline function attribute
...
Visual C doesn't understand it, and the compiler
should know better, anyway.
2020-07-31 13:13:46 -04:00
Matthias Clasen
358f66482d
Merge branch 'master.win32' into 'master'
...
Some improvements for GDK/Win32
See merge request GNOME/gtk!2327
2020-07-31 17:10:47 +00:00
Matthias Clasen
0d3fa01be2
Merge branch 'wip/carlosg/cursor-fallout' into 'master'
...
gdk: Fix toplevel calculation on pointer grab switch
Closes #2970
See merge request GNOME/gtk!2330
2020-07-31 17:10:05 +00:00
Matthias Clasen
e0d1aac8a5
Bump the glib dependency
...
Some of the new apis we want to use to avoid
deprecations were only introduced in 2.65.
2020-07-31 13:07:31 -04:00
Matthias Clasen
fc31f3d629
placesview: Keep up with GLib deprecations
...
We were using deprecated GBookmarkFile api here too.
2020-07-31 12:54:57 -04:00
Carlos Garnacho
9564cba492
gdk: Fix toplevel calculation on pointer grab switch
...
This check used to read if (grab || device_type != GDK_DEVICE_TYPE_PHYSICAL),
the grab check was only reserved to physical devices, which the current
pointer device definitely doesn't act like. So the condition was "fixed" the
wrong way around, and the latter check is now moot, so the condition should
really go away. We always want to check the new toplevel under the pointer
here.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2970
2020-07-31 18:53:01 +02:00
Matthias Clasen
90eec6734f
Merge branch 'cups-build-fix' into 'master'
...
Fix the build with cups < 2.3
Closes #2968
See merge request GNOME/gtk!2329
2020-07-31 16:33:46 +00:00
Matthias Clasen
72e14bd6dd
recentmanager: Keep up with GLib deprecations
...
All the time_t based apis in GBookmarkFile have
been deprecated; use GDateTime instead. This
changes a few GtkRecentManager APIs.
2020-07-31 12:18:47 -04:00
Matthias Clasen
99bb8bb3f7
numericsorter: Ignore deprecations
...
We use g_value_get_char here; replacing it with
g_value_get_schar is not entirely trivial, so just
ignore deprecations for now.
2020-07-31 11:36:03 -04:00
Matthias Clasen
ff42c94174
gtkicontheme: Stop using GTimeVal
...
It has been deprecated and the deprecation warnings
break our -Werror build in ci.
2020-07-31 11:22:16 -04:00
Chun-wei Fan
20388f83f5
GDK-Win32: Use SetProcessDpiAwarenessContext() where available
...
This allows us to use DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 for the
DPI awareness mode, which will help us to better support use cases with
multiple monitors. This is actualy a more advaned version of the
current PROCESS_PER_MONITOR_DPI_AWARE via using SetProcessDpiAwareness().
Note that this is not enabled by default, but also enabled via using
GDK_WIN32_PER_MONITOR_HIDPI, as in the PROCESS_PER_MONITOR_DPI_AWARE
case.
Note also, that appliation compatibility settings and DPI-awareness
manifests takes precedence over this API call, as before.
2020-07-31 23:20:25 +08:00
Chun-wei Fan
c97979873a
demos: Fix running on Visual Studio builds
...
We need to mark the non-static callback functions for export.
2020-07-31 23:20:25 +08:00
Chun-wei Fan
d6955d4427
gskrenderer.c: Default to the GL renderer on Windows too
...
Since we have now made the Win32 GL contexts share the global context as
the other backends have, we are more ready to use the GL renderer by
default on Windows as well.
Note that currently we can only enable this when not running on
OpenGL/ES as the OpenGL/ES shaders are not ready at this point, and the
OpenGL/ES support that we have from libANGLE does not support full
desktop OpenGL operations.
2020-07-31 23:20:14 +08:00
Chun-wei Fan
85706dc39d
gdkglcontext-win32.c: Create a global shared GL context
...
Like the other backends, we ought to create our WGL/EGL GL contexts like
the following:
"Create a global GL context that connects all GL contexts on a display
and lets us share textures between them."
2020-07-31 23:19:28 +08:00
Chun-wei Fan
07166a55ee
gdksurface-win32.c: Deal with modal and decoration props
...
Handle these cases, especially the modal case, which we did not handle
previously after the conversion to surface subtypes.
2020-07-31 23:19:28 +08:00
Matthias Clasen
2dfa5ac804
x11: Stop using GTimeVal
...
It has been deprecated, and that is breaking our
ci builds with -Werror.
2020-07-31 10:58:53 -04:00
Matthias Clasen
8c66e2ff66
widget: Drop unnecessary includes
...
We don't need to include gobjectnotifyqueue.c anymore,
since style properties are gone. This should fix the
build with -Werror.
2020-07-31 10:34:37 -04:00
Matthias Clasen
d761e3cf2c
Fix the build with cups < 2.3
...
PPD_CUSTOM_UNKNOWN was introduced in cups 2.3.
Only handle it when we build against a new enough cups.
Fixes : #2968
2020-07-31 10:01:45 -04:00
Florentina Mușat
360ffb8e87
Update Romanian translation
2020-07-31 13:42:35 +00:00
Yuri Chornoivan
731b672875
Update Ukrainian translation
2020-07-31 12:52:54 +00:00
Daniel Mustieles
d5a31daa41
Updated Spanish translation
2020-07-31 13:48:24 +02:00
Matthias Clasen
554954d126
3.99.0
2020-07-30 22:16:31 -04:00
Matthias Clasen
73477b5abf
testsuite: Use Wayland by default
...
I'm tired of xwayland crashing and killing my shell.
2020-07-30 22:16:31 -04:00
Matthias Clasen
62803c19f5
Merge branch 'focus-active' into 'master'
...
Focus active
Closes #2390
See merge request GNOME/gtk!2324
2020-07-30 17:50:54 +00:00
Matthias Clasen
643d873f47
eventcontrollerkey: Update im focus when active window changes
...
Use the new GTK_CROSSING_ACTIVE crossing events to update
the im context focus when the window becomes active or
inactive. IBus requires this, since it has only a single,
global focus location.
Fixes : #2390
2020-07-30 13:23:45 -04:00
Matthias Clasen
b0d40403e1
window: Emit GTK_CROSSING_ACTIVE crossing events
...
Emit crossing events when the active window changes.
We don't want to emit GTK_CROSSING_FOCUS events, since
every window has its own focus location (focus does not
jump from window to window), so we use the new
GTK_CROSSING_ACTIVE type of crossing event for this.
2020-07-30 13:22:26 -04:00
Matthias Clasen
12170acf46
Define GTK_CROSSING_ACTIVE
...
Document the different crossing event kinds that we use,
and add GTK_CROSSING_ACTIVE. We are going to use it in
the future when the active window changes.
2020-07-30 13:21:28 -04:00
Matthias Clasen
38648855b0
Merge branch 'wip/carlosg/more-device-api-cleanup' into 'master'
...
More device API cleanup
See merge request GNOME/gtk!2323
2020-07-30 17:01:15 +00:00
Carlos Garnacho
96452a2e46
gdk: Rename gdk_seat_get_physical_devices() to gdk_seat_get_devices()
...
We don't want to tell what they are, and the distinction is now less
clear. Remove the adjective from the function name.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
46eb054337
gdk: Drop gdk_device_get_device_type()
...
There is no longer a hierarchy of devices, or none that is seen
on the outside.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
4a2050e220
gdk/x11: Make device type a X11 detail
...
The only legit uses of device types are here in gdk/x11, move the
concept of device type to X11, so we can drop it from public API.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
3c68db8e47
gdk: Make gdk_device_list_physical_devices() private
...
Physical devices should probably be accounted internally in gdk/x11,
make this out of private API so at least the implementation details
don't leak.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
9912c80d70
gdk: Drop gdk_device_get_associated_device()
...
Devices are no longer associated like this, the seat should be used
to resolve queries on other devices.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
2f792396d7
gtkimcontext: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
6730b26b43
gtktextview: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
6e83d1f54e
gtkwindowhandle: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:19:44 +02:00
Carlos Garnacho
fb9db7fede
gtkdragsource: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:19:44 +02:00
Carlos Garnacho
7991032aeb
gdk/x11: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:19:44 +02:00
Carlos Garnacho
0cbc857ea4
gdk/win32: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:17:42 +02:00
Carlos Garnacho
398c1d1ad7
gdk/macos: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:17:42 +02:00
Carlos Garnacho
94982dbab7
gdk: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:17:42 +02:00
Benjamin Otte
4dc2ab61c9
Merge branch 'wip/otte/geometry' into 'master'
...
Some GdkGeometry cleanups
See merge request GNOME/gtk!2322
2020-07-30 15:31:27 +00:00
Benjamin Otte
13d3afa56e
Remove unused GDK_HINT_POS
2020-07-30 17:06:15 +02:00
Benjamin Otte
3dd0e6d0b1
Remove gravity from GdkGeometry
...
It's always northwest
2020-07-30 17:06:15 +02:00
Benjamin Otte
11db6ad574
Remove aspect ratio from GdkGeometry
...
It's unused.
2020-07-30 17:06:15 +02:00
Benjamin Otte
ebcef256ab
gdk: Remove unused flags
2020-07-30 17:06:15 +02:00
Benjamin Otte
b12b06e917
gdk: Remove base_size and increment from GdkGeometry
...
It's unused.
2020-07-30 16:55:45 +02:00
neyfag
a27c3039d0
Scroll to cursor after canceling a selection
2020-07-30 15:52:57 +02:00
Matthias Clasen
0ee3370afc
Merge branch 'wip/master.win.egl' into 'master'
...
Add an EGL (OpenGL/ES 3) renderer for GTK+-4.x (using Google's ANGLE project) for Windows
Closes #105
See merge request GNOME/gtk!215
2020-07-30 12:18:02 +00:00
Rico Tzschichholz
c2b5997437
Merge branch 'ricotz/for-master' into 'master'
...
a11y: Fix typo in GtkATContext::state-changed docs
See merge request GNOME/gtk!2320
2020-07-30 07:35:48 +00:00
Rico Tzschichholz
f02a17805e
a11y: Fix typo in GtkATContext::state-changed docs
2020-07-30 09:06:49 +02:00
Chun-wei Fan
a481733b40
GDK/Win32: Force GLES if running on ARM64
...
If GLES support is enabled on Windows, force GLES mode if we are running
on a ARM64 version of Windows (i.e. Windows 10 for ARM).
This is required as ARM64 versions of Windows only provide a software
implementation of OpenGL 1.1/1.2, which is not enough for our purposes.
Thus, we could make instead use the GLES support provided via Google's
libANGLE (which emulates OpenGL/ES 3 with Direct3D 9/11), so that we
can run GtkGLArea programs under OpenGL/ES in ARM64 versions of Windows.
Note that eventually we could update the libepoxy build files for Windows
to not check nor enable WGL when building for ARM64 Windows, as the WGL
items do not work, although they do build.
2020-07-30 14:30:13 +08:00
Chun-wei Fan
cf0175ffce
OpenGL/ES: Fix 'R' and 'B' bits inverted on Windows
...
We need to use GL_BGRA instead of GL_RGBA when doing glReadPixels() on
EGL on Windows (ANGLE) so that the red and blue bits won't be displayed
inverted.
Also fix the logic where we determine whether to bit blit or redraw
everything.
2020-07-30 14:30:13 +08:00
Chun-wei Fan
e5600ab99b
demos: Fix glarea demo on OpenGL/ES
...
Some implementations of the ES 1.00 shader (such as Google's ANGLE) do
not like the 'f' suffix for floats, so just drop it, as it should be
harmless to drop.
2020-07-30 14:26:33 +08:00
Chun-wei Fan
257fd990d1
Add a EGL renderer (via ANGLE) for Windows
...
This is for adding a EGL-based renderer which is done via the ANGLE
project, which translate EGL calls to Direct3D 9/11. This is done as a
possible solution to issue #105 , especially for cases where the needed
full GL extensions to map OpenGL to Direct3D is unavailable or
unreliable, or when the OpenGL implementation from the graphics drivers
are problematic.
To enable this, do the following:
-Build ANGLE and ensure the ANGLE libEGL.dll and libGLESv2.dll are
available. A sufficiently-recent ANGLE is needed for things to
work correctly--note that the copy of ANGLE that is included in
qtbase-5.10.1 is sufficient. ANGLE is licensed under a BSD 3-clause
license.
-Build libepoxy on Windows with EGL support enabled.
-Currently, prior to running GTK+ programs, the GDK_DEBUG envvar needs
to be set with gl-gles as at least one of the flags.
Known issues:
-Only OpenGL ES 3 is supported, ANGLE's ES 2 does not support the needed
extensions, notably GL_OES_vertex_array_object, but its ES 3 support is
sufficient.
-There is no autodetection or fallback mechanism to enable using
EGL/Angle automatically yet. There are no plans to do this in this
commit.
2020-07-30 14:26:33 +08:00
Chun-wei Fan
12a23162b3
build: Check for EGL support in libepoxy on Windows
...
...EGL support needs to be explicitly enabled during the build of
libepoxy on Windows as it is not enabled by default on Windows.
With this, we can add an EGL renderer for Windows that make use of
Google's libANGLE, which is a library that translates OpenGL/ES calls
to Direct3D 9/11, which will provide better hardware compatibility
on Windows and would act as one of the foundations to resolve issue #105 .
2020-07-30 14:26:33 +08:00
Matthias Clasen
0b11e78064
Merge branch 'display-cleanup' into 'master'
...
Display cleanup
See merge request GNOME/gtk!2319
2020-07-30 03:55:23 +00:00
Matthias Clasen
e8026e29b6
Merge branch 'surface-cleanup' into 'master'
...
Surface cleanup
See merge request GNOME/gtk!2317
2020-07-30 03:43:30 +00:00
Matthias Clasen
ee1a868913
Merge branch 'a11y-work' into 'master'
...
A11y work
See merge request GNOME/gtk!2318
2020-07-30 03:28:02 +00:00
Matthias Clasen
488722e7c4
docs: Don't refer to nonexisting functions
...
gdk_surface_input_shape_combine_mask() no longer
exists.
2020-07-29 23:00:57 -04:00
Matthias Clasen
7df070d681
gdk: Move default group api to the X11 backend
...
This is the only place where it is implemented.
2020-07-29 22:58:37 -04:00
Matthias Clasen
abf8cbeaea
a11y: Set an accessible role for GtkLevelBar
...
Use the 'meter' role for GtkLevelBar, and set the
appropriate properties.
Update the docs and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
c0de580d46
a11y: Set an accessible role for GtkExpander
...
Use the button accessible role for GtkExpander
and set attributes as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
144114bf40
a11y: Set accessible role for GtkLinkButton
...
Set the accessible role for GtkLinkButton to button.
We don't use the 'link' role since ARIA says "if it
behaves like a button, use 'button'".
Update docs and add a test.
This changes should not be neccessary, since
GtkLinkButton derives from GtkButton, see #2965 .
2020-07-29 22:46:00 -04:00
Matthias Clasen
c68fe1053a
a11y: Set an accessible role for GtkTextView
...
Use the text-box accessible role for GtkTextView
and set properties as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
4d012a6d95
Rename gdk_surface_queue_expose
...
We don't have expose events anymore; instead, there
is a ::render signal. So rename queue_expose to
queue_render to match.
Update all callers.
2020-07-29 22:40:01 -04:00
Matthias Clasen
c1eedf6845
gdk: Stop exporting gdk_surface_freeze_updates
...
The only legitimate use for freezing the frame clock
is in GDK backends. Exporting this function for
applications makes no sense.
2020-07-29 22:30:44 -04:00
Matthias Clasen
9722bb4d9e
iconbrowser: Add screenshots to appdata
...
appstream validation is picky and insists we have
at least on screenshot.
2020-07-29 20:23:46 -04:00
Matthias Clasen
ad3514216d
Update our appdata files
...
Mention the new release in all our appdata files.
2020-07-29 17:58:45 -04:00
Matthias Clasen
59fce30200
icon-browser: Install desktop file and appdata
...
That is needed to make the flatpak build in our
ci happy.
2020-07-29 17:42:49 -04:00
Matthias Clasen
2e80658251
testsuite: Skip the skipping
...
meson 0.55 considers a test failed if we skip any cases.
Until that is fixed, just skip them quietly.
See https://github.com/mesonbuild/meson/issues/7515
2020-07-29 16:35:36 -04:00
Matthias Clasen
53e74c365b
testsuite: Stop setting NO_AT_BRIDGE
...
We are not paying attention to that environment
variable anymore.
2020-07-29 14:57:07 -04:00
Matthias Clasen
047709e911
NEWS: Updates
2020-07-29 12:40:15 -04:00
Matthias Clasen
7e355cbe1e
docs: Mention workarea in the migration guide
2020-07-29 12:39:57 -04:00
Matthias Clasen
3eab58816b
Merge branch 'wip/ditch-workarea' into 'master'
...
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
See merge request GNOME/gtk!2316
2020-07-29 16:24:32 +00:00
Jonas Ådahl
c7c71137b2
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
...
It's not a portable API, so remove it. The corresponding backend
specific functions are still available, if they were implemented, e.g.
gdk_macos_monitor_get_workarea() and gdk_x11_monitor_get_workarea().
2020-07-29 17:57:30 +02:00
Matthias Clasen
ec34675019
Merge branch 'better-doc-link-fix' into 'master'
...
docs: Fix links in markdown content differently
See merge request GNOME/gtk!2315
2020-07-29 12:16:55 +00:00
Matthias Clasen
85fb015b45
docs: Fix links in markdown content differently
...
pandoc insists on using the xlink namespace for hrefs,
and the namespace setup doesn't carry over xi:includes.
My first fix was to tell pandoc to generate standalone
docbook documents, which makes it insert the xlink
namespace. But it also makes it wrap all sections and
chapters in articles, and that messes up our toc structure.
So, patch things up differently by stripping the xlink:
from hrefs via regex.
Yay for XML!
2020-07-29 07:47:59 -04:00
Matthias Clasen
d40b1d31b5
Merge branch 'doc-fixes' into 'master'
...
Doc fixes
See merge request GNOME/gtk!2314
2020-07-29 11:24:48 +00:00
Matthias Clasen
5fd03f3297
Merge branch 'a11y-work' into 'master'
...
A11y work
See merge request GNOME/gtk!2312
2020-07-29 11:19:22 +00:00
Daniel Mustieles
a3a66be76e
Updated Spanish translation
2020-07-29 12:40:18 +02:00
Daniel Mustieles
3bb3bc2982
Updated Spanish translation
2020-07-29 12:40:17 +02:00
Florentina Mușat
a7ac16098a
Update Romanian translation
2020-07-29 10:33:19 +00:00
Matthias Clasen
3b35ae870c
docs: Add a missing symbol
2020-07-28 22:40:10 -04:00
Matthias Clasen
d0abe5a919
filter: Typo fix
2020-07-28 22:40:10 -04:00
Matthias Clasen
26200c0f7e
filechooser: Document the response.activate action
2020-07-28 22:40:10 -04:00
Matthias Clasen
07bf9045fb
a11y: Document GtkATContext::state-changed
2020-07-28 22:40:10 -04:00
Matthias Clasen
e4a3746755
docs: Update the symbols list
...
Make sure the sections file is in sync with what
we actually export.
2020-07-28 22:40:10 -04:00
Matthias Clasen
1772d23f8e
docs: Update private headers list
2020-07-28 22:40:10 -04:00
Matthias Clasen
e07b9605bc
a11y: Fix a few glitches in the role enum
...
When the enumeration was synced with the latest draft
of the ARIA spec, the math and note roles missed the boat.
2020-07-28 22:20:40 -04:00
Matthias Clasen
fc47e79cb6
Document gdk_device_tool_get_axes
2020-07-28 21:58:06 -04:00
Matthias Clasen
2a92ee22da
gdk: Small doc fixup
...
We no longer use <!-- --> for plurals, gtk-doc is smart
enough to detect them without that.
2020-07-28 21:53:56 -04:00
Matthias Clasen
23dcf36ec9
NEWS: Updates
2020-07-28 21:17:17 -04:00
Matthias Clasen
b5f256937f
Merge branch 'wip/carlosg/device-api-cleanup' into 'master'
...
Cleanups to device/event API
See merge request GNOME/gtk!2313
2020-07-28 23:49:35 +00:00
Carlos Garnacho
cab1dcb696
gdk: Conflate GDK devices
...
Make GdkEvents hold a single GdkDevice. This device is closer to
the logical device conceptually, although it must be sufficient for
device checks (i.e. GdkInputSource), which makes it similar to the
physical devices.
Make the logical devices have a more accurate GdkInputSource where
needed, and conflate the event devices altogether.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
25ea17a6fc
gdk: Drop source_device argument from _gdk_display_device_grab_update()
...
It's just passed around and used nowhere.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
4a2bbed157
gdk: Make events hold an axis array matching GdkAxisUse
...
Instead of doing device-specific translations of array positions,
use GdkAxisUse as an array index right away.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
7629f6d533
gdk: Make GdkDevice axis API internal
...
All outside interaction happens through gdk_event_get_axis(), no
device poking is necessary, nor axis to array index translations.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
230ce9bfde
gdk: Remove gdk_device_get_axes()
...
Besides the implicit x/y assumptions, devices don't have axes. Those
are actually provided by the GdkDeviceTool driving the device, and
different tools may have different axes.
It does not make sense to offer this API that can change beneath
someone's feet, we now have gdk_device_tool_get_axes() which is static
to the tool.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
2736633a60
inspector: Show tool axes, instead of device axes
...
We are moving away from the latter as they are inconsistent with
Wayland. Make the inspector introspect known tools and their info,
instead.
2020-07-29 01:27:51 +02:00
Matthias Clasen
1755e07af7
a11y: Set an accessible role for GtkPasswordEntry
...
Use the text-box accessible role for GtkPasswordEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:23:57 -04:00
Matthias Clasen
a610bb89a0
a11y: Set an accessible role for GtkSearchEntry
...
Use the searchbox accessible role for GtkSearchEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
2040b7ecdf
a11y: Set an accessible role for GtkLabel
...
Use the label accessible role for GtkLabel. ARIA has some
ominous wording about it going way, but while we have it,
GtkLabel is the obvious candidate for carrying it.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
cc35cc6c4e
a11y: Add tests for mnemonics
...
We set up labelled-by accessible relations when
a label is set as mnemonic widget. Verify that that
happens as expected.
2020-07-28 18:16:37 -04:00
Matthias Clasen
9a82aadca7
a11y: Set an accessible role for GtkEntry
...
Use the text-box accessible role for GtkEntry and
set the placeholder and read-only accessible properties.
Update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Matthias Clasen
23e185e674
a11y: Add a scrollbar relation test
...
Check that GtkScrolledWindow sets up the expected
relations between its scrollbars and child.
2020-07-28 18:16:37 -04:00
Matthias Clasen
971ee2d28a
a11y: Set up controls relations for scrollbars
...
GtkScrolledWindow knows what its scrollbars control,
so set up the accessible relations for this.
2020-07-28 18:16:37 -04:00
Matthias Clasen
efd4169fa2
a11y: Set accessible roles for GtkImage and GtkPicture
...
Use the img accessible role for these.
Also update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Carlos Garnacho
b52ad33031
gdk: Add gdk_seat_get_tools() API call
...
There's GdkSeat::tool-added and ::tool-removed, but there's no
API to query the known tools. Add this call.
2020-07-29 00:11:34 +02:00
Matthias Clasen
5926008647
Merge branch 'wip/chergert/bump-sysprof-abi' into 'master'
...
build: bump to sysprof 4 ABI
See merge request GNOME/gtk!2192
2020-07-28 20:33:33 +00:00
Christian Hergert
459af3acab
build: bump to sysprof 4 ABI
...
Sysprof has moved to a new ABI which removes GLib from the capture library
so that GLib itself can link against sysprof-capture.
This bumps the library ABI so we can keep things coordinated between all
the new tracing layers in the stack.
2020-07-28 11:22:33 -07:00
Matthias Clasen
cc50be971d
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2311
2020-07-28 16:30:47 +00:00
Emmanuele Bassi
3294557717
a11y: Update the valuetext attribute of GtkProgressBar
...
Since progress bars can have a label, we should propagate that information
to ATs whenever it's set.
2020-07-28 16:59:08 +01:00
Emmanuele Bassi
470349c902
a11y: Add an explicit "reset to default" method
...
In some cases we explicitly want to unset an accessible attribute; for
instance, an accessible property is gated on a widget property, and if
the widget property gets unset, the accessible property should be reset.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
bf06cad5d9
a11y: Add proper error reporting to value collection
...
We're currently overloading NULL to mean both "this value is undefined,
and should be reset to its default" and "the value collection failed".
Let's do error reporting right, by using GError to mean "the collection
failed, for this specific reason"; then, we can use a NULL return value
to signal that the accessible attribute should be reset to its default
value.
This is only relevant for pointer-sized attribute values: strings,
references, and reference lists; numeric, boolean, tristate, and token
values either cannot be undefined, or have a specific "undefined" value.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
2e8de6bd88
a11y: Fix the error message for the attribute test macros
...
We're missing a closing parenthesis.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
7f04faf30d
a11y: Use undefined as default for string attributes
...
Instead of an empty string.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
4fa891b55d
Remove stray gtk-doc annotation
...
It confuses the g-i scanner, and gtk-doc.
2020-07-28 16:49:13 +01:00
Carlos Garnacho
254007a142
gdk: Add gdk_device_tool_get_axes()
...
Axes are actually a per-tool property, we just adapt devices to the
current tool.
2020-07-28 17:37:09 +02:00
Carlos Garnacho
1b846e29c7
docs: Correct migration note
...
A mentioned API call is now internal.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
a2876b5cb4
gdkdevice: Remove gdk_device_get_state()
...
This is not needed nor recommended anymore, all reasons to maybe
need this were all kept within gdk.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
5f8258109e
gtkwindow: Move away from gdk_device_get_state()
...
Use gdk_device_get_modifier_state() poking the keyboard and keymap,
instead of this function.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
6a4277a9a9
gtkpopover: Move away from gdk_device_get_state()
...
Use gdk_device_get_modifier_state() poking the keyboard and keymap,
instead of this function.
2020-07-28 17:36:18 +02:00
Piotr Drąg
f4e001c91a
Update POTFILES.in and POTFILES.skip
2020-07-28 17:01:53 +02:00
Carlos Garnacho
3285f52dc8
gdk: Drop GDK_SOURCE_CURSOR
...
Looking at the xf86-input-wacom driver code, this is not even a thing
anymore. Drop this device type, in modern days there's
GDK_DEVICE_TOOL_TYPE_MOUSE for this.
2020-07-28 15:25:28 +02:00
Matthias Clasen
400a5b4e1f
Merge branch 'wip/a11y-inspector' into 'master'
...
inspector: Show a11y information
See merge request GNOME/gtk!2302
2020-07-28 13:08:28 +00:00
Matthias Clasen
42a4940671
inspector: Show a11y information
...
Show a tab for accessibility information.
This shows the role and the accessible attributes
(states, properties, relations).
For now, changing the values is not possible, and
we only show the explicitly set values. In the future,
we want to show the attributes that are relevant for
the role, regardless of whether they are set or not,
and allow changing some of the attributes (the ones
that are not fully managed by GTK itself).
2020-07-28 08:41:24 -04:00
Matthias Clasen
ecc329fa2a
a11y: Add change notification to GtkATContext
...
Emit a ::state-change signal when state changes;
this was already a vfunc, but we want to listen
to state changes from the inspector too.
2020-07-28 08:41:24 -04:00
Emmanuele Bassi
5fc5e52f52
Merge branch 'a11y-tests' into 'master'
...
Add more a11y tests
See merge request GNOME/gtk!2303
2020-07-28 11:47:14 +00:00
Matthias Clasen
1d8e62fb01
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2306
2020-07-28 11:44:05 +00:00
Matthias Clasen
09faa582e3
Merge branch 'ebassi/for-master' into 'master'
...
Split GtkProgressBar finalization
See merge request GNOME/gtk!2308
2020-07-28 11:37:45 +00:00
Emmanuele Bassi
a85ba95b20
Split GtkProgressBar finalization
...
We're stopping activity mode when finalizing, which will change
accessible state; this will create a GtkATContext, and since GtkWidget
drops its GtkATContext on dispose(), we're going to end up leaking it on
the floor:
```
2,007 (64 direct, 1,943 indirect) bytes in 1 blocks are definitely lost in loss record 36,242 of 36,944
at 0x483977F: malloc (vg_replace_malloc.c:307)
by 0x5222105: g_malloc (gmem.c:106)
by 0x523E222: g_slice_alloc (gslice.c:1025)
by 0x523E261: g_slice_alloc0 (gslice.c:1051)
by 0x534B398: g_type_create_instance (gtype.c:1849)
by 0x53302EE: g_object_new_internal (gobject.c:1937)
by 0x53312AF: g_object_new_valist (gobject.c:2262)
by 0x532FEE8: g_object_new (gobject.c:1780)
by 0x4B3F942: gtk_test_at_context_new (gtktestatcontext.c:107)
by 0x491CC50: gtk_at_context_create (gtkatcontext.c:380)
by 0x4BFEDA0: gtk_widget_accessible_get_at_context (gtkwidget.c:8127)
by 0x4906079: gtk_accessible_get_at_context (gtkaccessible.c:83)
by 0x490618F: gtk_accessible_update_state (gtkaccessible.c:137)
by 0x4ACBA6D: gtk_progress_bar_act_mode_leave (gtkprogressbar.c:690)
by 0x4ACB4F8: gtk_progress_bar_finalize (gtkprogressbar.c:564)
```
We're also unparenting widgets and changing styles, which is another
potential source of leaks and side effects.
2020-07-28 11:47:40 +01:00
Timm Bäder
2050120098
bitset: Fix typo
2020-07-28 08:10:43 +02:00
Timm Bäder
b213b01200
widget-factory: Remove useless separators
...
They don't serve a purpose and are not relevant for theming purposes.
2020-07-28 06:14:45 +02:00
Timm Bäder
ac1f242b6c
gl renderer: Throw inset shadows with all !send values away
2020-07-28 05:34:12 +02:00
Timm Bäder
ebbb729aea
gl renderer: Linear gradient state tracking
2020-07-28 05:34:12 +02:00
Timm Bäder
bbabec3f18
inspector: Avoid an uninitialized value
2020-07-28 05:34:12 +02:00
Timm Bäder
dded144313
gl renderer: Assert that we have program state
...
This is never a problem in reality, just for static analysis.
2020-07-28 05:34:12 +02:00
Timm Bäder
3f59566729
gl renderer: Repat node child bounds can't be NULL
2020-07-28 05:34:12 +02:00
Timm Bäder
e0420bae09
gl renderer: Remove dead code
...
We aren't using n_corners anyway
2020-07-28 05:34:12 +02:00
Timm Bäder
a3b452725b
render nodes: Simplify diffing of uniform border nodes
2020-07-28 05:34:12 +02:00
Timm Bäder
d5f0256f8b
listbox demo: Remove frames around labels
...
Having frames around those labels looks stupid
2020-07-28 05:34:12 +02:00
Timm Bäder
9cdf9847c2
gl: Add a gdk_gl_context_has_debug accessor
...
Check if the label_object_ etc. functions are gonna do anything at all.
The g_type_name_from_instance calls keep poppoing up in profiles.
2020-07-28 05:34:12 +02:00
Timm Bäder
fa85ec5cf5
GskTransform: Restructure _to_affine and _to_translation
...
Make the simple cases more explicit.
2020-07-28 05:34:12 +02:00
Timm Bäder
0ce32cd4b5
gl renderer: Save rectilinearity in clip stack
...
So we don't have to repeatedly call it in pop_clip()
2020-07-28 05:34:12 +02:00
Timm Bäder
756b84033a
GskTransform: Remove unused function from private header
...
We only use this in gsktransform.c
2020-07-28 05:34:12 +02:00
Timm Bäder
5a9b54df96
gl renderer: More color matrix state tracking
2020-07-28 05:34:12 +02:00
Timm Bäder
d7ba281c15
gl renderer: Add contains_rect helper
2020-07-28 05:34:12 +02:00
Timm Bäder
c6c87b97c2
gl renderer: Add own graphene_rect_intersects
2020-07-28 05:34:11 +02:00
Timm Bäder
2fa9dddea6
gsk: Remember border node uniformity
...
Lots of border nodes have all the same width and the same color.
Renderers might be able to simplifty that, so keep an extra bit per
border node.
2020-07-28 05:34:11 +02:00
Timm Bäder
72d4a83af8
gl renderer: Moar state tracking
...
Track what we really need to send for inset shadows, which are used
as a border replacement in many cases.
Fishbowl says I can draw around 200-300 more switches per frame like
this too.
2020-07-28 05:34:11 +02:00
Timm Bäder
f4d9e4032f
widget: Compare proper adjusted size to new size when allocating
...
We were comparing first but then still modifying the adjusted size later
on, leading to unnecessary resizes.
2020-07-28 05:34:11 +02:00
Timm Bäder
fcf502a686
gl renderer: Fix scrolledwindow undershoot rendering
2020-07-28 05:34:11 +02:00
Matthias Clasen
6e494b93ce
a11y: Add spinbutton tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
9458c1cc47
spinbutton: Update accessible state
...
Make sure to set value-max/min/now when the adjustment
changes.
2020-07-27 21:18:10 -04:00
Matthias Clasen
9190e95df9
a11y: Add scrollbar tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
e10aedccc6
widget: Update accessible state
...
The sensitive property corresponds to the accessible
property disabled, so update it when sensitivity
changes.
2020-07-27 21:18:10 -04:00
Matthias Clasen
a63d03810f
scrollbar: Update accessible state
...
We have the scrollbar role, and are therefore expected
to set value-min/max/now properties.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d2c5e3f2b3
a11y: Add switch tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
2ef4be21c8
switch: Initialize accessible state
...
The checked state defaults to undefined, so we need
to set it to the desired false state.
2020-07-27 21:18:10 -04:00
Matthias Clasen
2cbaa568b5
a11y: Add separator tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d8ac144923
separator: Initialize accessible state
...
The orientation property of separators should be
set ab initio.
2020-07-27 21:18:10 -04:00
Matthias Clasen
606daab475
a11y: Add progressbar tests
...
Test the changes in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
ec5829c401
progressbar: Fix up acessible state handling
...
We must initialize the properties in init, since they
are expected to be there ab initio, and we can't call
gtk_accessible_update_property from finalize - it causes
us to recreate an at context and badness follows.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d3a8597a93
a11y: Add dialog and window tests
...
Tests the modal property changes in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
29cf11fb6e
a11y: Set an accessible role for GtkWindow
...
Use the window accessible role for GtkWindow, and
set the modal accessible property.
2020-07-27 21:18:10 -04:00
Matthias Clasen
6ca245306b
a11y: Add checkbutton tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:09 -04:00
Matthias Clasen
4a9b4ad720
checkbutton: Initialize accessible state
...
The checked state of checkbuttons should be FALSE
initially, not UNDEFINED.
2020-07-27 21:18:09 -04:00
Matthias Clasen
36689d1884
Merge branch 'wip/chergert/fix-macos-time-conversion' into 'master'
...
macos: support ARM/PowerPC time conversion for DisplayLink times
See merge request GNOME/gtk!2301
2020-07-27 20:51:17 +00:00
Christian Hergert
0243736003
macos: support ARM/PowerPC time conversion for DisplayLink times
...
When converting DisplayLink frame presentation times, we need to take into
account the arch-specific types. This tracks changes in GNOME/GLib!1566 so
that precision is not lost.
2020-07-27 12:49:57 -07:00
Matthias Clasen
450899ef4c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2300
2020-07-27 18:50:45 +00:00
Yuri Chornoivan
c6c9ca6009
Update Ukrainian translation
2020-07-27 17:45:19 +00:00
Matthias Clasen
99ec400c2a
gtk-demo: Simplify colors demo
...
Make best use of our new constructors.
2020-07-27 13:30:00 -04:00
Matthias Clasen
da9b4d778b
NEWS: Tweak the wording
2020-07-27 13:30:00 -04:00
Matthias Clasen
252e29c373
Merge branch 'a11y-docs' into 'master'
...
a11y: Document roles of widgets
See merge request GNOME/gtk!2299
2020-07-27 15:45:51 +00:00
Matthias Clasen
6266bcafee
docs: Flesh out the role table in the a11y intro
...
Add cross-references for all the widgets currently
implementing non-default roles.
2020-07-27 11:10:58 -04:00
Matthias Clasen
d90f79de0e
a11y: Document roles of widgets
...
Add a section to the long description for each
widget that is using a non-default accessible role.
2020-07-27 10:48:08 -04:00
Piotr Drąg
790db8db53
Update POTFILES.in and POTFILES.skip
2020-07-27 16:45:40 +02:00
Matthias Clasen
38b1fbb261
Merge branch 'ebassi/a11y-fixes' into 'master'
...
Ebassi/a11y fixes
Closes #2955
See merge request GNOME/gtk!2298
2020-07-27 14:27:07 +00:00
Emmanuele Bassi
cd7bb0200a
a11y: Test unset relations
...
We use "NULL" in C to mean "undefined", when it comes to relations that
deal with references or reference lists.
2020-07-27 14:26:19 +01:00
Emmanuele Bassi
05d9e0c1c8
a11y: Allow unsetting the relations using NULL
...
Accessible values storing references and reference lists can be unset by
using NULL to mean "undefined"; since we cannot return the NULL value,
we need to intercept it when collecting a value, and replace it with an
undefined GtkAccessibleValue, which is also the value used as the
default for GtkAccessibleRelation values that store a reference or a
reference list.
Fixes : #2955
2020-07-27 14:26:19 +01:00
Emmanuele Bassi
b7be6ee00d
docs: Document a11y attributes
2020-07-27 14:26:19 +01:00
Matthias Clasen
604d4a1cb2
NEWS: Updates
2020-07-27 08:40:43 -04:00
Emmanuele Bassi
b68d54cdbc
Merge branch 'ebassi/ci-dags' into 'master'
...
ci: Use DAG attributes
See merge request GNOME/gtk!2297
2020-07-27 12:06:59 +00:00
Matthias Clasen
bc0182fa3e
Merge branch 'ebassi/new-a11y' into 'master'
...
Accessibility rework
See merge request GNOME/gtk!2239
2020-07-27 11:55:19 +00:00
Emmanuele Bassi
19bae10b45
ci: Use DAG attributes
...
Some jobs can run out of order, as they are entirely self-contained. If
we use the newly added DAG attributes, we can speed up the CI pipeline.
2020-07-27 12:44:36 +01:00
Emmanuele Bassi
4060febd7f
a11y: Make GtkATContext.create() public
...
Implementations of the GtkAccessible interface should have a way to
instantiate the appropriate GtkATContext.
2020-07-27 11:48:11 +01:00
Emmanuele Bassi
9a4458ba33
docs: Add missing GTK_ACCESSIBLE_VALUE_UNDEFINED
2020-07-27 11:46:07 +01:00
Matthias Clasen
40b65b2608
a11y: Add some more tests
...
Test that setting multiple states or properties
at the same time works as expected.
2020-07-27 01:21:05 -04:00
Matthias Clasen
6c4c93b8d0
Add some more a11y tests
...
Add some tests that exercise the accessible machinery
without any connection to widgets.
2020-07-27 01:13:16 -04:00
Matthias Clasen
4c5df54e39
a11y: Be a bit safer against crashes
...
We are collecting values from varargs and use them
as indices into static arrays. We should at least
do some bounds checking to prevent silly crashes.
2020-07-27 00:21:01 -04:00
Matthias Clasen
2ce6ac00cf
docs: Expand GtkAccessible documentation
...
Add some hints and examples.
2020-07-26 22:39:47 -04:00
Matthias Clasen
98f3112158
docs: Add documentation for accessible enumerations
...
This is largely taking text from the aria spec.
2020-07-26 22:39:47 -04:00
Matthias Clasen
9a27614b41
docs: Update GtkAccessibleRole docs
...
Sync up the docs with changed enum values, and document
all the roles that are used in GTK at the moment. All
others are left as "Unused".
2020-07-26 21:23:48 -04:00
Matthias Clasen
29abefbe61
docs: Fix up some issues in the a11y docs
...
Fix up syntax errors and links in the introductory
section about accessibility.
2020-07-26 21:23:48 -04:00
Matthias Clasen
81c8a2bb4b
docs: Update a11y docs
...
Add some missing functions.
2020-07-26 21:23:48 -04:00
Matthias Clasen
d187ff858c
Merge branch 'drop-down-constructor' into 'master'
...
GtkDropDown api revisions
See merge request GNOME/gtk!2286
2020-07-26 23:57:48 +00:00
Matthias Clasen
e57d6ec359
Merge branch 'list-constructors' into 'master'
...
List constructors
See merge request GNOME/gtk!2296
2020-07-26 23:56:21 +00:00
Matthias Clasen
eb5c76210e
gridview: Revise constructors
...
Make both gtk_grid_view_new and gtk_grid_view_new_with_factory
take a model as first argument, and make all arguments
allow-none and transfer full.
Update all callers.
2020-07-26 18:50:50 -04:00
Matthias Clasen
fc22b75a06
columnview: Revise the constructor
...
Make gtk_column_view_new take a model as first argument,
and make it allow-none and transfer full.
Update all callers.
2020-07-26 18:32:50 -04:00
Matthias Clasen
43000abeff
listview: Revise constructors
...
Make both gtk_list_view_new and gtk_list_view_new_with_factory
take a model as first argument, and make all arguments
allow-none and transfer full.
Update all callers.
2020-07-26 18:27:23 -04:00
Matthias Clasen
f7ab6f665d
dropdown: Revise constructors
...
A dropdown without a model is useless, so accept a model
and expression in the constructor. Allow them to be NULL,
but consume them if given. This makes chained constructors
convenient without breaking language bindings.
Drop gtk_drop_down_set_from_strings() and instead add
gtk_drop_down_new_from_strings().
Update all users.
2020-07-26 18:09:54 -04:00
Matthias Clasen
72bb7fc701
selectionfiltermodel: Make constructor allow-none
...
We don't pay attention to item-type anymore, so
drop the item-type property and the _for_item_type()
constructor, and allow passing NULL to the regular
constructor.
We don't make this constructor transfer-full, since
the selection filter model is not a wrapping model
like the others. It is more like fork than a wrap.
2020-07-26 18:04:40 -04:00
Matthias Clasen
cdc263f796
multiselection: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Also make the constructor return GtkMultiSelection *.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
ccb9dcc86b
singleselection: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
68d6671413
noselection: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
dd1c0c0b22
treelistmodel: Make constructor transfer full
...
Make gtk_tree_list_model_new() take the root model
as first argument, and make it transfer full, for
consistency with other wrapping list constructors.
Update all callers.
Still missing here: Make the model property writable,
and allow passing NULL in the constructor.
2020-07-26 18:04:40 -04:00
Matthias Clasen
a46cfd3ff4
sortlistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
706d464ae6
filterlistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
b6d9f3facb
slicelistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
06c6d62629
listlistmodel: Drop item_type
...
We are using G_TYPE_OBJECT throughout, so there
is no need for GtkListListModel to do anything else.
Update all callers.
2020-07-26 18:02:51 -04:00
Matthias Clasen
32b8fe40bb
maplistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:02:51 -04:00
Matthias Clasen
1e8be87026
flattenlistmodel: Make the constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:02:44 -04:00
Emmanuele Bassi
cbc6244bc5
ci: Re-enable the accessibility test suite
...
Now that we have something that is both reliable and local.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
ac0fcc55a6
a11y: Add a simple test case for GtkButton's accessible state
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
3d642460e7
a11y: Simplify the test API
...
We don't need as many functions to print out the property, relation, and
state of an accessible. Additionally, we should allow comparing the
accessible attributes with an expected value, and print out the real
accessible value if they do not match.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
82664003c0
a11y: Allow setting the role post-construction
...
Some widgets have different roles after they are constructed, so we need
to allow changing the role defined by the class. We should still avoid
setting a role after the GtkATContext has been created.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
b9a1cb74a1
a11y: Add API to retrieve accessible values
...
We are going to use this for implementing ATContext subclasses, but also
in the testing API.
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
dc1c1e8af9
a11y: Add more test API
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
83eac3f33a
a11y: Restart the accessibility test suite
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
296f0844df
Fix build with debugging notes disabled
2020-07-26 20:31:15 +01:00
Matthias Clasen
e17b5f337d
a11y: Update GtkCheckButton
...
This is a bit unfortunate, since the aria modelling
doesn't quite agree with ours, so we have to listen
for the togglebutton property change, and we inherit
the pressed state from the togglebutton accessible.
2020-07-26 20:31:15 +01:00
Matthias Clasen
c36ad5f474
a11y: Update GtkSpinButton
...
Set the appropriate accessible role, and update
the value properties.
2020-07-26 20:31:15 +01:00
Matthias Clasen
b7777add36
a11y: Update GtkProgressBar
...
Update state and properties as appropriate.
2020-07-26 20:31:15 +01:00
Matthias Clasen
609383f93c
testatcontext: Print role nicks
...
This makes for easier reading.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
a9e0cf77a0
a11y: Update labelled-by when setting mnemonic labels
...
The ARIA labelled-by attribute behaves the same way as the mnemonic
labels in GTK.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
86b58529fd
a11y: Change the collection type for reflist attributes
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
2fee3793b4
a11y: Allow storing list of references in GtkAccessibleValue
...
It's one of the fundamental accessible value types in ARIA.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
03b773f45a
a11y: Change default accessible role
...
Only GtkWidget should use GTK_ACCESSIBLE_ROLE_WIDGET as its default
accessible role; the default for GtkAccessible and GtkATContext should
be GTK_ACCESSIBLE_ROLE_NONE, meaning "an element whose implicit native
role semantics will not be mapped to the accessibility API", according
to the WAI-ARIA specification.
2020-07-26 20:31:15 +01:00
Matthias Clasen
8adcf95300
inspector: Support the a11y debug flag
...
Add support for the GTK_DEBUG_A11Y debug flag in
the logs tab.
2020-07-26 20:31:15 +01:00
Matthias Clasen
0b6df9efe7
testatcontext: Use the new debug flag
...
Only dump a11y state if GTK_DEBUG=accessibility is set.
2020-07-26 20:31:15 +01:00
Matthias Clasen
01f31665b8
Add GTK_DEBUG=accessibility
...
Add a debug flag for accessibility-related debug spew.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
0d87f8cd62
a11y: Add testing API
...
We want to test the accessibility API, as well as the implementation
inside each widget. For that, we should expose an API that lets us
verify that a GtkAccessible has a given role, as well as a given
property.
The API follows the pattern of other GTest API:
- a macro to assert that a condition is respected
- a function that prints out the error message in case of failure
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
52c1fb8dfe
a11y: Implement role and state change in GtkSwitch
...
Set the "switch" role, and update the "checked" state when the :active
property is toggled.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
732578eb53
a11y: Consolidate the attributes container
...
While we have split the various attributes for convenience, there's no
reason why we should have specialised data types for the attributes
container object.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
1124f2507d
a11y: Add relations API
...
Since we split relation attributes from the generic properties, we need
to add API for setting and retrieving their values.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
d37511f76b
a11y: Simplify GtkAccessibleValue
...
Reduce the amount of subclassing, by handling collection of fundamental
types directly from the generic code paths. We now handle boolean,
tristate, integer, number, string, and relation values in the generic
code path; if an attribute supports the "undefined" value, we return the
undefined value singleton.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
55d29d08a1
a11y: Resync with the ARIA spec
...
Drop roles and properties that were deprecated in WAI-ARIA 1.1, and add
new roles and properties defined in WAI-ARIA 1.2 and later.
We also split the relationship properties into their own enumeration, so
we can keep the GtkAccessibleProperty type more compact.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
ae446e8f4a
Remove GTK_ACCESSIBLE_STATE_NONE
...
It's pointless, we can use an explicit value of `-1` everywhere.
Additionally, it complicates all code that uses the state enumeration as
an array index, since now we need to guard against a negative offset.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
c56e9b2031
a11y: Add binding-friendly accessible property setter
...
Matching the one for the accessible state.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
93978544c0
a11y: Collect reference value
...
Some properties that take a reference to an accessible haven't been
updated to collect the correct type.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
1b612cd5db
a11y: Update the accessible label for GtkButton
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
3a1d69ca29
a11y: Update GtkSeparator
...
Add an accessible role, and update the orientation state.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
9af74629f6
a11y: Set the role for GtkScale
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
59d85d42cf
a11y: Update the accessible state for GtkRange
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
2c75ba5509
a11y: Update the "pressed" state on toggle buttons
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
58628f9a9e
a11y: Add roles to various widgets
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
da1ce01a6f
Add accessible properties to GtkAccessible
...
We propagate the accessible state and properties to each ATContext in
the same virtual function, since they are functionally similar.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
654956223d
Add GtkAccessiblePropertySet
...
Like GtkAccessibleStateSet, the PropertySet is a set for accessible
properties.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
382fa01301
Plumb all the GtkAccessibleProperty values into GtkAccessibleValue
...
Similarly to how we deal with GtkAccessibleState.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
572861be27
Allow setting the accessible role at construction
...
Some widgets have different accessible roles depending on some
parameter, so we cannot set the role at class init time. For those
widgets, we add an "accessible-role" property to GtkAccessible, and we
allow setting it (only) at construction time.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
5a173df3da
Start documenting the Accessibility API
...
Add the introductory text from #2833 , and the various types to the API
reference.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
3ea069a8d3
Update the accessible state on widget visibility changes
...
The GTK_ACCESSIBLE_STATE_HIDDEN has the opposite meaning of the
GtkWidget:visible property.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
25f6da5e89
Have GtkWidget implement GtkAccessible
...
Each widget type has an accessible role associated to its class, as
roles cannot change during the life time of a widget instance.
Each widget is also responsible for creating an ATContext, to proxy
state changes to the underlying accessibility infrastructure.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
566f75af82
Plug GtkATContext into GtkAccessible
...
An Accessible implementation must create an ATContext object. UI
elements are supposed to interact with the GtkAccessible API, but we
expose GtkATContext to allow patterns like delegation.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
a382dfd3bd
Add GtkATContext
...
The ATContext type is meant to be used as the base class for
implementations of the assistive technology API—the actual mechanism
needed to communicate to components like the screen reader, or any other
AT.
Every time the widget state changes, the ATContext is meant to broadcast
the state change; and every time the AT queries the state of a UI
element, the ATContext is meant to provide that information.
We also have a "test" ATContext implementation, which is meant to be
used to write tests to verify that changes are propagated without
requiring a whole desktop session.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
823ee58332
Add GtkAccessibleStateSet
...
Since states can be set or unset, we need a container type that has all
the possible states, and a bitmask that tells us which ones are set.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
55120a25db
Add GtkAccessibleValue
...
All accessible properties and states may have one of the following
types:
- true/false
- true/false/undefined
- true/false/mixed/undefined
- reference (to another UI element)
- reference list
- integer
- number (real numerical value)
- string
- token (one of a limited set of allowed values)
- token list
See: https://www.w3.org/WAI/PF/aria/states_and_properties#propcharacteristic_value
The GtkAccessibleValue is a simple reference counted type that can be
"subclassed" to implement each value type.
This initial commit adds GtkAccessibleValue and the basic subclasses for
plain boolean, tristate (true/false/undefined), and token types,
including statically allocated values that can be shared instead of
allocated.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
14faec3ce2
Introduce GtkAccessible
...
GtkAccessible is an interface for accessible UI elements.
Currently, it doesn't do much except exist as a type; in the future, it
will be the entry point for all accessible state in GTK.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
82fe6fbc62
a11y: Add the supported accessibility roles
...
The list of roles is taken from the WAI-ARIA 1.2 specification:
https://w3c.github.io/aria/
Some of these roles do not make entirely sense from a GTK application
perspective, but we can remove them before finalizing the API.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
c63087a563
Remove ATK
...
To build a better world sometimes means having to tear the old one down.
-- Alexander Pierce, "Captain America: The Winter Soldier"
ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:
- it maps to a very specific implementation, AT-SPI, which is Linux and
Unix specific
- it requires implementing the same functionality in three different
layers of the stack: AT-SPI, ATK, and GTK
- only GTK uses it; every other Linux and Unix toolkit and application
talks to AT-SPI directly, including assistive technologies
Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:
- add an "accessible" interface, implemented by GTK objects directly,
which describe the accessible role and state changes for every UI
element
- add an "assistive technology context" to proxy a native accessibility
API, and assign it to every widget
- implement the AT context depending on the platform
For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
2020-07-26 20:31:14 +01:00
Benjamin Otte
ea0fc7619d
Merge branch 'wip/otte/boolfilter' into 'master'
...
Add GtkBoolFilter
See merge request GNOME/gtk!2288
2020-07-26 19:24:25 +00:00
Jordi Mas
f2ed1656b4
Update Catalan translation
2020-07-26 21:13:16 +02:00
Benjamin Otte
2f27d29247
Add GtkBoolFilter
...
Takes a boolean GtkExpression (like a boolean object property) to run a
filter with.
2020-07-26 20:43:08 +02:00
Nelson Benítez León
ba9b4f418d
GtkTreeviewColumn: don't focus-on-click header buttons
...
currently when mouse clicking on a column header
to sort it it is grabbing keyboard focus, this
should not happen, keyboard focus should remain
where it was before. This can be seen on the
GtkFileChooser widget, when having the keyboard
focus on the file list items and clicking on a
column header to sort it the keyboard focus is
now on the header.
2020-04-30 22:59:08 -04:00
Sean Farley
99dfdfcd5e
Allow LPR backend to print PDF and PS file formats
...
At least from GTK v3.22.30, the code disallows attempts to print PDF and
PS files using the LPR backend. Although it is not easy or possible for
GTK to determine if the printer can print these formats by querying lpr,
the print backend should allow lpr to try.
There are two uses cases:
- A filter is being used by lpr, specified in the printcap file, to process the
files prior to printing them.
- The printer can print PDF and PS files directly. There are many printers that
can print these formats, so GTK should allow for the possibility.
2018-11-17 13:04:35 -05:00