gtk4.git
2 years agoMerge branch 'check-openuri-portal-version' into 'main'
Matthias Clasen [Thu, 13 Apr 2023 20:44:03 +0000 (20:44 +0000)]
Merge branch 'check-openuri-portal-version' into 'main'

openuriportal: Detect if the interface isn't there

Closes #5733

See merge request GNOME/gtk!5826

2 years agoMerge branch 'gbsneto/vulkan-mailbox' into 'main'
Georges Basile Stavracas Neto [Thu, 13 Apr 2023 17:07:59 +0000 (17:07 +0000)]
Merge branch 'gbsneto/vulkan-mailbox' into 'main'

gdk/vulkancontext: Use more appropriate present mode

See merge request GNOME/gtk!5828

2 years agogdk/vulkancontext: Use more appropriate present mode
Georges Basile Stavracas Neto [Thu, 13 Apr 2023 15:15:53 +0000 (12:15 -0300)]
gdk/vulkancontext: Use more appropriate present mode

Check if the driver supports MAILBOX and prefer using it; in its
absense, checkif the driver supports IMMEDIATE and prefer using
it; finally, if neither of them are supported, use the guaranteed
to be supported FIFO mode.

2 years agoMerge branch 'wip/otte/for-main' into 'main'
Benjamin Otte [Thu, 13 Apr 2023 15:34:48 +0000 (15:34 +0000)]
Merge branch 'wip/otte/for-main' into 'main'

x11: Remove commented outdated code

See merge request GNOME/gtk!5827

2 years agox11: Remove commented outdated code
Benjamin Otte [Thu, 13 Apr 2023 03:28:57 +0000 (05:28 +0200)]
x11: Remove commented outdated code

... and it's copy/paste into the win32 backend

2 years agogdk: Remove unused vfunc
Benjamin Otte [Thu, 13 Apr 2023 03:28:14 +0000 (05:28 +0200)]
gdk: Remove unused vfunc

2 years agoMerge branch 'wip/otte/wl-gloria-gaynor' into 'main'
Benjamin Otte [Thu, 13 Apr 2023 15:12:07 +0000 (15:12 +0000)]
Merge branch 'wip/otte/wl-gloria-gaynor' into 'main'

wayland: Make wl_surface survive until surface is desstroyed

See merge request GNOME/gtk!5825

2 years agoMerge branch 'wip/exalm/print-dialog' into 'main'
Matthias Clasen [Thu, 13 Apr 2023 05:39:08 +0000 (05:39 +0000)]
Merge branch 'wip/exalm/print-dialog' into 'main'

printunixdialog: Remove a redundant style class

See merge request GNOME/gtk!5823

2 years agoopenuriportal: Detect if the interface isn't there
Matthias Clasen [Thu, 13 Apr 2023 05:23:06 +0000 (07:23 +0200)]
openuriportal: Detect if the interface isn't there

Check the portal version number before trying to use
it. Most importantly, this will detect the case where
the interface isn't supported at all, since the proxy
will report a version of 0 in that case.

Fixes: #5733
2 years agoMerge branch 'bilelmoussaoui/g-i' into 'main'
Matthias Clasen [Thu, 13 Apr 2023 04:37:45 +0000 (04:37 +0000)]
Merge branch 'bilelmoussaoui/g-i' into 'main'

g-i: Fix GtkGLArea type name

See merge request GNOME/gtk!5824

2 years agowayland: Keep EGL window around when hidden
Benjamin Otte [Thu, 13 Apr 2023 02:30:24 +0000 (04:30 +0200)]
wayland: Keep EGL window around when hidden

See previous commit:

We want to keep resources around as long as the surface exists.

2 years agowayland: Don't destroy the wl_surface on hide()
Benjamin Otte [Thu, 13 Apr 2023 01:33:59 +0000 (03:33 +0200)]
wayland: Don't destroy the wl_surface on hide()

We want to keep the wl_surface around, because surfaces create their
resources on construct and keep them until destroyed. See the HWND ond
Windows and the XWindow on X11.

This is relevant for graphics resources, where we want to have access
to the VkSurface and eglSurface while the GdkSurface is hidden.
We also want these surfaces to be permanent and not change during the
lifetime of the GdkSurface.

What we can - and must - destroy however are the xdg surfaces, because
those handle visibility on screen.
And we also need to ensure no buffer is attached, so that during the
next creation of the xdg surface we don't get a protocol error.

2 years agowayland: Split out a function
Benjamin Otte [Thu, 13 Apr 2023 00:56:12 +0000 (02:56 +0200)]
wayland: Split out a function

We have a create_wl_surface(), create a matching destroy_wl_surface().

2 years agowayland: Remove useless function
Benjamin Otte [Thu, 13 Apr 2023 00:47:51 +0000 (02:47 +0200)]
wayland: Remove useless function

gdk_wayland_surface_maybe_resize() just calls
gdk_wayland_surface_update_size(), so make all callers call that one
instead.

The check that it does is done by the other function again.

2 years agowayland: Remove an old workaround
Benjamin Otte [Thu, 13 Apr 2023 00:44:05 +0000 (02:44 +0200)]
wayland: Remove an old workaround

This workaround - were it ever to trigger - is broken today. It destroys
the wl_surface and all associated structs but does not recreate the
xdg_popup or xdg_toplevel struct, so it would cause a hidden window.

The workaround looked a lot different when it was introduced in commit
83b54bab5734f17d01633c1b5a0ce3e4896d2ee0, too - both in what it did and
in what the vfuncs did that it called.

2 years agog-i: Fix GtkGLArea type name
Bilal Elmoussaoui [Wed, 12 Apr 2023 18:12:40 +0000 (18:12 +0000)]
g-i: Fix GtkGLArea type name

2 years agoprintunixdialog: Remove a redundant style class
Alexander Mikhaylenko [Wed, 12 Apr 2023 17:05:23 +0000 (21:05 +0400)]
printunixdialog: Remove a redundant style class

.view does absolutely nothing in Default style since the whole box is
covered with a GtkNotebook which has its own background, and adds an
unwanted background onto the tab strip in Adwaita.

2 years agoMerge branch 'dialogs-force-window-destruction' into 'main'
Matthias Clasen [Wed, 12 Apr 2023 13:54:13 +0000 (13:54 +0000)]
Merge branch 'dialogs-force-window-destruction' into 'main'

gtk/dialogs: Destroy the window promptly on finish async function

Closes #5741

See merge request GNOME/gtk!5820

2 years agogtk/dialogs: Destroy the window promptly on finish async function
Marco Trevisan (Treviño) [Tue, 11 Apr 2023 22:41:20 +0000 (00:41 +0200)]
gtk/dialogs: Destroy the window promptly on finish async function

Some bindings (GJS!) could add temporary references to the GAsyncResult
argument that we return, and thus to the GTask, which may cause the
dialog not to close when the finish function is called (but at garbage
collection instead!).

To prevent this, just manually destroy the window (by removing the task
data), so that we are not bound to the GTask lifetime anymore.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5741
2 years agoMerge branch 'filechooserentry-fixes' into 'main'
Matthias Clasen [Wed, 12 Apr 2023 10:38:04 +0000 (10:38 +0000)]
Merge branch 'filechooserentry-fixes' into 'main'

filechooserentry: Make filtering work again

Closes #5743

See merge request GNOME/gtk!5822

2 years agoMerge branch 'wip/carlosg/multi-click-text-view' into 'main'
Matthias Clasen [Wed, 12 Apr 2023 10:11:16 +0000 (10:11 +0000)]
Merge branch 'wip/carlosg/multi-click-text-view' into 'main'

textview: Reset press counter if double/triple clicking on a different line

See merge request GNOME/gtk!5821

2 years agoMerge branch 'touch-no-double-click-threshold' into 'main'
Matthias Clasen [Wed, 12 Apr 2023 10:10:31 +0000 (10:10 +0000)]
Merge branch 'touch-no-double-click-threshold' into 'main'

gestureclick: Don't use threshold for touch

Closes #5580

See merge request GNOME/gtk!5798

2 years agoMerge branch 'stylus-fixes' into 'main'
Matthias Clasen [Wed, 12 Apr 2023 10:10:11 +0000 (10:10 +0000)]
Merge branch 'stylus-fixes' into 'main'

gtk-demo: Test stylus-only mode

See merge request GNOME/gtk!5804

2 years agofilechooserentry: Plug a memory leak
Matthias Clasen [Wed, 12 Apr 2023 10:08:14 +0000 (12:08 +0200)]
filechooserentry: Plug a memory leak

2 years agofilechooserentry: Make filtering work again
Matthias Clasen [Wed, 12 Apr 2023 10:07:30 +0000 (12:07 +0200)]
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
2 years agotextview: Reset press counter if double/triple clicking on a different line
Carlos Garnacho [Wed, 12 Apr 2023 09:24:46 +0000 (11:24 +0200)]
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.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Tue, 11 Apr 2023 06:10:56 +0000 (06:10 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

filechooser: Fix the gridview

See merge request GNOME/gtk!5817

2 years agofilechooser: Fix the gridview
Matthias Clasen [Tue, 11 Apr 2023 05:41:09 +0000 (07:41 +0200)]
filechooser: Fix the gridview

2a70093a309481cf6 was a bit overeager in its porting
to GtkColumnViewCell. The gridview needs to keep its
list items.

2 years agoMerge branch 'wip/corey/file-chooser-widget' into 'main'
Matthias Clasen [Tue, 11 Apr 2023 05:32:38 +0000 (05:32 +0000)]
Merge branch 'wip/corey/file-chooser-widget' into 'main'

More fixes to filechooserwidget

See merge request GNOME/gtk!5815

2 years agoMerge branch 'wip/corey/filesystemmodel' into 'main'
Matthias Clasen [Tue, 11 Apr 2023 05:27:24 +0000 (05:27 +0000)]
Merge branch 'wip/corey/filesystemmodel' into 'main'

filesystemmodel: Notify correct position removed in remove_file()

See merge request GNOME/gtk!5814

2 years agofilechooser: Set date and time after cell is a child of filechooserwidget
Corey Berla [Tue, 11 Apr 2023 00:58:09 +0000 (17:58 -0700)]
filechooser: Set date and time after cell is a child of filechooserwidget

The date/time column relies on the filechooserwidget to format the date
properly.  During bind, the filechoosercell, get the filechooserwidget
ancestor, but now due to changes in the listview, the cell isn't a
child of the filechooserwidget at that point.  Since this is deeply
ingrained into the filechooserwidget, let's keep the same behavior,
but move it to filechoosercell in realize.  Alternatively, we could have
used a signal factory (with the file chooser widget as the user data),
but that would have been a major overhaul.

2 years agofilechoosercell: Store type_format in filechoosercell
Corey Berla [Mon, 10 Apr 2023 22:14:42 +0000 (15:14 -0700)]
filechoosercell: Store type_format in filechoosercell

The format of the type column depends on the the type_format, which
is stored in the filechooserwidget.  We get that setting by looking
for the filechooserwidget ancestor, which no longer works after recent
changes to the list views (it was fragile to begin with).  At one point,
the setting appears to have been dynamic, but now it is only loading
from GSettings, so let's simply do the same within FileChooserCell.

2 years agofilechooserwidget: Finish port to GtkColumnViewCell
Corey Berla [Mon, 10 Apr 2023 21:08:47 +0000 (14:08 -0700)]
filechooserwidget: Finish port to GtkColumnViewCell

Some missing updates from f5dea9a3c217c49f44eedb18822be080d2451dc0

2 years agofilesystemmodel: Notify correct position removed in remove_file()
Corey Berla [Mon, 10 Apr 2023 19:56:08 +0000 (12:56 -0700)]
filesystemmodel: Notify correct position removed in remove_file()

32247bc50e63b709ae738a95a2ec71345b5fad75 made several changes to account for the
fact that we no longer have a NULL editable at the beginning of the list
model.  The commit mistakenly left out one change in remove_file(),
which causes the wrong file to be removed.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Mon, 10 Apr 2023 14:28:38 +0000 (14:28 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

node-editor: Typo fixes

See merge request GNOME/gtk!5812

2 years agonode-editor: Typo fixes
Matthias Clasen [Mon, 10 Apr 2023 05:53:23 +0000 (07:53 +0200)]
node-editor: Typo fixes

Fix some typos in the node format documentation.

2 years agoMerge branch 'scrolled-window-critical' into 'main'
Matthias Clasen [Mon, 10 Apr 2023 05:50:20 +0000 (05:50 +0000)]
Merge branch 'scrolled-window-critical' into 'main'

scrolledwindow: Avoid a critical

See merge request GNOME/gtk!5809

2 years agotestsuite: Check widget properties better
Matthias Clasen [Mon, 10 Apr 2023 04:24:57 +0000 (00:24 -0400)]
testsuite: Check widget properties better

Check that setting a property after resetting
it works. An instance of this was fixed in the
previous commit.

2 years agoscrolledwindow: Avoid a critical
Matthias Clasen [Mon, 10 Apr 2023 04:22:20 +0000 (00:22 -0400)]
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.

2 years agoMerge branch 'warn-show-destoyed-window' into 'main'
Matthias Clasen [Sun, 9 Apr 2023 20:16:52 +0000 (20:16 +0000)]
Merge branch 'warn-show-destoyed-window' into 'main'

Show a warning when a destroyed window is shown

See merge request GNOME/gtk!5122

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sun, 9 Apr 2023 13:02:55 +0000 (13:02 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

gtk-demo: Add a keyword

See merge request GNOME/gtk!5805

2 years agogtk-demo: Stop using gtk_widget_get_allocation
Matthias Clasen [Sun, 9 Apr 2023 11:32:38 +0000 (07:32 -0400)]
gtk-demo: Stop using gtk_widget_get_allocation

2 years agogtk-demo: Add a keyword
Matthias Clasen [Sun, 9 Apr 2023 11:32:25 +0000 (07:32 -0400)]
gtk-demo: Add a keyword

Make the demo using the 'bluroverlay' come up when you type 'blur'.

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Sun, 9 Apr 2023 12:37:44 +0000 (12:37 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

range: Fix a copy-paste error

See merge request GNOME/gtk!5803

2 years agogesture stylus: Fix condition
Matthias Clasen [Sun, 9 Apr 2023 12:33:15 +0000 (08:33 -0400)]
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.

2 years agogtk-demo: Work without stylus
Matthias Clasen [Sun, 9 Apr 2023 12:28:26 +0000 (08:28 -0400)]
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.

2 years agogtk-demo: Test stylus-only mode
Matthias Clasen [Sun, 9 Apr 2023 12:13:46 +0000 (08:13 -0400)]
gtk-demo: Test stylus-only mode

Add a checkbutton to toggle the stylus-only
mode of GtkGestureStylus, so we can test this.

2 years agoplacessidebar: Stop using gtk_widget_get_allocation
Matthias Clasen [Sun, 9 Apr 2023 00:17:33 +0000 (20:17 -0400)]
placessidebar: Stop using gtk_widget_get_allocation

2 years agocoloreditor: Stop using gtk_widget_get_allocation
Matthias Clasen [Sat, 8 Apr 2023 23:56:29 +0000 (19:56 -0400)]
coloreditor: Stop using gtk_widget_get_allocation

2 years agorange: Fix a copy-paste error
Matthias Clasen [Sat, 8 Apr 2023 23:50:16 +0000 (19:50 -0400)]
range: Fix a copy-paste error

This was showing up as the alpha popup in
the color editor not being positioned correctly.

2 years agoMerge branch 'gbsneto/vulkan-glyph-fixes' into 'main'
Benjamin Otte [Sun, 9 Apr 2023 00:07:16 +0000 (00:07 +0000)]
Merge branch 'gbsneto/vulkan-glyph-fixes' into 'main'

Vulkan glyph fixes

See merge request GNOME/gtk!5802

2 years agogsk/vulkan/glyphcache: Rework glyphs
Georges Basile Stavracas Neto [Sat, 8 Apr 2023 22:52:48 +0000 (19:52 -0300)]
gsk/vulkan/glyphcache: Rework glyphs

The current implementation of the glyph cache deals with atlases by
padding them with 1 pixel at the beginning, at the end, and between
each glyph.

That's cool and all, however, there's a very subtle problem with
this approach: the contents of the atlas are garbage, so this padding
is filled with garbage memory!

Rework the Vulkan glyph cache to draw each and every glyph in a
surface that has 1 pixel border of padding around it. Ensure the
surface is completely black by drawing a rectangle before handing
it to Pango to draw the glyph. Update tx and ty to pick the texture
position adjusted to the 1 pixel padding. The atlas now starts at
position (0, 0), since each glyph individually contains its own padding.

To improve legibility, add a PADDING define and use it everywhere.

2 years agogsk/vulkan/pipeline: Simplify pipeline creation
Georges Basile Stavracas Neto [Wed, 5 Apr 2023 15:13:48 +0000 (12:13 -0300)]
gsk/vulkan/pipeline: Simplify pipeline creation

Nothing uses gsk_vulkan_pipeline_new_full() anymore.

2 years agogsk/vulkan: Use default blend factors
Georges Basile Stavracas Neto [Wed, 5 Apr 2023 14:49:26 +0000 (11:49 -0300)]
gsk/vulkan: Use default blend factors

Vulkan renders text using VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA and
VK_BLEND_FACTOR_SRC_ALPHA, but that implies per-channel alpha
blending, which currently produces the wrong results when blending
glyphs with the images beneath them.

Use the default pipeline constructors, which implies using the
ONE and ONE_MINUS_SRC_ALPHA.

2 years agogsk/vulkan: Cosmetics
Georges Basile Stavracas Neto [Sat, 8 Apr 2023 23:09:40 +0000 (20:09 -0300)]
gsk/vulkan: Cosmetics

Reorder code to match the order used in shaders.

2 years agoTweak the wording of the message.
Matthias Clasen [Sat, 8 Apr 2023 16:14:52 +0000 (16:14 +0000)]
Tweak the wording of the message.

2 years agogestureclick: Use drag threshold for updates
Matthias Clasen [Fri, 7 Apr 2023 21:44:27 +0000 (17:44 -0400)]
gestureclick: Use drag threshold for updates

2 years agogestureclick: Don't use threshold for touch
Matthias Clasen [Thu, 6 Apr 2023 19:31:03 +0000 (15:31 -0400)]
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
2 years agoMerge branch 'wip/carlosg/popover-ungrab-on-unmap' into 'main'
Matthias Clasen [Fri, 7 Apr 2023 20:24:24 +0000 (20:24 +0000)]
Merge branch 'wip/carlosg/popover-ungrab-on-unmap' into 'main'

gtkpopover: Move GTK grabs to map/unmap

Closes #5730

See merge request GNOME/gtk!5801

2 years agogtkpopover: Move GTK grabs to map/unmap
Carlos Garnacho [Fri, 7 Apr 2023 19:42:10 +0000 (21:42 +0200)]
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
2 years agoMerge branch 'inspector-action-fixes' into 'main'
Matthias Clasen [Fri, 7 Apr 2023 18:05:19 +0000 (18:05 +0000)]
Merge branch 'inspector-action-fixes' into 'main'

actionmuxer: Make the compiler warn

See merge request GNOME/gtk!5800

2 years agoinspector: Redo the actions list
Matthias Clasen [Fri, 7 Apr 2023 17:14:51 +0000 (13:14 -0400)]
inspector: Redo the actions list

Make the actions list implement GtkActionObserver
for the muxer case, and make updates work.

2 years agoinspector: Simplify the action editor
Matthias Clasen [Fri, 7 Apr 2023 16:58:10 +0000 (12:58 -0400)]
inspector: Simplify the action editor

No need to listen for changes, the actions list
code will do so and tell us to update.

2 years agoinspector: Add ActionHolder::changed
Matthias Clasen [Fri, 7 Apr 2023 17:14:07 +0000 (13:14 -0400)]
inspector: Add ActionHolder::changed

We will use this signal to communicate
action changes to the action list widgetry.

2 years agoinspector: Cosmetics
Matthias Clasen [Fri, 7 Apr 2023 17:15:34 +0000 (13:15 -0400)]
inspector: Cosmetics

Make the variant editor use a checkbutton
instead of a togglebutton.

2 years agoactionmuxer: Add a precondition
Matthias Clasen [Fri, 7 Apr 2023 16:53:57 +0000 (12:53 -0400)]
actionmuxer: Add a precondition

This helps with debugging the inspectors action
handling.

2 years agoUpdate Bulgarian translation
Alexander Shopov [Fri, 7 Apr 2023 16:26:55 +0000 (16:26 +0000)]
Update Bulgarian translation

(cherry picked from commit f15aa82eaf4a8d9498b53e3e416d2ac21d6b24f4)

2 years agoinspector: Be more careful
Matthias Clasen [Fri, 7 Apr 2023 13:16:21 +0000 (09:16 -0400)]
inspector: Be more careful

Tweak the variant-editor code to handle some
cases more explicitly.

2 years agoinspector: Plug a memory leak
Matthias Clasen [Fri, 7 Apr 2023 12:55:40 +0000 (08:55 -0400)]
inspector: Plug a memory leak

2 years agoinspector: Be safer when handling actions
Matthias Clasen [Fri, 7 Apr 2023 12:52:51 +0000 (08:52 -0400)]
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.

2 years agoactionmuxer: Make the compiler warn
Matthias Clasen [Fri, 7 Apr 2023 12:02:44 +0000 (08:02 -0400)]
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).

2 years agotextview: Handle a return value
Matthias Clasen [Fri, 7 Apr 2023 11:56:16 +0000 (07:56 -0400)]
textview: Handle a return value

2 years agoMerge branch '5729_fix_inspector_crash' into 'main'
Matthias Clasen [Fri, 7 Apr 2023 12:01:22 +0000 (12:01 +0000)]
Merge branch '5729_fix_inspector_crash' into 'main'

inspector: fix crash caused by uninitialized GVariant

Closes #5729

See merge request GNOME/gtk!5799

2 years agoinspector: fix crash caused by uninitialized GVariant
Nelson Benítez León [Thu, 6 Apr 2023 22:45:59 +0000 (18:45 -0400)]
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

2 years agoMerge branch 'media-controls' into 'main'
Matthias Clasen [Thu, 6 Apr 2023 17:59:54 +0000 (17:59 +0000)]
Merge branch 'media-controls' into 'main'

mediacontrols: Add tooltip text to play button

See merge request GNOME/gtk!5794

2 years agoMerge branch 'alert_dialog_role_mapping_fix' into 'main'
Matthias Clasen [Thu, 6 Apr 2023 17:59:05 +0000 (17:59 +0000)]
Merge branch 'alert_dialog_role_mapping_fix' into 'main'

a11y: Map GTK_ACCESSIBLE_ROLE_ALERT_DIALOG to ATSPI_ROLE_ALERT

See merge request GNOME/gtk!5796

2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Thu, 6 Apr 2023 15:06:26 +0000 (15:06 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

glarea: Fix property notification

See merge request GNOME/gtk!5797

2 years agoglarea: Fix property notification
Matthias Clasen [Thu, 6 Apr 2023 14:37:58 +0000 (10:37 -0400)]
glarea: Fix property notification

This was broken in 9c26262e3e083006.

2 years agomediacontrols: Add tooltip text to play button
Maximiliano Sandoval R [Thu, 6 Apr 2023 10:10:11 +0000 (12:10 +0200)]
mediacontrols: Add tooltip text to play button

This makes the button accessible.

2 years agoa11y: Map GTK_ACCESSIBLE_ROLE_ALERT_DIALOG to ATSPI_ROLE_ALERT
Lukáš Tyrychtr [Thu, 6 Apr 2023 11:55:16 +0000 (13:55 +0200)]
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.

2 years agoMerge branch 'wip/exalm/centerlayout-shrink' into 'main'
Matthias Clasen [Wed, 5 Apr 2023 22:23:19 +0000 (22:23 +0000)]
Merge branch 'wip/exalm/centerlayout-shrink' into 'main'

centerlayout/box: Add :shrink-center-last

See merge request GNOME/gtk!5790

2 years agoMerge branch 'wip/exalm/shortcuts' into 'main'
Matthias Clasen [Wed, 5 Apr 2023 22:05:33 +0000 (22:05 +0000)]
Merge branch 'wip/exalm/shortcuts' into 'main'

Add style classes to standard dialogs

See merge request GNOME/gtk!5791

2 years agopagesetupunixdialog: Add "pagesetup" style class
Alexander Mikhaylenko [Wed, 5 Apr 2023 20:11:48 +0000 (00:11 +0400)]
pagesetupunixdialog: Add "pagesetup" style class

2 years agofontchooserdialog: Add "fontchooser" style class
Alexander Mikhaylenko [Wed, 5 Apr 2023 20:11:31 +0000 (00:11 +0400)]
fontchooserdialog: Add "fontchooser" style class

2 years agofilechooserdialog: Add "filechooser" style class
Alexander Mikhaylenko [Wed, 5 Apr 2023 20:10:54 +0000 (00:10 +0400)]
filechooserdialog: Add "filechooser" style class

2 years agocolorchooserdialog: Add "colorchooser" style class
Alexander Mikhaylenko [Wed, 5 Apr 2023 20:10:36 +0000 (00:10 +0400)]
colorchooserdialog: Add "colorchooser" style class

2 years agoappchooserdialog: Add "appchooser" style class
Alexander Mikhaylenko [Wed, 5 Apr 2023 20:10:25 +0000 (00:10 +0400)]
appchooserdialog: Add "appchooser" style class

2 years agoshortcutswindow: Add "shortcuts" style class
Alexander Mikhaylenko [Wed, 5 Apr 2023 20:10:09 +0000 (00:10 +0400)]
shortcutswindow: Add "shortcuts" style class

2 years agocenterbox: Expose GtkCenterLayout:shrink-center-last
Alexander Mikhaylenko [Wed, 5 Apr 2023 12:05:03 +0000 (16:05 +0400)]
centerbox: Expose GtkCenterLayout:shrink-center-last

2 years agocenterlayout: Add :shrink-center-last
Alexander Mikhaylenko [Wed, 5 Apr 2023 12:03:48 +0000 (16:03 +0400)]
centerlayout: Add :shrink-center-last

Allow to prioritize start and end children and have them keep their natural
size instead of center child if possible.

See https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5552#note_1708864

2 years agoMerge branch 'ebassi/listbox-dispose' into 'main'
Matthias Clasen [Wed, 5 Apr 2023 02:35:20 +0000 (02:35 +0000)]
Merge branch 'ebassi/listbox-dispose' into 'main'

listbox: Unbind the model before removing children

See merge request GNOME/gtk!5789

2 years agolistbox: Unbind the model before removing children
Emmanuele Bassi [Tue, 4 Apr 2023 12:40:49 +0000 (13:40 +0100)]
listbox: Unbind the model before removing children

Calling gtk_list_box_remove_all() is a no-op with a bound model; after
the introduction of the remove_all() method in 49e56fc7, we were left
with row widgets after the dispose() call chained up.

We could restore the explicit unparenting inside dispose() instead of
calling remove_all(), but since the bound list model is provided by the
user of GtkListBox, it's more appropriate to unbind it in the dispose()
implementation, to avoid any potential reference cycle (especially in
higher level languages that have no explicit reference acquisition).

We clean up the bound model, and its associated state, if any; and then
we remove all the row widgets that are left.

2 years agoMerge branch 'glarea-allowed-apis' into 'main'
Matthias Clasen [Tue, 4 Apr 2023 03:14:21 +0000 (03:14 +0000)]
Merge branch 'glarea-allowed-apis' into 'main'

glarea: Add GtkGLArea::allowed-apis

Closes #5330

See merge request GNOME/gtk!5786

2 years agogtk-demo: Update the GLArea examples
Matthias Clasen [Mon, 3 Apr 2023 23:26:12 +0000 (19:26 -0400)]
gtk-demo: Update the GLArea examples

2 years agoglarea: Add GtkGLArea::allowed-apis
Matthias Clasen [Mon, 3 Apr 2023 23:24:58 +0000 (19:24 -0400)]
glarea: Add GtkGLArea::allowed-apis

Add api that mirrors the new GdkGLContext api
for selecting OpenGL variants, and deprecate
the old use_es api.

Fixes: #5330
2 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Tue, 4 Apr 2023 02:50:08 +0000 (02:50 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

expander: Fix the css docs

Closes #5723

See merge request GNOME/gtk!5787

2 years agoMerge branch 'node-editor-things' into 'main'
Matthias Clasen [Tue, 4 Apr 2023 02:47:39 +0000 (02:47 +0000)]
Merge branch 'node-editor-things' into 'main'

Revert "rendernodepaintable: Provide accurate aspect ratio"

See merge request GNOME/gtk!5788

2 years agonode-editor: Improve the scaling
Matthias Clasen [Tue, 4 Apr 2023 02:32:31 +0000 (22:32 -0400)]
node-editor: Improve the scaling

We only want to scale the main rendering, not whats
shown in the sidebar. Also, make the scale logarithmic.

2 years agorendernodepaintable: Preserve aspect ratio in snapshot()
Matthias Clasen [Tue, 4 Apr 2023 02:19:39 +0000 (22:19 -0400)]
rendernodepaintable: Preserve aspect ratio in snapshot()

This is the better fix.

2 years agoRevert "rendernodepaintable: Provide accurate aspect ratio"
Matthias Clasen [Tue, 4 Apr 2023 02:16:43 +0000 (22:16 -0400)]
Revert "rendernodepaintable: Provide accurate aspect ratio"

This reverts commit 52a849288793e7eede878798a88760c058266f60.

It turned out to be the wrong fix.