Matthias Clasen
52a2891933
window: Add some more details to css docs
...
Mention more of the supported style classes.
2021-02-14 11:22:44 -05:00
Matthias Clasen
7ebc3a9489
Update popover css docs
...
Mention that shadows are now possible.
2021-02-14 11:14:23 -05:00
Matthias Clasen
aa1d08687d
popover: Handle shadow changes
...
When the box-shadow css property of the contents
widget changes, queue a resize on the popover.
2021-02-14 10:12:10 -05:00
Matthias Clasen
39f72b3834
gizmo: Add a css_changed function
...
In a break from the current gizmo api, add a separate
setter, since the calls with long argument lists full
of NULL are getting out of hand.
2021-02-14 10:12:10 -05:00
Matthias Clasen
b948799778
popover: Support shadows
...
Use gdk_popup_layout_set_shadow_width to take shadows into
account when positioning popovers, and set the input region
to exclude the shadow, since we aren't doing interactive
resizing and the like.
When the popover has a beak, we make the surface size be
content size + shadow + tail, and then position the content
according to the final position inside this slightly too large
surface. The surface being too large doesn't matter, since we
set up an input region.
2021-02-14 10:11:17 -05:00
Matthias Clasen
b3a055a9b7
popover: Queue a resize when position changes
...
At least with an arrow, changing the position
requires a resize
2021-02-13 20:27:01 -05:00
Matthias Clasen
bd877ccf06
popover: Cosmetics
2021-02-13 20:26:54 -05:00
Timm Bäder
0d5957b97a
nativedialog: Remove unused run state
2021-02-12 08:39:40 +01:00
Matthias Clasen
9f10f9a595
Merge branch 'fix-network-places' into 'master'
...
placesview: Avoid use-after-free
See merge request GNOME/gtk!3186
2021-02-11 19:41:10 +00:00
Matthias Clasen
560e27a3f4
Merge branch 'wip/jimmac/tiled-shadow-fix-fix-gtk4' into 'master'
...
Adwaita: bring borders for tiled
Closes #3661
See merge request GNOME/gtk!3184
2021-02-11 17:04:47 +00:00
Emmanuele Bassi
a63a2b26cf
Ensure we don't overflow when using g_memdup2()
...
When we turn integers into size_t we should check we're not going to
make a mess.
2021-02-11 14:22:23 +00:00
Emmanuele Bassi
78e3908a00
gtk: Move from g_memdup() to g_memdup2()
...
The g_memdup() function is replaced by a safer version in newer versions
of GLib.
2021-02-11 14:22:22 +00:00
Jakub Steiner
f953dfef11
Adwaita: bring borders for tiled
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3661
2021-02-11 15:16:57 +01:00
Matthias Clasen
95d48ac2e8
placesview: Avoid use-after-free
...
The places view has questionable code for handling
'destroy', which seems to trigger use-after-free in
some cases. Clean this up a bit by acknowledging the
cancellation fully, rather than relying on the
destroyed flag.
2021-02-11 09:14:34 -05:00
Matthias Clasen
e823fa6665
Merge branch 'fix-filter-value' into 'master'
...
css: Avoid an invalid read
See merge request GNOME/gtk!3181
2021-02-11 00:51:40 +00:00
Christian Hergert
c90ffc7363
snapshot: fix warning when asserts are disabled
2021-02-10 16:13:38 -08:00
Matthias Clasen
3eb4ec89f3
css: Avoid an invalid read
...
This was broken in ea7185bdb1
.
Pointed out by Christian Hergert.
2021-02-10 19:13:36 -05:00
Jakub Steiner
da64856f37
Adwaita: don't cast shadows for halt-tiled windows
...
- while the case of a single half tiled window casting shadow is valid,
the main use case for half tiled windows is when they have a neighbor.
The :backdrop should be enough of a focus indicator and we avoid shadow
casting on neighbors that are on the same Z level.
2021-02-09 18:57:31 +01:00
Christian Hergert
461fe36707
adwaita: disable shadows when window is maximized or fullscreen
...
These shadows cause a significant draw performance drop for maximized
windows. Disabling them increases the chances we can have faster scroll
performance of text.
There is some risk here for systems where they have a dock and you expect
the shadow to draw beneath that dock for transparency reasons.
2021-02-09 09:27:22 -08:00
Alexander Mikhaylenko
cf61d96188
headerbar: Null-check boxes when removing window controls
...
Prevent a crash when show-title-buttons value changes to FALSE during
destruction.
2021-02-08 18:46:35 +05:00
Alexander Mikhaylenko
319755662f
headerbar: Don't use gtk_widget_unparent() with GtkBox
...
gtk_widget_unparent() is for widget implementations, it's not supposed to
be used from outside.
2021-02-08 18:46:27 +05:00
Matthias Clasen
15697d5c0c
Merge branch 'focus' into 'master'
...
listbox: Fix handling of non-focusable rows
Closes #3633
See merge request GNOME/gtk!3152
2021-02-07 15:57:11 +00:00
Matthias Clasen
5f48764ac8
cssfiltervalue: Reject invalid filters
...
The Filter Effects Spec doesn't allow negative values
for most of the filter parameters.
2021-02-06 16:16:44 -05:00
Matthias Clasen
cc6fcbfc09
cssfiltervalue: Fix blur filter interpretation
...
According to https://www.w3.org/TR/filter-effects-1/ ,
the length passed to blur() is the standard deviation,
and according to https://www.w3.org/TR/css-backgrounds-3/#shadow-blur
the blur radius is twice the standard deviation.
2021-02-06 16:16:44 -05:00
Matthias Clasen
ea7185bdb1
cssfiltervalue: Implement drop-shadows
...
We have all the pieces, so this is surprisingly easy.
2021-02-06 16:16:43 -05:00
Matthias Clasen
429dfcf483
cssshadowvalue: Add a 'filter mode'
...
Shadow values created by gtk_css_shadow_value_new_filter or
gtk_css_shadow_value_parse_filter interpret their radius value
as standard deviation. Add a flag for this mode, and use it
where necessary.
2021-02-06 16:10:34 -05:00
Matthias Clasen
be3f352b59
cssshadowvalue: Add a parsing function
...
Add a variant of the parse function that parses
just a single (non-box) shadow, as required for
the drop-shadow filter.
2021-02-06 16:10:32 -05:00
Matthias Clasen
5b8896f1db
cssshadowvalue: Add gtk_css_shadow_value_pop_snapshot
...
This is the counterpart ot gtk_css_shadow_value_push_snapshot.
To make this easy, move the determination whether we need a
shadow out of the push function and save it.
2021-02-06 16:09:21 -05:00
Matthias Clasen
4e27de7df9
cssshadowvalue: Drop the underscore
...
Rename _gtk_css_shadow_value_parse to drop the underscore.
It was the only underscore-prefixed function in this file.
2021-02-06 16:08:19 -05:00
Matthias Clasen
9770872d12
css: Implement the drop-shadow filter
...
We have all the pieces, so this is surprisingly easy.
2021-02-05 21:37:14 -05:00
Matthias Clasen
de24b4f91b
cssshadowvalue: Add a parsing function
...
Add a variant of the parse function that parses
just a single (non-box) shadow, as required for
the drop-shadow filter.
2021-02-05 21:36:22 -05:00
Emmanuele Bassi
958005317b
Merge branch 'master' into 'master'
...
Improve the docs of GtkWidget and GtkGrid
See merge request GNOME/gtk!2946
2021-02-05 12:14:26 +00:00
Matthias Clasen
482b73c376
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Rewrite the long description for GtkDialog
Closes #3646
See merge request GNOME/gtk!3156
2021-02-05 00:10:47 +00:00
Maximiliano Sandoval R
3e2e6633b0
gtkshow: Fix doc typo
2021-02-04 21:02:22 +01:00
Matthias Clasen
4724f9907c
docs: Rewrite the long description for GtkDialog
...
As was pointed out in #3646 , some of the content here
was a bit outdated.
Fixes : #3646
2021-02-04 13:05:28 -05:00
Matthias Clasen
26e84a7b8c
Merge branch 'matthiasc/for-master' into 'master'
...
More work on css transition tests
See merge request GNOME/gtk!3154
2021-02-04 13:28:59 +00:00
Matthias Clasen
2f42e1fb89
treemodelfilter: Drop unreachable code
...
We never get here. The compiler says so.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:40:14 -05:00
Matthias Clasen
b5200bd076
css: Drop a bit of unreachable code
...
We never get here. The compiler says so.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:39:34 -05:00
Matthias Clasen
aa5bd38137
a11y: Avoid out-of-bounds access
...
Don't use the index before we've checked its good.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:34:05 -05:00
Matthias Clasen
1e0ea21297
messagedialog: Don't initialize twice
...
We don't need to set these fields more than once.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:25:36 -05:00
Matthias Clasen
e91e75173d
composetable: Remove a redundant check
...
We already know seq_index is not NULL here.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:22:52 -05:00
Matthias Clasen
041f410838
textbtree: Avoid line vs char count confusion
...
The post_insert_fixup helper function was confused about
its argument order.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:17:55 -05:00
Matthias Clasen
c71c8919fe
listbase: Don't specify the same thing twice
...
We only need to set EXPLICIT_NOTIFY once.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:13:53 -05:00
Matthias Clasen
3f28399f7d
css: Fix border value parsing
...
This function was not resetting computed as it meant
to because the last loop was never executed.
Pointed out in https://www.viva64.com/en/b/0793/
2021-02-04 00:12:51 -05:00
Matthias Clasen
1af72eac21
cssvalue: Cosmetic change
...
Don't return FALSE from pointer-returning functions.
2021-02-03 22:10:13 -05:00
Matthias Clasen
a14a0c6315
css: Fix shadow value equal
...
This function was not doing the right thing.
Once we are doing the right thing and not compare
shadows as unequal, some reftests that inhibit
snapshots for a few frames now hang forever, since
we are no more redrawing unnecessarily. Fix that
with an explicit queue_draw.
2021-02-03 22:10:13 -05:00
Matthias Clasen
38481680e1
Merge branch 'wip/jimmac/colored-list-image-buttons' into 'master'
...
Adwaita: allow suggested and destructive action buttons in lists
Closes #3643
See merge request GNOME/gtk!3153
2021-02-04 01:38:47 +00:00
Jakub Steiner
289bf078bf
Adwaita: allow suggested and destructive action buttons in lists
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3643
2021-02-03 23:15:30 +01:00
Elias Projahn
a7ae94c06e
listbox: Fix handling of non-focusable rows
...
This commit modifies the gtk_list_box_row_grab_focus() implementation to
correctly return FALSE in case the row couldn't be focused. This behavior will
also be honored by gtk_list_box_row_focus() to properly handle focus in that
case. To achieve that, the method has been restructured slightly.
Closes #3633
2021-02-03 21:22:55 +01:00
Emmanuele Bassi
592b33cb48
Graphene is a dependency of Gsk, not Gdk
...
So let's put it in the right place when building the introspection data.
2021-02-03 14:05:27 +00:00
Matthias Clasen
919c08d4fd
css: Allow transitioning different-size shadows
...
The code handles it just fine. The length check was
an erronous addition.
2021-02-02 15:27:42 -05:00
Matthias Clasen
949c783187
composetable: Parse hex escapes too
...
This was a small omission from the Compose file
syntax that doesn't cost us much to support.
Add a test for this syntax too.
Fixes : #1004
2021-02-02 12:05:19 -05:00
Matthias Clasen
676f875bf6
composetable: Support string values in the cache
...
Change the cache format to include the character
data that we need to hold string values in the table.
2021-02-02 11:55:00 -05:00
Matthias Clasen
140c5c5333
composetable: Don't use GSlice for big blobs
...
This just doesn't make sense. This will use malloc
anyway, so just call malloc directly.
2021-02-02 11:55:00 -05:00
Matthias Clasen
cebf2b2009
composetable: Keep multi-char values
...
Keep string values in the table, and return them
from the check function. This commit temporarily
disables the table caching, since the cache format
does not handle string values yet.
Fixes : #186
2021-02-02 11:54:53 -05:00
Matthias Clasen
773ae0cd0f
composetable: Parse multi-char values
...
Rewrite the value parsing function to accept strings
that hold more than a single Unicode character.
2021-02-02 09:03:53 -05:00
Matthias Clasen
564793d5b5
composetable: Another step towards multi-char values
...
Change the parser data structures to hold a string, rather
than a gunichar. We still only put a single Unicode character
into it, currently.
2021-02-02 09:02:46 -05:00
Matthias Clasen
9142aa0f51
composetable: Prepare for multi character values
...
Make it possible for gtk_compose_table_check to return
a string instead of just a single Unicode character.
Currently, we only ever return strings holding a single
character, still.
2021-02-02 09:02:00 -05:00
Matthias Clasen
af9a578d68
imcontext: Prepare for multi-char values
...
Reshuffle things so we can easily handle values
that are strings instead of just single Unicode
characters.
2021-02-01 23:43:59 -05:00
Matthias Clasen
ef053ebb4a
composetable: Fix algorithmic matching
...
The code wasn't paying attention to (lack of) nul-termination
in one place, causing it to not match when it should.
2021-02-01 21:51:51 -05:00
Matthias Clasen
10fcdd88e3
imcontext: Code cleanup
...
Get rid of auxiliary check_table function.
2021-02-01 20:41:45 -05:00
Matthias Clasen
5d9509c51b
imcontext: Move code around
...
Move all the checking code to gtkcomposetable.c, and
add api that we can use in tests.
2021-02-01 20:27:38 -05:00
Matthias Clasen
aa9054a5f1
imcontext: Use gtk_compose_table_check
...
Use the just-introduced api.
2021-02-01 19:41:07 -05:00
Matthias Clasen
9ebf3fac73
composetable: Add api to check tables
...
This copies the check_table code from gtkimcontextsimple.c,
in order to have an api for tests.
2021-02-01 19:40:22 -05:00
Matthias Clasen
be35c46ce9
composetable: Drop table debug code
...
This is better off in the tests that we are going to add.
2021-02-01 19:02:21 -05:00
Matthias Clasen
dbbcb13721
composetable: Parser fixes
...
We were not handling octal escapes right.
2021-02-01 16:05:05 -05:00
Matthias Clasen
edeaf9c040
imcontext: Drop GTK_MAX_COMPOSE_LEN
...
Drop GTK_MAX_COMPOSE_LEN from docs. It is no longer
used by GTK at all. We leave the define in place
for now, to avoid breaking 3rd party code that might
use it.
2021-02-01 12:31:23 -05:00
Matthias Clasen
61f709811c
composetable: Warn when ignoring things
...
We should at least give a hint that we've seen the line,
otherwise people will wonder why nothing happened.
2021-02-01 12:27:41 -05:00
Matthias Clasen
f7c4375509
composetable: parse long sequences
...
Allow compose sequences of up to 20 code points.
Fixes : #3521
2021-02-01 12:27:35 -05:00
Matthias Clasen
52fb900ced
composetable: Fix an off-by-one
...
Fix an off-by-one in the code parsing octal escapes
in compose files.
2021-02-01 12:10:05 -05:00
Matthias Clasen
031944ad30
imcontext: Stop using GTK_MAX_COMPOSE_LEN
...
Allocate the compose_buffer, and resize it when needed
to match the tables we use.
2021-02-01 12:10:05 -05:00
Matthias Clasen
bf8b974f68
imcontext: Code cleanup
...
Use g_clear_pointer instead of opencoding it in
multiple places.
2021-02-01 12:10:05 -05:00
Matthias Clasen
3d85d53e5d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2319
See merge request GNOME/gtk!3140
2021-02-01 06:20:40 +00:00
Matthias Clasen
094a346539
imcontext: Allow sequences of length GTK_MAX_COMPOSE_LEN
...
There was an off-by-one error, making us reject sequences
of this length. But the rest of the code handles them
just fine.
Fixes : #2319
2021-02-01 00:55:25 -05:00
Matthias Clasen
162814f969
imcontext: Improve an error message
...
This error message was misleading, as pointed out
by Ralf Jung.
2021-02-01 00:44:41 -05:00
Matthias Clasen
e39b5c99f1
imcontext: Add a precondition check
2021-02-01 00:43:44 -05:00
Matthias Clasen
8883243aaa
imcontext: Show preedit for compose sequences
...
Show the sequences as they are entered, using ⎄ for
the compose key, to match what IBus does nowadays.
Also handle backspace to allow corrections.
2021-02-01 00:37:43 -05:00
Matthias Clasen
89511eecf1
imcontext: Update our check for dead keys
...
A bunch of keysyms for dead keys have been added since this
code was last touched. Update the check to cover the full
range from dead_grave to dead_greek.
2021-01-31 23:56:24 -05:00
Matthias Clasen
2c304ca80d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!3139
2021-02-01 01:48:47 +00:00
Matthias Clasen
bf4102e664
Merge branch 'wip/exalm/consumes-motion' into 'master'
...
Drag fixes and cleanups
Closes #3513
See merge request GNOME/gtk!3001
2021-02-01 01:34:45 +00:00
Matthias Clasen
7985d277b3
nativedialog: Add more docs
...
Emphasize that native dialogs aren't widgets, and are not
kept alive by GTK.
2021-01-31 20:25:44 -05:00
Matthias Clasen
de4b8d547b
Merge branch 'wip/exalm/activate' into 'master'
...
listitemwidget: Activate on release instead of press
Closes #3345
See merge request GNOME/gtk!3008
2021-02-01 00:32:05 +00:00
Ungedummt
4d11158d97
GtkGrid: Add xml example for GtkBuildable to docs
...
Added an example and a short discription for the properties
2021-01-31 10:19:14 +01:00
Ungedummt
293b81cad2
Fix small typo in the docs of GtkWidget
...
In a XML example was MyGrid as a class defined; replaced with GtkGrid
2021-01-31 10:19:08 +01:00
Michael McClurg
cd7ec8ac92
Document nullability of gtk_list_box_get_selected_row
2021-01-30 15:23:41 +00:00
Matthias Clasen
3dbf5038fa
Fix unsetting focus
...
Make _gtk_window_unset_focus_and_default queue the changes
for after the next draw. This achieves two things: first,
it avoids invalidating css at the wrong time (e.g. when
setting child-visible during size-allocation), and second,
it defers the focus change until after the widget is
hidden, so that moving the focus has the desired effect
of picking a different, visible widget.
Fixes : #3623
2021-01-29 21:41:16 -05:00
Emmanuele Bassi
988ebc2248
docs: Annotate XML fragments as such
...
This way we can get syntax highlighting.
2021-01-29 16:31:10 +00:00
Emmanuele Bassi
9f31e95420
docs: Escape bare tags
...
Otherwise tools processing the description of GtkWidget will be *very*
confused.
2021-01-29 16:31:10 +00:00
Emmanuele Bassi
3a076e26f7
docs: Use the appropriate syntax for code block language
2021-01-29 16:31:09 +00:00
Emmanuele Bassi
e3e85fc6f3
docs: Remove stray code block end marker
2021-01-29 16:31:09 +00:00
Alexander Mikhaylenko
11f3b7730c
windowhandle: Use drag threshold instead of double click threshold
...
Now that we have gtk_drag_check_threshold_double(), be consistent with
other draggable widgets and make sure we don't take over a drag before a
child does.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3513
2021-01-29 12:01:34 +05:00
Alexander Mikhaylenko
f63e6394ac
dragsource: Use double coordinates for checking drag threshold
...
If multiple nested widgets have drag sources on them, both using bubble
phase, we need to reliably pick the inner one. Both of them will try to
start dragging, and we need to make sure there are no situations where the
outer widget starts drag earlier and cancels the inner one.
Currently, this can easily happen via integer rounding: start and current
coordinates passed into gtk_drag_check_threshold() are initially doubles
(other than in GtkNotebook and GtkIconView), and are casted to ints. Then
those rounded values are used to calculate deltas to compare to the drag
threshold, losing quite a lot of precision along the way, and often
resulting in the outer widget getting larger deltas.
To avoid it, just don't round it. Introduce a variant of the function that
operates on doubles: gtk_drag_check_threshold_double() and use it instead
of the original everywhere.
2021-01-29 12:01:34 +05:00
Alexander Mikhaylenko
bbca4c38df
entry: Fix drag threshold check
...
It was passing offsets as current oordinates.
2021-01-29 12:00:10 +05:00
Alexander Mikhaylenko
28f5d26719
windowhandle: Don't drag on capture phase
...
This was needed to work around widgets claiming event sequences on press,
by ignoring them and starting the drag anyway unless they have certain
event controllers on them.
The most visible offender was GtkButton, but since the last commit it
doesn't claim the sequence anymore and we can remove the hack.
2021-01-29 12:00:10 +05:00
Alexander Mikhaylenko
bf2620f041
checkbutton: Claim sequence on release instead of press
...
Make it possible to drag windows from check buttons in future.
2021-01-29 12:00:10 +05:00
Alexander Mikhaylenko
870b82b541
button: Stop claiming event sequence on press
...
Currently GtkButton claims the sequence both on press and on release. Stop
claiming it on press and only do it on release, allowing drags to start
from it.
This will allow to remove a hack from GtkWindowHandle.
2021-01-29 12:00:10 +05:00
Matthias Clasen
da59c77ae2
widget: Use subpixel positioning
...
Before turning off pangos rounding of glyph positions,
we must check if the cairo we are using is new enough
to have working subpixel positioning (the relevant
cairo commit is 52a7c79fd4ff96bb5fac175f0199819b0f8c18fc).
2021-01-28 18:17:22 -05:00
Matthias Clasen
98c247ec29
label: Drop some unused includes
2021-01-28 12:27:07 -05:00
Matthias Clasen
38e2f9138d
Remove vestigial glade support
...
These files have not been kept up to date, and
glade doesn't work with GTK4 currently.
2021-01-28 12:27:07 -05:00
Matthias Clasen
3cc7d9b8c0
Move the gesture icons in the right place
...
Put these images into gtk/icons, where they belong.
2021-01-28 12:27:07 -05:00
Matthias Clasen
1ac9400712
Drop unused logo resource
...
The inspector no longer sets a window icon.
2021-01-28 12:27:07 -05:00
Matthias Clasen
10d5705b70
Reduce use of GtkStyleContext
...
Remove some unnecessary uses of GtkStyleContext where
we can directly go to the GtkCssStyle, and and drop
unnnecessary includes.
2021-01-28 12:27:07 -05:00
Matthias Clasen
2d0d579735
Unify border-spacing handling
...
Avoid using GtkStyleContext unnecessarily, just go
to the css node directly.
2021-01-28 12:27:07 -05:00
Matthias Clasen
ac0f524722
build: Redo the tools build
...
Move the tools directory to be toplevel, and instead of
recompiling sources twice, link them with the our new
static libgtk.a.
2021-01-28 12:27:07 -05:00
Matthias Clasen
06321511ad
builder-tool: Translate GtkImage:pixbuf
...
The pixbuf property doesn't exist anymore. It is
commonly set to a path in ui files, so translate it
to the file property.
2021-01-27 17:01:51 -05:00
Sophie Herold
b89376da55
widget: get_name() is not nullable
...
Partial revert of !2905
2021-01-27 17:49:17 +00:00
Matthias Clasen
eeb3dd3511
Merge branch 'fix-can-focus' into 'master'
...
widget: Fix can-focus
Closes #3610
See merge request GNOME/gtk!3123
2021-01-27 05:34:21 +00:00
Matthias Clasen
7b0ce11e46
Merge branch 'search-entry-capture' into 'master'
...
Search entry capture
Closes #3098
See merge request GNOME/gtk!3115
2021-01-27 05:14:30 +00:00
Matthias Clasen
8ef1d6a49c
widget: Fix can-focus
...
Setting can-focus to FALSE on a widget is supposed
to prevent focus from entering the entire subtree.
So when we grab focus directly to a widget, we need
to check the can-focus flag not just of the widget
itself, but all its ancestors.
Fixes : #3610
2021-01-26 23:45:06 -05:00
Matthias Clasen
7db60f958d
searchentry: Capture events in the bubble phase
...
This is an unfortunate naming clash, but it avoids
an event handling clash between the capture widget
and its children.
Fixes : #3098
2021-01-26 22:17:57 -05:00
Matthias Clasen
5ee7606779
css: Support colors in cross fades
...
The CSS Image Spec (Level 4) allows colors in
cross-fade expressions to specify solid-color images.
Support this.
2021-01-26 21:14:09 -05:00
Matthias Clasen
25409c5a5a
css: Add a constructor for GtkCssImageFallback
...
Add a way to create a solid color image.
2021-01-26 21:10:11 -05:00
Matthias Clasen
1258fcaaf4
css: Fix text-decoration-line support
...
This property needs to be treated as flags, not as
enum, since it should be possible to specify more
than one value, e.g.
text-decoration-line: underline overline;
Tests included.
Fixes : #3621
2021-01-26 17:53:14 -05:00
Matthias Clasen
1fe6fb6739
Merge branch 'circular-menubutton' into 'master'
...
Allow circular menubuttons
Closes #3423 and #3523
See merge request GNOME/gtk!3117
2021-01-26 12:47:38 +00:00
Matthias Clasen
80b1d55683
Merge branch 'css-overline' into 'master'
...
css: Support overline
See merge request GNOME/gtk!3116
2021-01-26 05:44:14 +00:00
Matthias Clasen
1cebc4316b
Allow circular menubuttons
...
Fixes #3523
2021-01-26 00:20:23 -05:00
Matthias Clasen
65a4118d50
css: Support overline
...
We can support text-decoration-line: overline,
since pango supports it now.
2021-01-26 00:04:04 -05:00
Matthias Clasen
4857829aaa
popover: Try to not exceed monitor bounds
...
When the natural size of the popover exceeds
the monitor width, clamp it to fit on screen.
This gives the Emoji chooser a chance to
work on phone screens.
Fixes : #3307
2021-01-25 23:33:04 -05:00
Matthias Clasen
2ea4574caf
emojichooser: Allow the section buttons to wrap
...
Use a flowbox instead of a horizontal box for
the section buttons at the bottom, so they can
wrap and allow for narrow layout.
We also need to stop giving the scrolledwindow
a content height, so it can shrink to make room
for more rows of section buttons.
2021-01-25 23:32:15 -05:00
Matthias Clasen
102b74f9eb
emojichooser: Make keynav work with != 7 columns
...
The number of 7 columns was hardcoded in a few places
related to keynav across sections. The flowbox does
not have an api for it, but we can find out anyway
how many columns there are.
2021-01-25 23:32:08 -05:00
Matthias Clasen
8a0d4dfa94
searchbar: Capture events in the bubble phase
...
This is an unfortunate naming clash, but it avoids
an event handling clash between the capture widget
and its children.
Fixes : #3098
2021-01-25 22:16:29 -05:00
Matthias Clasen
b4e645862a
searchbar: Fix documentation mishap
...
The css section was inserted between the example
and the sentence referring to it.
2021-01-25 22:15:56 -05:00
Matthias Clasen
ea48506a32
Merge branch 'simplify-get-module-path' into 'master'
...
modules: Simplify _gtk_get_module_path
See merge request GNOME/gtk!3113
2021-01-26 02:53:38 +00:00
Jan Alexander Steffens (heftig)
23f0a29260
modules: Simplify _gtk_get_module_path
...
Remove the bizarre loops.
2021-01-25 22:47:16 +01:00
Jakub Steiner
23af707b41
Adwaita: make scrollbars larger
...
When using scrollbars as active controls, rather than their primary role as indicators,
increase their size as click targets.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1886
2021-01-25 14:15:22 +01:00
Matthias Clasen
344f9fcf05
css: Implement transform-origin
...
Implement most of transform-origin. We only
handle the xy components currently, which lets
us reuse the position value implementation that
is used for background-position.
2021-01-24 22:49:08 -05:00
Matthias Clasen
fe515c4c1c
testsuite: Link some tests statically
...
Link tests for private apis statically.
2021-01-23 10:34:57 -05:00
Matthias Clasen
14f0a0addb
Create a static library
...
Rearrange our build to create a libgtk.a for the the contents of gtk/,
and build libgtk-4.so from our per-subdirectory static libraries.
This will let us link tests statically for testing internal apis.
2021-01-23 10:31:23 -05:00
Matthias Clasen
0ef91c3ba8
Avoid a buffer overrun
...
We were putting the '\0' behind the end. Oops.
2021-01-22 13:56:04 -05:00
Matthias Clasen
39d5dd89c5
Avoid a heap-use-after-free
...
_gtk_gesture_cancel_sequence frees the struct pointed to by data,
so don't write to it afterwards. Found by asan.
2021-01-22 11:39:04 -05:00
Matthias Clasen
6c54abeca7
wayland: Explicitly announce ssd for kwin
...
Without this, kwin correctly assumes that we are
using client-side decorations. This is a port
of 32ae97f1
from GTK 3.24.
Fixes : #3609
2021-01-21 22:45:47 -05:00
Emmanuele Bassi
c46391420f
Merge branch 'ebassi/lazier-a11y' into 'master'
...
Lazier accessibility
See merge request GNOME/gtk!3102
2021-01-21 18:57:34 +00:00
Matthias Clasen
5a3c3d8210
Merge branch 'inspector-controllers' into 'master'
...
Inspector controllers
See merge request GNOME/gtk!3101
2021-01-21 18:15:57 +00:00
Emmanuele Bassi
95ceb49770
a11y: Make GtkATContext realization lazier
...
We only realize the ATContext on the top level, which will create an
GtkAtSpiRoot object and the corresponding GtkAtSpiCache object. Whenever
an AT connects to the accessibility bus, and asks for the various
objects, all the ATContext will be realized on demand.
2021-01-21 16:40:57 +00:00
Emmanuele Bassi
0bde58ffd7
a11y: Avoid signal emission during cache population
...
If we're responding to a request to get all the cached items, there's no
need to emit signals when adding an ATContext to the cache.
2021-01-21 16:40:57 +00:00
Matthias Clasen
ccd9827b63
inspector: Redo the actions page
...
Don't create widgets in bind, instead just set
the new action on the action-editor, and let it
recreate the parts that need to be recreated.
2021-01-21 10:25:13 -05:00
Matthias Clasen
db189cfb9f
inspector: Reshuffle action editor
...
Prepare the action editor for being able to change its
actions after creation.
2021-01-21 10:24:31 -05:00
Matthias Clasen
7527f181d5
inspector: Simplify action editor
...
We are not using the size group anymore, so drop it.
2021-01-21 10:20:21 -05:00
Matthias Clasen
c05b418512
inspector: Split out variant editor
2021-01-21 10:19:18 -05:00
Matthias Clasen
e97d996fe4
inspector: Redo the shortcuts page
...
Use a column view here.
2021-01-21 10:19:18 -05:00
Matthias Clasen
0537b167ca
inspector: Redo the controllers page
...
Use a column view, and only show the widgets own
controllers.
2021-01-21 10:19:18 -05:00
Matthias Clasen
fff6b35821
inspector: Redo the controllers page
...
Use a column view, and only show the widgets own
controllers.
2021-01-20 18:51:01 -05:00
Emmanuele Bassi
a1216599ff
Add rename-to annotation for GtkListStore.insert_valuesv()
...
The vector-based variant should shadow the variadic arguments function
in bindings.
2021-01-20 14:10:17 +00:00
Emmanuele Bassi
8fff0e0fdf
docs: Reformat GtkListStore.insert_values()
2021-01-20 14:10:17 +00:00
Matthias Clasen
5985b62f60
columnview: Redo indicator arrows
...
Use the same approach as GtkTreeViewColumn for sort
indicators. Luckily, the same css works for both.
2021-01-19 14:24:19 -05:00
Matthias Clasen
e7c29b989c
menbutton: Redo indicator arrows
...
Instead of hardcoding icon names in the widget, use
arrow.none, arrow.up, arrow.down, arrow.left, arrow.right
styles and set the icon to use with -gtk-icon-source. This
lets themes change the icons that are used here, without
forcing all uses of pan-up/down/start/end-symbolic to be
treated the same.
Document this in the menubutton CSS docs.
2021-01-19 14:02:23 -05:00
Matthias Clasen
2100e427d9
treeviewcolumn: Redo sort arrows
...
Instead of hardcoding icon names in the widget, use
sort-indicator.ascending and sort-indicator.descending styles
and set the icon to use with -gtk-icon-source. This lets themes
change the icon that is used here, without forcing all uses of
pan-up/down-symbolic to be treated the same.
Document this in the treeview CSS docs.
Fixes : #3577
2021-01-19 14:02:16 -05:00
Alexander Mikhaylenko
5968b10b0b
listitemwidget: Activate on release instead of press
...
Single click activation should only be done on release and not on press,
otherwise it breaks touch scrolling. Double-click activation still can be
done on press.
This matches the GtkListBox behavior as well.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3345
2021-01-19 12:36:32 +05:00
Matthias Clasen
1ac1147ecb
Merge branch 'check_button_activate' into 'master'
...
Add activate signal to GtkCheckButton
Closes #3525 and #3550
See merge request GNOME/gtk!3012
2021-01-19 04:06:01 +00:00
Matthias Clasen
6b7d56ac49
cellrenderertoggle: Fix css node handling
...
Commit cbbbf44dd4
tried to replace
gtk_style_context_save_named with an explicit
css node to save to, but it failed, and the failure
was showing up as crashes in the inspector.
Fix by Benjamin Otte.
Fixes : #3599
2021-01-18 20:52:59 -05:00