Matthias Clasen
ca12226e7c
filechooserentry: Make filtering work again
...
We need to look at the filchooser::filtered-out
attribute to know which files the filesystem model
has filtered away.
Fixes : #5743
2023-04-21 09:16:45 +02:00
Carlos Garnacho
2ac3d0a59d
textview: Reset press counter if double/triple clicking on a different line
...
If we click close enough between lines, and with the maximum distances applied
by GtkGestureClick we could jump between lines when handling double/triple
click for word/line selection.
Ensure that the whole operation stays in the same line and reset the
gesture/counter if we do move between lines, so we start from scratch in the
new line.
2023-04-21 09:16:32 +02:00
G.Willems
353cec50c8
scalebutton: fix orientation not applied to scale
2023-04-21 09:16:21 +02:00
G.Willems
d11ac6d83e
scalebutton: fix CSS name in documentation
2023-04-21 09:16:14 +02:00
Matthias Clasen
51f6129578
scrolledwindow: Avoid a critical
...
When setting the child property to NULL, we also need
to unset auto_added_viewport, to avoid triggering a
critical when setting it again.
2023-04-21 09:15:04 +02:00
Matthias Clasen
9a10d16f69
gtk-demo: Add a keyword
...
Make the demo using the 'bluroverlay' come up when you type 'blur'.
2023-04-21 09:14:50 +02:00
Matthias Clasen
ec9b0ec8b4
gesture stylus: Fix condition
...
Now that the paint demo lets us test this, it has
become apparent that this condition is wrong, and
we don't get the expected events if stylus-only is
FALSE.
2023-04-21 09:14:22 +02:00
Matthias Clasen
4e340afce0
gtk-demo: Work without stylus
...
In the paint demo, don't assume that the event
backlog contains pressure. It won't, if we are
working with a plain old mouse.
2023-04-21 09:14:12 +02:00
Matthias Clasen
7d634f8671
gtk-demo: Test stylus-only mode
...
Add a checkbutton to toggle the stylus-only
mode of GtkGestureStylus, so we can test this.
2023-04-21 09:14:06 +02:00
Matthias Clasen
ada1e212f1
range: Fix a copy-paste error
...
This was showing up as the alpha popup in
the color editor not being positioned correctly.
2023-04-21 09:13:50 +02:00
Matthias Clasen
22cf3e9269
gestureclick: Use drag threshold for updates
2023-04-21 09:10:32 +02:00
Matthias Clasen
8415c5f375
gestureclick: Don't use threshold for touch
...
When determining double-clicks, don't use the distance
threshold for touch events. It is very hard to double
touch reliably within a few pixels of the same position.
Fixes : #5580
2023-04-21 09:10:18 +02:00
Carlos Garnacho
126b847fdd
gtkpopover: Move GTK grabs to map/unmap
...
Typically, a popover gets mapped when shown and unmapped when
hidden. A situation there that breaks is where the popover gets
recursively unmapped/unrealized when its root is destroyed.
In that situation, the popover does however unmap (without being
hidden first), moving the GTK grab from show/hide to map/unmap
will handle the previous situations, plus this one.
Fixes things being unclickable if e.g. a modal dialog got a
popover popped up, then got closed via Alt-F4.
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5730
2023-04-21 09:10:05 +02:00
Matthias Clasen
dd6ea529f8
inspector: Redo the actions list
...
Make the actions list implement GtkActionObserver
for the muxer case, and make updates work.
2023-04-21 09:09:49 +02:00
Matthias Clasen
1ab1885540
inspector: Simplify the action editor
...
No need to listen for changes, the actions list
code will do so and tell us to update.
2023-04-21 09:09:40 +02:00
Matthias Clasen
3f1a083cfa
inspector: Add ActionHolder::changed
...
We will use this signal to communicate
action changes to the action list widgetry.
2023-04-21 09:09:26 +02:00
Matthias Clasen
c6fc895b6d
inspector: Cosmetics
...
Make the variant editor use a checkbutton
instead of a togglebutton.
2023-04-21 09:08:35 +02:00
Matthias Clasen
18720031a3
actionmuxer: Add a precondition
...
This helps with debugging the inspectors action
handling.
2023-04-21 09:08:28 +02:00
Matthias Clasen
7e1a4b5b7c
inspector: Be more careful
...
Tweak the variant-editor code to handle some
cases more explicitly.
2023-04-21 09:08:16 +02:00
Matthias Clasen
60ea127592
inspector: Plug a memory leak
2023-04-21 09:08:09 +02:00
Matthias Clasen
3287199f37
inspector: Be safer when handling actions
...
Those query apis are serious about not ignoring
their return value, and may not set their our
arguments to anything if they return FALSE.
2023-04-21 09:08:02 +02:00
Matthias Clasen
9be7e170b8
actionmuxer: Make the compiler warn
...
Warn when the boolean return isn't used, since we
may not initialize the out arguments in the FALSE
case (see the previous commits).
2023-04-21 09:07:42 +02:00
Matthias Clasen
9f50647ddb
textview: Handle a return value
2023-04-21 09:07:34 +02:00
Nelson Benítez León
fa4af02531
inspector: fix crash caused by uninitialized GVariant
...
we were not checking the return gboolean of
gtk_action_muxer_query_action() which was
returning FALSE for the crash case, meaning
it didn't set the passed in GVariant, but
we were still using it as it was non-null.
Fixes #5729
2023-04-21 09:07:21 +02:00
Maximiliano Sandoval R
2e8a32db26
mediacontrols: Add tooltip text to play button
...
This makes the button accessible.
2023-04-21 09:06:51 +02:00
Lukáš Tyrychtr
33fc6cc479
a11y: Map GTK_ACCESSIBLE_ROLE_ALERT_DIALOG to ATSPI_ROLE_ALERT
...
By doing this, alert dialogs will be read automatically, or at least
they should be, because a screen reader know that these are special.
2023-04-21 09:04:12 +02:00
Matthias Clasen
a058a382d4
expander: Fix the css docs
...
The docs were not matching reality since the
css node names were changed in 6d20fe0b
.
Fixes : #5723
2023-04-21 09:03:36 +02:00
Matthias Clasen
cad7247f2d
rendernodepaintable: Preserve aspect ratio in snapshot()
...
This is the better fix.
2023-04-21 09:03:26 +02:00
Matthias Clasen
a1ad1fc9db
node-editor: Improve the scaling
...
We only want to scale the main rendering, not whats
shown in the sidebar. Also, make the scale logarithmic.
2023-04-21 09:03:03 +02:00
Benjamin Otte
5f0a9a60e9
tooltipwindow: Cast the correct object
...
the tooltipwindow is in the userdata.
2023-04-21 09:01:34 +02:00
Cam Cook
fcec5a817e
Documentation corrections for GtkTextIter
...
| method | current | suggestion |
|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------|-----------------------------------------------------------------|
| [backward_visible_cursor_position](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3785 ) | "Moves @iter forward to the previous visible cursor position" | "Moves @iter backward to the previous visible cursor position." |
| [get_offset](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L595 ) | "Use [method@Gtk,TextBuffer.get_iter_at_offset]" | "Use [method@Gtk.TextBuffer.get_iter_at_offset]" |
| [starts_tag](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L1201 ) | "returns %TRUE, [method@Gtk.TextIter.has_tag" | "returns %TRUE, [method@Gtk.TextIter.has_tag] " |
| method | current | suggestion |
|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------|
| [backward_cursor_position](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3715 ) | "Like gtk_text_iter_forward_cursor_position()" | "Like [method@Gtk.TextIter.forward_cursor_position]" |
| [backward_find_char](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L4483 ) | "Same as gtk_text_iter_forward_find_char()" | "Same as [method@Gtk.TextIter.forward_find_char]" |
| [backward_search](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L5295 ) | "Same as gtk_text_iter_forward_search()" | "Same as [method@Gtk.TextIter.forward_search]" |
| [backward_sentence_starts](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3611 ) | "Calls gtk_text_iter_backward_sentence_start()" | "Calls [method@Gtk.TextIter.backward_sentence_start]" |
| [backward_visible_word_starts](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3421 ) | "Calls gtk_text_iter_backward_visible_word_start()" | "Calls [method@Gtk.TextIter.backward_visible_word_start]" |
| [backward_word_starts](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3345 ) | "Calls gtk_text_iter_backward_word_start()" | "Calls [method@Gtk.TextIter.backward_word_start]" |
| [forward_sentence_ends](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3591 ) | "Calls gtk_text_iter_forward_sentence_end()" | "Calls [method@Gtk.TextIter.forward_sentence_end]" |
| [forward_to_end](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L4131 ) | "gtk_text_iter_get_char() called on" | "[method@Gtk.TextIter.get_char] called on" |
| [forward_visible_word_ends](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3403 ) | "Calls gtk_text_iter_forward_visible_word_end()" | "Calls [method@Gtk.TextIter.forward_visible_word_end]" |
| [forward_word_ends](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3327 ) | "Calls gtk_text_iter_forward_word_end()" | " Calls [method@Gtk.TextIter.forward_word_end]" |
| [is_end](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L1664 ) | "gtk_text_iter_is_end() is the most efficient" | "[method@Gtk.TextIter.is_end] is the most efficient" |
| [set_line_index](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3900 ) | "Same as gtk_text_iter_set_line_offset()" | "Same as [method@Gtk.TextIter.set_line_offset]" |
| [set_visible_line_index](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3987 ) | "Like gtk_text_iter_set_line_index()" | "Like [method@Gtk.TextIter.set_line_index]" |
| [set_visible_line_offset](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3946 ) | "Like gtk_text_iter_set_line_offset()" | "Like [method@Gtk.TextIter.set_line_offset]" |
2023-04-21 09:01:02 +02:00
Cam Cook
9782158a9e
Documentation corrections for GtkTextIter
...
| method | current | suggestion |
|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------|-----------------------------------------------------------------|
| [backward_visible_cursor_position](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3785 ) | "Moves @iter forward to the previous visible cursor position" | "Moves @iter backward to the previous visible cursor position." |
| [get_offset](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L595 ) | "Use [method@Gtk,TextBuffer.get_iter_at_offset]" | "Use [method@Gtk.TextBuffer.get_iter_at_offset]" |
| [starts_tag](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L1201 ) | "returns %TRUE, [method@Gtk.TextIter.has_tag" | "returns %TRUE, [method@Gtk.TextIter.has_tag] " |
| method | current | suggestion |
|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------|
| [backward_cursor_position](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3715 ) | "Like gtk_text_iter_forward_cursor_position()" | "Like [method@Gtk.TextIter.forward_cursor_position]" |
| [backward_find_char](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L4483 ) | "Same as gtk_text_iter_forward_find_char()" | "Same as [method@Gtk.TextIter.forward_find_char]" |
| [backward_search](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L5295 ) | "Same as gtk_text_iter_forward_search()" | "Same as [method@Gtk.TextIter.forward_search]" |
| [backward_sentence_starts](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3611 ) | "Calls gtk_text_iter_backward_sentence_start()" | "Calls [method@Gtk.TextIter.backward_sentence_start]" |
| [backward_visible_word_starts](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3421 ) | "Calls gtk_text_iter_backward_visible_word_start()" | "Calls [method@Gtk.TextIter.backward_visible_word_start]" |
| [backward_word_starts](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3345 ) | "Calls gtk_text_iter_backward_word_start()" | "Calls [method@Gtk.TextIter.backward_word_start]" |
| [forward_sentence_ends](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3591 ) | "Calls gtk_text_iter_forward_sentence_end()" | "Calls [method@Gtk.TextIter.forward_sentence_end]" |
| [forward_to_end](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L4131 ) | "gtk_text_iter_get_char() called on" | "[method@Gtk.TextIter.get_char] called on" |
| [forward_visible_word_ends](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3403 ) | "Calls gtk_text_iter_forward_visible_word_end()" | "Calls [method@Gtk.TextIter.forward_visible_word_end]" |
| [forward_word_ends](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3327 ) | "Calls gtk_text_iter_forward_word_end()" | " Calls [method@Gtk.TextIter.forward_word_end]" |
| [is_end](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L1664 ) | "gtk_text_iter_is_end() is the most efficient" | "[method@Gtk.TextBuffer.is_end] is the most efficient" |
| [set_line_index](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3900 ) | "Same as gtk_text_iter_set_line_offset()" | "Same as [method@Gtk.TextBuffer.set_line_offset]" |
| [set_visible_line_index](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3987 ) | "Like gtk_text_iter_set_line_index()" | "Like [method@Gtk.TextBuffer.set_line_index]" |
| [set_visible_line_offset](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtktextiter.c#L3946 ) | "Like gtk_text_iter_set_line_offset()" | "Like [method@Gtk.TextBuffer.set_line_offset]" |
2023-04-21 09:00:47 +02:00
Matthias Clasen
67310c8753
inspector: Update some misc info rows
2023-04-21 08:59:19 +02:00
Georges Basile Stavracas Neto
e09a5bc2dd
gsk/gl/renderjob: Decompose matrix for 3D transforms
...
While this can be more expensive, it's also correct.
2023-04-21 08:58:17 +02:00
Matthias Clasen
a14ac90229
inspector: Improve display of paths
...
The values in the path section are long and generally
ellipsized. It does not make sense to reserve extra
space that the labels don't need.
2023-04-21 08:57:12 +02:00
Bilal Elmoussaoui
67d8b4c976
docs: Improve GtkLabel rendering
...
By adding some missing links & avoid the browser
from rendering the entities as their equivalent symbols
2023-04-21 08:56:28 +02:00
Matthias Clasen
6a566648d2
listitem: Fix a notification problem
...
We were notifying ::item when ::child is
changed. Oops
2023-04-21 08:48:57 +02:00
Lukáš Tyrychtr
1b07d02671
a11y: Set ATSPI_STATE_SHOWING for all widgets, not only for windows
...
According to the at-spi2 docs, for a widget to be considered visible,
it needs both the showing and visible states. Many applications rely on that,
for example the flat review functionality of Orca.
this fixes #5194
2023-04-21 08:48:04 +02:00
Emmanuele Bassi
47e90f1de6
Remove wrong annotation for GdkToplevel::compute-size
...
The size argument is passed to the signal by the GDK surface machinery,
as is: it's not going to be allocated by the caller (since it's a
signal), and it's not an out argument.
2023-04-21 08:43:34 +02:00
Matthias Clasen
1b2ae02b26
magnifier: Correct position of area
...
The widget paintable uses the widgets bounds
as intrinsic size, so we need to offset from
that to the allocation, which is what the
coordinates are relative to.
2023-04-21 08:38:46 +02:00
Matthias Clasen
b02ade43c3
texthandle: Correct placement of handles
...
Text handles had the same problem as popovers.
They were interpreting their pointing-to rectangle
relative to the widgets bounds, when it is meant
to be relative to the widgtets allocation.
While we touch this code, rewrite it to use
gtk_widget_compute_point.
2023-04-21 08:38:17 +02:00
Matthias Clasen
bb48a02a77
popover: Correct placement of popovers
...
When we don't have a pointing-to rectangle, we want to place
the popover wrt to the parents bounds. But if we have a
pointing-to rectangle, it is relative to the widgets allocation,
which is different from the bounds.
We were not handling the second case correctly, leading to context
menus in the text view being mispositioned by the widgets CSS padding.
While we are touching this code, rewrite it to handle transforms.
Fixes : #5695
2023-04-21 08:38:12 +02:00
Matthias Clasen
4897ff0278
docs: Improve markup for keys
...
Consistently use <kbd>x</kbd> to render keys in the docs
and use + for key combinations.
2023-04-21 08:37:02 +02:00
Matthias Clasen
40fdf4aa9f
docs: Some updates
...
Fix some links ot point to docs.gtk.org.
2023-04-21 08:36:54 +02:00
Marco Trevisan (Treviño)
354ceb5778
gtkwidget: Do a type-check in gtk_widget_in_destruction()
...
Given it can be called during a widget destruction, it's safer to do a
type-check before crashing.
See: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1727
2023-04-21 08:34:47 +02:00
Caolán McNamara
7cf72976d9
fix crash with gtk_accessible_role_to_name and GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON
...
presumably since:
commit de80f503e4
Date: Thu Feb 23 14:22:20 2023 +0100
a11y: Introduce a dedicated role for toggle buttons
2023-04-21 08:32:22 +02:00
Benjamin Otte
243f4b0729
checkbutton: Only andle arrow focus if we're in a group
...
If there is no other widget in the group that we can focus, don't focus
and activate ourselves.
Otherwise the arrow keys on checkbuttons toggle the checkbutton.
2023-04-21 08:31:32 +02:00
Marco Trevisan (Treviño)
b4d33c0810
theme: Use 0.5 opacity for disabled pictures
...
If a GtkImage is using an icon we use a gtk-icon-filter to se the icon
opacity when in insensitive state, however when using other kinds of
pictures we do not apply the same style leading to an inconsistent
result.
Closes : #5683
2023-04-21 08:31:25 +02:00
Matthias Clasen
24f615cad1
gsk: Use explicit switches
...
This makes it harder to forget to add new
node types here.
2023-04-21 08:23:26 +02:00
Matthias Clasen
370b72c674
gsk: Mask nodes support 2d transforms
...
When adding mask nodes, I overlooked that
we have two separate functions for determining
what transforms a node supports without offlines.
Since we claim that mask nodes support general
transform, they must certainly support 2d transforms
as well.
2023-04-21 08:22:51 +02:00