gtk4.git
4 years agoNew upstream version 4.4.0+ds1
Simon McVittie [Tue, 24 Aug 2021 08:15:47 +0000 (09:15 +0100)]
New upstream version 4.4.0+ds1

4 years ago4.4.0
Matthias Clasen [Fri, 20 Aug 2021 17:38:10 +0000 (13:38 -0400)]
4.4.0

4 years agoFix imcontext tests
Matthias Clasen [Fri, 20 Aug 2021 18:41:05 +0000 (14:41 -0400)]
Fix imcontext tests

We should force our internal im context for these
tests, so we don't depend on the environment.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Fri, 20 Aug 2021 14:21:39 +0000 (14:21 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

NEWS: Updates

See merge request GNOME/gtk!3861

4 years agoNEWS: Updates
Matthias Clasen [Fri, 20 Aug 2021 13:24:04 +0000 (09:24 -0400)]
NEWS: Updates

4 years agoMerge branch 'cut-shortcut-activation-short' into 'master'
Matthias Clasen [Fri, 20 Aug 2021 13:50:51 +0000 (13:50 +0000)]
Merge branch 'cut-shortcut-activation-short' into 'master'

shortcutcontroller: Only do round-robin for mnemonics

Closes #4130

See merge request GNOME/gtk!3824

4 years agoshortcutcontroller: Only do round-robin for mnemonics
Matthias Clasen [Tue, 3 Aug 2021 20:23:16 +0000 (16:23 -0400)]
shortcutcontroller: Only do round-robin for mnemonics

Don't do round-robin activation unless we are looking
for mnemonics, where this is an expected feature.

Fixes: #4130
4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Fri, 20 Aug 2021 13:22:01 +0000 (13:22 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

gdk: Add a missing annotation

Closes #4097

See merge request GNOME/gtk!3860

4 years agoMerge branch 'master' into 'master'
Emmanuele Bassi [Fri, 20 Aug 2021 13:18:37 +0000 (13:18 +0000)]
Merge branch 'master' into 'master'

a11y: Send correct object reference for the root accessible

See merge request GNOME/gtk!3800

4 years agogdk: Add a missing annotation
Matthias Clasen [Fri, 20 Aug 2021 12:57:27 +0000 (08:57 -0400)]
gdk: Add a missing annotation

Mark an array as zero-terminated.

Fixes: #4097
4 years agoMerge branch 'add-support-for-windows-pointer-input-stack-gtk4' into 'master'
Matthias Clasen [Fri, 20 Aug 2021 11:31:16 +0000 (11:31 +0000)]
Merge branch 'add-support-for-windows-pointer-input-stack-gtk4' into 'master'

Add support for Windows Pointer Input Stack

Closes #262, #3162, #729, and #537

See merge request GNOME/gtk!3684

4 years agoMerge branch 'block-cursor-fixes' into 'master'
Matthias Clasen [Fri, 20 Aug 2021 06:18:07 +0000 (06:18 +0000)]
Merge branch 'block-cursor-fixes' into 'master'

textview: Don't eat block cursors

See merge request GNOME/gtk!3857

4 years agotextview: Don't eat block cursors
Matthias Clasen [Fri, 20 Aug 2021 05:55:50 +0000 (01:55 -0400)]
textview: Don't eat block cursors

We need to render even an empty paragraph when
it has a block cursor at the end. This fixes block
cursors not showing up in empty lines.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 19 Aug 2021 21:19:40 +0000 (21:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

window: Make resizeability changes work

See merge request GNOME/gtk!3856

4 years agowindow: Make resizeability changes work
Matthias Clasen [Thu, 19 Aug 2021 20:03:58 +0000 (16:03 -0400)]
window: Make resizeability changes work

We were forgetting to update the toplevel
properties here.

4 years agoMove the _gdk_win32_pointer_input_api global variable into GdkWin32Display
Luca Bacci [Thu, 19 Aug 2021 14:29:45 +0000 (16:29 +0200)]
Move the _gdk_win32_pointer_input_api global variable into GdkWin32Display

4 years agowindows: Update the docs for env vars
Matthias Clasen [Fri, 16 Jul 2021 12:27:54 +0000 (08:27 -0400)]
windows: Update the docs for env vars

We've replaced some env vars with a new one.
Update the docs to match.

4 years agoFix typo
Luca Bacci [Mon, 16 Aug 2021 12:57:49 +0000 (14:57 +0200)]
Fix typo

4 years agoDisable visual feedback for pen ad touch
Luca Bacci [Mon, 16 Aug 2021 12:56:49 +0000 (14:56 +0200)]
Disable visual feedback for pen ad touch

4 years agoFilter out spurious mouse messages while handling pen or touch input
Luca Bacci [Mon, 16 Aug 2021 12:53:35 +0000 (14:53 +0200)]
Filter out spurious mouse messages while handling pen or touch input

4 years agoAdd _gdk_win32_get_cursor_pos utility
Luca Bacci [Mon, 16 Aug 2021 12:39:25 +0000 (14:39 +0200)]
Add _gdk_win32_get_cursor_pos utility

4 years agoHandle WinPointer input
Luca Bacci [Fri, 9 Jul 2021 13:17:17 +0000 (15:17 +0200)]
Handle WinPointer input

4 years agoInitialize WinPointer and enumerate devices
Luca Bacci [Fri, 2 Jul 2021 09:13:06 +0000 (11:13 +0200)]
Initialize WinPointer and enumerate devices

4 years agoAdd new GdkDeviceWinpointer type
Luca Bacci [Fri, 2 Jul 2021 08:53:16 +0000 (10:53 +0200)]
Add new GdkDeviceWinpointer type

4 years agoAdd winpointer.h header file for type declarations
Luca Bacci [Wed, 18 Aug 2021 10:34:24 +0000 (12:34 +0200)]
Add winpointer.h header file for type declarations

4 years agoAdd entry for WinPointer in GdkWin32TabletInputAPI enum
Luca Bacci [Fri, 18 Jun 2021 11:47:40 +0000 (13:47 +0200)]
Add entry for WinPointer in GdkWin32TabletInputAPI enum

4 years agoMake room for other API's than Wintab
Luca Bacci [Fri, 18 Jun 2021 09:59:38 +0000 (11:59 +0200)]
Make room for other API's than Wintab

4 years agoRemove _gdk_input_ignore_wintab variable
Luca Bacci [Fri, 18 Jun 2021 09:43:53 +0000 (11:43 +0200)]
Remove _gdk_input_ignore_wintab variable

Also remove unused variable _gdk_max_colors

4 years agoRename some Wintab-related functions
Luca Bacci [Fri, 18 Jun 2021 09:36:08 +0000 (11:36 +0200)]
Rename some Wintab-related functions

4 years agoSet active physical device when using the mouse
Luca Bacci [Mon, 5 Jul 2021 14:13:59 +0000 (16:13 +0200)]
Set active physical device when using the mouse

4 years agoMove use of _gdk_win32_get_next_tick from synthesize_crossing_events to its callers
Luca Bacci [Fri, 2 Jul 2021 08:17:13 +0000 (10:17 +0200)]
Move use of _gdk_win32_get_next_tick from synthesize_crossing_events to its callers

4 years agoAdd a physical_device argument to send_crossing_event et al
Luca Bacci [Fri, 2 Jul 2021 08:15:52 +0000 (10:15 +0200)]
Add a physical_device argument to send_crossing_event et al

4 years agoRaise _WIN32_WINNT macro to target Windows 7 API
Luca Bacci [Tue, 29 Jun 2021 12:27:13 +0000 (14:27 +0200)]
Raise _WIN32_WINNT macro to target Windows 7 API

4 years agoUpdates
Matthias Clasen [Thu, 19 Aug 2021 05:47:43 +0000 (01:47 -0400)]
Updates

4 years agoMerge branch 'better-word-selection' into 'master'
Matthias Clasen [Thu, 19 Aug 2021 04:51:11 +0000 (04:51 +0000)]
Merge branch 'better-word-selection' into 'master'

textview: Improve word selection

Closes #4177

See merge request GNOME/gtk!3855

4 years agotextview: Improve word selection
Matthias Clasen [Thu, 19 Aug 2021 04:33:03 +0000 (00:33 -0400)]
textview: Improve word selection

Avoid selecting a whole extra paragraph when a select-by-words
selection is extended beyond the end of the previous paragraph.

Fixes: #4177
4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 19 Aug 2021 02:49:23 +0000 (02:49 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Cosmetics

See merge request GNOME/gtk!3854

4 years agoCosmetics
Matthias Clasen [Thu, 19 Aug 2021 02:33:23 +0000 (22:33 -0400)]
Cosmetics

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Thu, 19 Aug 2021 01:42:26 +0000 (01:42 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

demo: Add a dnd special-case for textures

See merge request GNOME/gtk!3853

4 years agogtk-demo: Make clipboard demo paste from clipboard
Benjamin Otte [Thu, 19 Aug 2021 01:14:59 +0000 (03:14 +0200)]
gtk-demo: Make clipboard demo paste from clipboard

The old code was just pasting local clipboard data that we put there
ourselves and was causing criticals on remote clipboard data. Now the
code does the proper async paste.

4 years agocontentprovider: Switch wrong order in type check
Benjamin Otte [Thu, 19 Aug 2021 01:14:24 +0000 (03:14 +0200)]
contentprovider: Switch wrong order in type check

We can provide textures as a paintable - we can't provide paintables as
textures.

4 years agodemo: Add a dnd special-case for textures
Benjamin Otte [Thu, 19 Aug 2021 00:15:59 +0000 (02:15 +0200)]
demo: Add a dnd special-case for textures

If the DND/clipboard machinery knows a texture is a texture, it will try
to serialize it. Paintables can't be serialized, so it wouldn't try.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 18 Aug 2021 22:05:07 +0000 (22:05 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

infobar: Update buildable docs

Closes #4164

See merge request GNOME/gtk!3852

4 years agoinfobar: Update buildable docs
Matthias Clasen [Wed, 18 Aug 2021 21:42:54 +0000 (17:42 -0400)]
infobar: Update buildable docs

Document the current state of GtkBuilder support in
GtkInfoBar, not what we had in GTK3.

Fixes: #4164
4 years agoMerge branch 'seat-v7' into 'master'
Matthias Clasen [Wed, 18 Aug 2021 21:10:30 +0000 (21:10 +0000)]
Merge branch 'seat-v7' into 'master'

gdk/wayland: add support for wl_seat version 7

See merge request GNOME/gtk!3842

4 years agoMerge branch 'fix/wm_class2' into 'master'
Matthias Clasen [Wed, 18 Aug 2021 18:24:37 +0000 (18:24 +0000)]
Merge branch 'fix/wm_class2' into 'master'

x11: ensure WM class is not null even if display is initialized early

See merge request GNOME/gtk!3808

4 years agoMerge branch 'win32-drop-local-dnd' into 'master'
Benjamin Otte [Wed, 18 Aug 2021 14:27:14 +0000 (14:27 +0000)]
Merge branch 'win32-drop-local-dnd' into 'master'

gdk/win32: Drop local DnD protocol

See merge request GNOME/gtk!3830

4 years agoMerge branch 'win32-check-shader-support' into 'master'
Matthias Clasen [Wed, 18 Aug 2021 12:19:57 +0000 (12:19 +0000)]
Merge branch 'win32-check-shader-support' into 'master'

GDK-Win32: Reject GL context if shaders aren't supported (fix issue #4165)

Closes #4165

See merge request GNOME/gtk!3850

4 years agoMerge branch 'master' into 'master'
Matthias Clasen [Wed, 18 Aug 2021 12:00:41 +0000 (12:00 +0000)]
Merge branch 'master' into 'master'

gtkbuilderparser: Fix duplicate object id detection

See merge request GNOME/gtk!3848

4 years agogtkbuilderparser: Fix duplicate object id detection
Ye Moran [Wed, 18 Aug 2021 12:00:40 +0000 (12:00 +0000)]
gtkbuilderparser: Fix duplicate object id detection

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 18 Aug 2021 03:24:41 +0000 (03:24 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Add a custom input test

See merge request GNOME/gtk!3851

4 years agoimcontext: Improve docs
Matthias Clasen [Wed, 18 Aug 2021 00:36:32 +0000 (20:36 -0400)]
imcontext: Improve docs

Add some more docs around GtkIMContext.

4 years agoAdd a custom input test
Matthias Clasen [Wed, 18 Aug 2021 01:55:33 +0000 (21:55 -0400)]
Add a custom input test

This shows the minimal work required to hook up an
im context to a custom widget.

4 years agoMerge branch 'wip/exalm/query-action-transfer' into 'master'
Emmanuele Bassi [Tue, 17 Aug 2021 17:56:40 +0000 (17:56 +0000)]
Merge branch 'wip/exalm/query-action-transfer' into 'master'

widget: Fix gtk_widget_class_query_action() annotations

See merge request GNOME/gtk!3843

4 years agoGDK-Win32: Reject WGL context if shaders aren't supported
Chun-wei Fan [Tue, 17 Aug 2021 07:13:38 +0000 (15:13 +0800)]
GDK-Win32: Reject WGL context if shaders aren't supported

When we initialize OpenGL, check whether we have OpenGL  2.0 or later; if not,
check whether we have the 'GL_ARB_shader_objects' extension, since we must be
able to support shaders if using OpenGL for GTK.

If we don't support shaders, as some Windows graphics drivers do not support
OpenGL adequately, notably older Intel drivers, reject and destroy the GL
context that we created, and so fallback to the Cairo GSK renderer, so that
things continue to run, albeit with an expected warning message that the GL
context cannot be realized.

Also, when we could not make the created dummy WGL context current during
initialization, make sure that we destroy the dummy WGL context as well.

Fixes issue #4165.

4 years agoMerge remote-tracking branch 'origin/upstream/latest' into upstream/latest
Simon McVittie [Sun, 15 Aug 2021 15:22:28 +0000 (16:22 +0100)]
Merge remote-tracking branch 'origin/upstream/latest' into upstream/latest

4 years agoNew upstream version 4.3.2+ds1
Simon McVittie [Sun, 15 Aug 2021 14:58:31 +0000 (15:58 +0100)]
New upstream version 4.3.2+ds1

4 years agoNew upstream version 4.3.2+ds
Simon McVittie [Sun, 15 Aug 2021 14:49:43 +0000 (15:49 +0100)]
New upstream version 4.3.2+ds

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Thu, 12 Aug 2021 12:36:28 +0000 (12:36 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

gdk: Include Vulkan error code in vulkan_strerror()

See merge request GNOME/gtk!3844

4 years agogdk: Include Vulkan error code in vulkan_strerror()
Benjamin Otte [Thu, 12 Aug 2021 12:18:46 +0000 (14:18 +0200)]
gdk: Include Vulkan error code in vulkan_strerror()

4 years agogdk/wayland: add support for wl_seat version 7
Simon Ser [Wed, 11 Aug 2021 09:01:55 +0000 (11:01 +0200)]
gdk/wayland: add support for wl_seat version 7

Version 7 requires wl_keyboard keymaps to be mapped with
MAP_PRIVATE, so that the compositor can share the same keymap
file between multiple clients.

4 years agogdk/wayland: add support for wl_seat version 6
Simon Ser [Wed, 11 Aug 2021 08:59:35 +0000 (10:59 +0200)]
gdk/wayland: add support for wl_seat version 6

Version 6 adds two new wl_touch events, which can be ignored.

4 years agowidget: Fix gtk_widget_class_query_action() annotations
Alexander Mikhaylenko [Wed, 11 Aug 2021 09:33:38 +0000 (14:33 +0500)]
widget: Fix gtk_widget_class_query_action() annotations

Add transfer none on all out values as they aren't being copied.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 10 Aug 2021 15:08:20 +0000 (15:08 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Handle the new line height pango attribute

See merge request GNOME/gtk!3840

4 years agoci: Add libjpeg-turbo-devel to the Fedora image
Matthias Clasen [Tue, 10 Aug 2021 12:13:57 +0000 (08:13 -0400)]
ci: Add libjpeg-turbo-devel to the Fedora image

This was getting downloaded from sourceforge every
time for the docs build, and that started failing.

4 years agoHandle the new line height pango attribute
Matthias Clasen [Sat, 7 Aug 2021 16:11:29 +0000 (12:11 -0400)]
Handle the new line height pango attribute

Update all the places where we switch over PangoAttributeType
to handle (and ignore, for now) the new line height attribute.

4 years agox11: ensure WM class is not null even if display is initialized early
Vincent Bernat [Sat, 31 Jul 2021 10:29:47 +0000 (12:29 +0200)]
x11: ensure WM class is not null even if display is initialized early

With gtkmm, when using `Application()`, the display is initialized
before we know the application name and therefore, the program class
associated to the display is NULL.

Instead of providing a default value, we set it equal to program name
when NULL. Moreover, we give up on capitalizing the class name to keep
the code super simple. Also, not using a capitalized name is
consistent with `gdk_x11_display_open()`. If someone has a good reason
to use a capitalized name, here is how to do it.

```c
  class_hint = XAllocClassHint ();
  class_hint->res_name = (char *) g_get_prgname ();
  if (display_x11->program_class)
    {
      class_hint->res_class = (char *) g_strdup (display_x11->program_class);
    }
  else if (class_hint->res_name && class_hint->res_name[0])
    {
      class_hint->res_class = (char *) g_strdup (class_hint->res_name);
      class_hint->res_class[0] = g_ascii_toupper (class_hint->res_class[0]);
    }
  XSetClassHint (xdisplay, impl->xid, class_hint);
  g_free (class_hint->res_class);
  XFree (class_hint);
```

Fix eff53c023a26 ("x11: set a default value for program_class")

4 years agoMerge branch 'callback-annotation-again' into 'master'
Matthias Clasen [Tue, 10 Aug 2021 01:16:56 +0000 (01:16 +0000)]
Merge branch 'callback-annotation-again' into 'master'

widget: Change callback scope

See merge request GNOME/gtk!3796

4 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Sun, 8 Aug 2021 01:09:31 +0000 (01:09 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

ngl: Make current when unrealizing

See merge request GNOME/gtk!3835

4 years agongl: Make current when unrealizing
Benjamin Otte [Sun, 8 Aug 2021 00:17:08 +0000 (02:17 +0200)]
ngl: Make current when unrealizing

The profiler (at least) discards GL objects and we want to discard them
on the right context.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 7 Aug 2021 22:48:32 +0000 (22:48 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Cosmetics: Tweak css parser error messages

See merge request GNOME/gtk!3834

4 years agoCosmetics: Tweak css parser error messages
Matthias Clasen [Sat, 7 Aug 2021 22:16:19 +0000 (18:16 -0400)]
Cosmetics: Tweak css parser error messages

These show up in tooltips, so they should a) be capitalized
and b) not end with a period.

4 years agoBelarusian translation: Remove broken translation string
Andre Klapper [Sat, 7 Aug 2021 17:09:15 +0000 (19:09 +0200)]
Belarusian translation: Remove broken translation string

4 years agoKhmer translation: Strip some invisible bytes from setting translations
Andre Klapper [Sat, 7 Aug 2021 17:08:31 +0000 (19:08 +0200)]
Khmer translation: Strip some invisible bytes from setting translations

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 7 Aug 2021 16:56:56 +0000 (16:56 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

gtk-demo: Spruce up the hypertext demo

See merge request GNOME/gtk!3832

4 years agoUpdate Hebrew translation
Yaron Shahrabani [Sat, 7 Aug 2021 16:51:31 +0000 (16:51 +0000)]
Update Hebrew translation

(cherry picked from commit 11e6ce175166364f7c807764a8de8619b65da82a)

4 years agogtk-demo: Spruce up the hypertext demo
Matthias Clasen [Sat, 7 Aug 2021 16:08:29 +0000 (12:08 -0400)]
gtk-demo: Spruce up the hypertext demo

Use the newish allow-breaks pango attribute
to make the text break better.

4 years agoUpdate Persian translation
Danial Behzadi [Sat, 7 Aug 2021 14:48:55 +0000 (14:48 +0000)]
Update Persian translation

4 years agoUpdate Persian translation
Danial Behzadi [Sat, 7 Aug 2021 14:44:44 +0000 (14:44 +0000)]
Update Persian translation

(cherry picked from commit b467881274d4917fcc29ace6c699786ffa74e909)

4 years agoMerge branch 'wip/chergert/revert-top-margin' into 'master'
Matthias Clasen [Fri, 6 Aug 2021 13:13:21 +0000 (13:13 +0000)]
Merge branch 'wip/chergert/revert-top-margin' into 'master'

Revert "textview: fix yoffset position when top_margin is set"

See merge request GNOME/gtk!3828

4 years agogdk/win32: Drop local DnD protocol
Chun-wei Fan [Tue, 22 Jun 2021 09:55:47 +0000 (17:55 +0800)]
gdk/win32: Drop local DnD protocol

It is basically not used by default and is pretty much broken at this point, so
it's about time to drop it.

Let's focus on fixing the OLE2 DnD protocol.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 5 Aug 2021 19:17:54 +0000 (19:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

settings: Default gtk-split-cursor to FALSE

See merge request GNOME/gtk!3827

4 years agoRevert "textview: fix yoffset position when top_margin is set"
Christian Hergert [Thu, 5 Aug 2021 18:52:45 +0000 (11:52 -0700)]
Revert "textview: fix yoffset position when top_margin is set"

This reverts commit 908b1e5e1214afc01440bc07a8d937222f411f38.

This commit broke top-margin altogether.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 5 Aug 2021 18:45:39 +0000 (18:45 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

text: Move setup code out of a loop

See merge request GNOME/gtk!3826

4 years agosettings: Default gtk-split-cursor to FALSE
Matthias Clasen [Thu, 5 Aug 2021 18:05:28 +0000 (14:05 -0400)]
settings: Default gtk-split-cursor to FALSE

According to Owen, this was the intention when the setting
was added in 2001. It only took us 20 years to fix the
default value.

4 years agoci: Disable treeview-headers-hidden reftest
Matthias Clasen [Thu, 5 Aug 2021 16:41:04 +0000 (12:41 -0400)]
ci: Disable treeview-headers-hidden reftest

Somebody needs to figure out why it fails in ci so
frequently.

4 years agoMerge branch 'wip/exalm/shadow-extents' into 'master'
Matthias Clasen [Thu, 5 Aug 2021 16:39:52 +0000 (16:39 +0000)]
Merge branch 'wip/exalm/shadow-extents' into 'master'

Shrink shadow extents

See merge request GNOME/gtk!3825

4 years agotext: Move setup code out of a loop
Matthias Clasen [Thu, 5 Aug 2021 16:29:24 +0000 (12:29 -0400)]
text: Move setup code out of a loop

Just a cleanup, no functional change.

4 years agoMerge branch 'fix-tab-not-captured-in-popover' into 'master'
Matthias Clasen [Thu, 5 Aug 2021 02:07:43 +0000 (02:07 +0000)]
Merge branch 'fix-tab-not-captured-in-popover' into 'master'

popovermenu: Cycle around focus also with (Shift+)Tab

Closes #3915

See merge request GNOME/gtk!3732

4 years agopopover: Cycle around focus with (Shift+)Tab
vanadiae [Mon, 5 Jul 2021 17:33:08 +0000 (19:33 +0200)]
popover: Cycle around focus with (Shift+)Tab

Same thing as the previous popovermenu commit, except for the base popover
because the popovermenu needs special behaviour with e.g. sides arrow so
we need to have the "cycle around" for regular popovers here too.

4 years agopopovermenu: Cycle around focus also with (Shift+)Tab
vanadiae [Mon, 5 Jul 2021 17:20:58 +0000 (19:20 +0200)]
popovermenu: Cycle around focus also with (Shift+)Tab

Currently when moving the focus with (Shift+)Tab, it also traverses the window's
widgets, although it would be expected that the focus stays within the popover,
as it's (almost) like it's a separate window. This would be consistent with
the behaviour of the Up/down arrows, which do cycle around the focus once it
reaches the end.

So this commit makes the popovermenu cycle around focus in any direction, apart
from left/right because they are used to open and close submenus and it wouldn't
make sense anyway to cycle horizontally as there's usually only one widget per
line.

4 years agoShrink shadow extents
Alexander Mikhaylenko [Wed, 4 Aug 2021 09:24:35 +0000 (14:24 +0500)]
Shrink shadow extents

Long time ago, Cairo shadows in both GTK3 and 4 were drawn at a size about
twice their radius. Eventually this was fixed but the shadow extents are
still calculated for the previous size and appear unreasonably large: for
example, 141px for a 50px radius shadow. This can get very noticeable in
places such as invisible window frame which gets included into screenshots.

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3419 just divides the
radius by 2 when drawing a shadow with Cairo, do the same when calculating
extents.

See https://gitlab.gnome.org/GNOME/gtk/-/issues/3841

4 years agoMerge branch 'combobox-keynav' into 'master'
Matthias Clasen [Tue, 3 Aug 2021 11:20:56 +0000 (11:20 +0000)]
Merge branch 'combobox-keynav' into 'master'

treepopover: Add keynav

See merge request GNOME/gtk!3822

4 years agotreepopover: Start adding keynav
Matthias Clasen [Tue, 3 Aug 2021 03:49:05 +0000 (23:49 -0400)]
treepopover: Start adding keynav

Arrange for the items to be focusable, and add keyboard
activation. Still missing: cycling focus inside the
popover.

4 years agoMerge branch 'big-keysyms' into 'master'
Matthias Clasen [Tue, 3 Aug 2021 01:05:16 +0000 (01:05 +0000)]
Merge branch 'big-keysyms' into 'master'

imcontext: Treat keysyms as 32bit values

Closes #4149

See merge request GNOME/gtk!3819

4 years agoMerge branch 'surround-test' into 'master'
Matthias Clasen [Tue, 3 Aug 2021 01:00:13 +0000 (01:00 +0000)]
Merge branch 'surround-test' into 'master'

Remove an unimplemented function

Closes #4151

See merge request GNOME/gtk!3820

4 years agoAdd some GtkIMContext tests
Matthias Clasen [Tue, 3 Aug 2021 00:42:01 +0000 (20:42 -0400)]
Add some GtkIMContext tests

For now, these check that the surrounding handling
in GtkText and GtkTextView is sane.

Fixes: #4151
4 years agotextview: Fix the get_surrounding implementation
Matthias Clasen [Tue, 3 Aug 2021 00:16:50 +0000 (20:16 -0400)]
textview: Fix the get_surrounding implementation

This was, sadly, returning garbage.

4 years agoAdd a private getter for the textview key controller
Matthias Clasen [Tue, 3 Aug 2021 00:16:23 +0000 (20:16 -0400)]
Add a private getter for the textview key controller

This will be used in tests.

4 years agoRemove an unimplemented function
Matthias Clasen [Mon, 2 Aug 2021 23:46:31 +0000 (19:46 -0400)]
Remove an unimplemented function

_gtk_entry_get_im_context does not exist.