Commit Graph

76434 Commits

Author SHA1 Message Date
Benjamin Otte
df8475155c testsuite: Validate the section changing sortmodel 2023-05-28 02:08:43 +02:00
Benjamin Otte
e2547be696 testsuite: Make the listmodel validator validate sections 2023-05-28 02:08:43 +02:00
Benjamin Otte
c696ff6f3c testsuite: Split the listmodel validator out
The test got quite unwieldy - plus, we might want to reuse it elsewhere.
2023-05-28 02:08:43 +02:00
Benjamin Otte
4cdc078db4 testsuite: Make sorter generation random
Instead of getting the whole string from every item, get a substring at
offset and length that is randomly chosen when creating the sorter.

This generates way weirder and unpredictable sorting behavior, when each
sorter selects a few random characters to sort by that may or may not be
related between sorters.

The sorters can also have a very high chance of the comparison being
different (when comparing the whole string) or being equal (when
comparing the 4th letter where 3/4 of strings are <= 3 letters).
2023-05-28 02:08:43 +02:00
Benjamin Otte
59f801a02a testsuite: Fix test to actually work
The test was using the same sorter in both the outher and inner loop,
thereby making everything moot.
It even compared the wrong models and everything went fine.

Fix that.
2023-05-28 02:08:43 +02:00
Benjamin Otte
f4106a8fe2 testsuite: Get more complex strings
Instead of just a single character, generate up to 4 characters.
2023-05-28 02:08:43 +02:00
Benjamin Otte
5abaa9c989 stringsorter: Handle NULL strings
NULL is a valid string GValue, so we need to handle it.
The utf8 normalizing and collating functions do not, so we better catch
it early.
2023-05-28 02:08:43 +02:00
Sabri Ünal
87070e0bdd Update Turkish translation 2023-05-26 22:48:53 +00:00
Matthias Clasen
19f51b5de2 Merge branch 'docs/gdk-RGBA-parse' into 'main'
docs: add HSL to Gdk.RGBA.parse

See merge request GNOME/gtk!6017
2023-05-25 17:40:08 +00:00
FineFindus
2d8c112f08 docs: add HSL to Gdk.RGBA.parse
Update the Gdk.RGBA.parse docs to reflect the ability to parse HSL, which has been added in 4.5.0.
2023-05-25 17:16:55 +02:00
Matthias Clasen
f1901081a6 NEWS: Updates 2023-05-24 22:03:48 -04:00
Benjamin Otte
d912628583 Merge branch 'wip/otte/for-main' into 'main'
2 GDK GL XWayland improvements

See merge request GNOME/gtk!6014
2023-05-24 22:22:48 +00:00
Benjamin Otte
c7b62d89e3 glx: Implement support for EXT_swap_control
XWayland (at least on gnome-shell) does not support SGI_swap_control,
which we were using to unset the swap interval.

It does support EXT_swap_control though, which is the more modern
version of the same thing, so this commit adds support for that.

And now GDK_DEBUG=no-vsync gives me >1000fps instead of just 60fps,
2023-05-24 21:44:43 +02:00
Benjamin Otte
46e3454eb7 gl: Update tracked buffers from 2 to 4
With XWayland and direct scanout it is possible that some apps get into
a situation where more than 2 buffers are in flight and in that case we
want to be able to still track the change regions for those buffers.

Usually 3 buffers are in use, so we go one higher, just to be safe.
2023-05-24 21:44:43 +02:00
Benjamin Otte
7573a9d2a7 gl: Rewrite update area tracking code
Make it more generic. That way we could dynamically change the number of
buffers we track.

We don't do that yet though.
2023-05-24 21:44:29 +02:00
Carlos Garnacho
d24d193301 Merge branch 'lores-scroll-mid-detent' into 'main'
Send low-res scroll event in the middle of the wheel detent

See merge request GNOME/gtk!5128
2023-05-24 14:23:47 +00:00
José Expósito
e61938793a gtkeventcontrollerscroll: Send lores scroll in the middle of the detent
Some mice send a value slightly lower than 120 for some detents. The
current approach waits until a value of 120 is reached before sending a
low-resolution scroll event.

For example, the MX Master 3 sends a value of 112 in some detents:

              detent                   detent
    |                        |                       |
                        ^    ^                    ^
                        112  REL_WHEEL            224

As illustrated, only one event was sent but two were expected. However,
sending the low-resolution scroll event in the middle plus the existing
heuristics to reset the accumulator solve this issue:

              detent                   detent
    |                        |                       |
                ^          ^             ^          ^
                REL_WHEEL  112           REL_WHEEL  224

Send low-resolution scroll events in the middle of the detent to solve
this problem.

Related to https://gitlab.gnome.org/GNOME/mutter/-/issues/2469
2023-05-24 13:42:49 +00:00
Matthias Clasen
2f584c16f0 Merge branch 'reomveunused' into 'main'
widget: Don't include gtkpopover.h

See merge request GNOME/gtk!6012
2023-05-23 23:49:25 +00:00
Maximiliano Sandoval R
2565a28e59 widget: Don't include gtkpopover.h
It is not used.
2023-05-23 23:43:15 +02:00
Emmanuele Bassi
793a2b2a70 Merge branch 'zbrown/marshallers' into 'main'
marshallers: fix up some mistypes in drags

See merge request GNOME/gtk!6010
2023-05-23 13:50:26 +00:00
Matthias Clasen
146223cd74 Merge branch 'fix-menu-padding' into 'main'
menus: Avoid unnecessary right padding

Closes #5839

See merge request GNOME/gtk!6008
2023-05-22 20:50:56 +00:00
Daniel Boles
d8e7f0a8a9 MenuButton: Fix small grammar-o/match related syms 2023-05-22 21:39:36 +01:00
Matthias Clasen
a9adf7163f menus: Avoid unnecessary right padding
We are using placeholders in the 'check' column
that are put in a size group, so that they all
take the same space once a check or radio is shown.

Unfortunately, for the inline-buttons option, we
were using a GtkBuiltinIcon as placeholder, and those
respect the -gtk-icon-size CSS property and take
a minimum size of 16px. Use a GtkGizmo instead to
get the expected result of no extra padding unless
there's a check or radio.

Fixes: #5839
2023-05-22 16:16:45 -04:00
Matthias Clasen
10825cdc72 Merge branch 'matthiasc/for-main' into 'main'
widget-factory: Align some widgets better

See merge request GNOME/gtk!6007
2023-05-22 13:17:58 +00:00
Matthias Clasen
3b105a637c widget-factory: Align some widgets better 2023-05-22 08:36:13 -04:00
Matthias Clasen
fdbc203690 Merge branch 'wip/kabus/date-leak' into 'main'
gtk/recentmanager: Fix date leak

Closes #5842

See merge request GNOME/gtk!6005
2023-05-22 12:25:24 +00:00
Khalid Abu Shawarib
26c583227e gtk/recentmanager: Fix date leak 2023-05-22 12:25:24 +00:00
Арсений Засыпкин
1ea0bebf15 Update Russian translation 2023-05-22 12:18:13 +00:00
Matthias Clasen
ca0e27ec9d Merge branch 'matthiasc/for-main' into 'main'
Improve section model docs

See merge request GNOME/gtk!6003
2023-05-21 23:57:48 +00:00
Matthias Clasen
5edf9fc449 Merge branch 'fm-showitems' into 'main'
filelauncher: Use ShowItems to show in File Manager

Closes #5842

See merge request GNOME/gtk!5997
2023-05-21 23:22:57 +00:00
Matthias Clasen
534f11e317 Improve section model docs
Mention sections in the list widget overview,
and document the list models that support sections.
2023-05-21 19:20:08 -04:00
Zander Brown
d8cffa9350 marshallers: fix up some mistypes in drags
Fix: ff330668cf
2023-05-21 19:14:45 +01:00
Matthias Clasen
60dfa777f0 Merge branch 'gdk-introspection-fix' into 'main'
introspection: Include deprecated gdk api in gir

See merge request GNOME/gtk!5999
2023-05-21 14:25:59 +00:00
Matthias Clasen
d6fc0d6c94 gdk: Fix up introspection build
Referring to files across directories is not
easy, we need to use files() in just the right
way to make this work.
2023-05-21 09:46:49 -04:00
Matthias Clasen
4e71bd92aa introspection: Include deprecated gdk api in gir
This was overlooked in when the headers were moved
in ed265f6a7e.
2023-05-21 09:39:13 -04:00
Matthias Clasen
8aec42244e Merge branch 'ebassi/build-introspection' into 'main'
ci: Add introspection to the feature flags

See merge request GNOME/gtk!6000
2023-05-21 12:20:12 +00:00
Emmanuele Bassi
6ff36977f4 ci: Add introspection to the feature flags
It should be enabled by default, if we ever want to catch issues.
2023-05-21 12:22:50 +01:00
Matthias Clasen
ed84ccdaca Merge branch 'docs-css-fix' into 'main'
Fix typo in CSS docs

See merge request GNOME/gtk!5998
2023-05-21 11:02:45 +00:00
Arjan Molenaar
d9ec27ab29 Fix typo in CSS docs 2023-05-21 12:11:19 +02:00
Matthias Clasen
ca744b925e Merge branch 'list-tile-gc' into 'main'
Add gtk_list_item_manager_gc_tiles

See merge request GNOME/gtk!5995
2023-05-21 00:51:00 +00:00
Matthias Clasen
53c63673e4 gridview: Use gtk_list_item_manager_gc_tiles
This simplifies the code a bit.
2023-05-20 19:50:11 -04:00
Matthias Clasen
431458ed78 listview: Use gtk_list_item_manager_gc_tiles
This simplifies the code a bit.
2023-05-20 19:50:11 -04:00
Matthias Clasen
56cfef3544 testsuite: Use gtk_list_item_manager_gc_tiles
Use this  new api instead of open-coding it.

Also, assert that it merges consecutive
multi-item tiles.
2023-05-20 19:50:11 -04:00
Calvin Walton
be897646b1 filelauncher: Use ShowItems to show in File Manager
The non-portal fallback method for launching a file manager to show the
file in its parent directory was incorrectly using the `ShowFolders`
method (open a folder) instead of `ShowItems` (open the parent directory
and show the file).

The `show_item` function (previously `show_folder`) had an unused
`callback` parameter; it has been removed and the type of the parameter
containing the GTask has been renamed and now uses the correct type
instead of gpointer to reduce the amount of casting required.

Fixes GNOME/gtk#5842
2023-05-20 19:40:09 -04:00
Matthias Clasen
e23358e09f Merge branch 'matthiasc/for-main' into 'main'
Cosmetics

See merge request GNOME/gtk!5996
2023-05-20 23:22:56 +00:00
Matthias Clasen
833e1bdcf6 Cosmetics
Fix some typos.
2023-05-20 19:03:41 -04:00
Matthias Clasen
0091425729 listitemmanager: Stop exporting tile_gc
This function is now just used internally,
so make it static.
2023-05-20 18:59:16 -04:00
Matthias Clasen
b1c2a1c015 listitemmanager: Use gc_tiles
Replace an open-coded version of this function
with a call to gtk_list_item_manager_gc_tiles.
2023-05-20 18:59:16 -04:00
Matthias Clasen
31d03f9f26 Add gtk_list_item_manager_gc_tiles
This will allow us to simplify size allocation
code in listview and gridview.
2023-05-20 16:17:11 -04:00
Benjamin Otte
3beaf0962c Merge branch 'drop-filler-tiles' into 'main'
Drop the FILLER tile type

See merge request GNOME/gtk!5993
2023-05-20 17:18:53 +00:00