gtk4.git
5 years agox11: Implement inhibit_system_shortcuts API
Olivier Fourdan [Fri, 20 Mar 2020 14:24:06 +0000 (15:24 +0100)]
x11: Implement inhibit_system_shortcuts API

On X11, there is no such equivalent to the inhibit shortcut protocol
found on Wayland.

To implement the inhibit_system_shortcuts API on X11, we emulate the
same behavior using grabs on the keyboard.

To avoid keeping active grabs on the keyboard that would affect other
X11 applications even when the surface isn't focused, the X11
implementation takes care of releasing the grabs as soon as the toplevel
loses focus.

5 years agox11: Use gdk_x11_* rather than gdk_wayland_*
Olivier Fourdan [Fri, 27 Mar 2020 15:54:25 +0000 (16:54 +0100)]
x11: Use gdk_x11_* rather than gdk_wayland_*

Rename the local functions for the x11 backend as gdk_x11_* rather than
gdk_wayland_*

5 years agowayland: Implement inhibit_system_shortcuts API
Olivier Fourdan [Fri, 20 Mar 2020 14:22:30 +0000 (15:22 +0100)]
wayland: Implement inhibit_system_shortcuts API

On Wayland, this is a direct mapping with the inhibit shortcut protocol
that GDK already supports.

Simply wire the new API to the existing entries.

5 years agowayland: Use a GdkSeat as key for our internal hash table
Olivier Fourdan [Fri, 27 Mar 2020 13:40:52 +0000 (14:40 +0100)]
wayland: Use a GdkSeat as key for our internal hash table

With the current implementation, we use a `wl_seat` as the key for our
internal has table where we store the Wayland shortcuts inhibitors.

There is however no technical reason for this, and we could use a
GdkSeat instead, which will ease the implementation of the GdkToplevel
shortcut inhibition API.

5 years agogdk: add internal `gdk_surface_get_seat_from_event()`
Olivier Fourdan [Mon, 30 Mar 2020 14:55:05 +0000 (16:55 +0200)]
gdk: add internal `gdk_surface_get_seat_from_event()`

This can come handy to get the seat from a surface/event.

5 years agogdk: Add gdk_toplevel_inhibit_system_shortcuts API
Olivier Fourdan [Fri, 20 Mar 2020 14:17:41 +0000 (15:17 +0100)]
gdk: Add gdk_toplevel_inhibit_system_shortcuts API

With the removal of grabs from the public API, we need a replacement API
to let applications bypass system keyboard shortcuts.

A typical use case for this API is remote desktop or virtual machine
viewers which need to inhibit the default system keyboard shortcuts so
that the remote session or virtual host gets those instead of the local
environment.

Close: https://gitlab.gnome.org/GNOME/gtk/issues/982

5 years agoMerge branch 'wip/jimmac/avoid-t-word' into 'master'
Matthias Clasen [Mon, 30 Mar 2020 15:15:51 +0000 (15:15 +0000)]
Merge branch 'wip/jimmac/avoid-t-word' into 'master'

widget-factory: avoid the T word

See merge request GNOME/gtk!1586

5 years agowidget-factory: avoid the T word
Jakub Steiner [Thu, 26 Mar 2020 19:29:43 +0000 (20:29 +0100)]
widget-factory: avoid the T word

- style variant sound more appropriate

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Mon, 30 Mar 2020 11:37:57 +0000 (11:37 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

widget: Remove a leftover vfunc

See merge request GNOME/gtk!1584

5 years agowindow: Remove initial-focus leftovers
Matthias Clasen [Mon, 30 Mar 2020 03:38:34 +0000 (23:38 -0400)]
window: Remove initial-focus leftovers

We removed the way to set initial_focus a year ago,
time to get rid of the leftovers.

5 years agowidget: Remove a leftover vfunc
Matthias Clasen [Mon, 30 Mar 2020 03:18:56 +0000 (23:18 -0400)]
widget: Remove a leftover vfunc

The popup-menu signal is gone, so we can remove the vfunc.

5 years agoUpdate Hebrew translation
Yosef Or Boczko [Sun, 29 Mar 2020 15:34:36 +0000 (15:34 +0000)]
Update Hebrew translation

5 years agoUpdate Hebrew translation
Yosef Or Boczko [Sun, 29 Mar 2020 15:33:40 +0000 (15:33 +0000)]
Update Hebrew translation

5 years agowidget: Return an array from list_controllers
Timm Bäder [Sat, 28 Mar 2020 19:37:29 +0000 (20:37 +0100)]
widget: Return an array from list_controllers

Minimize the GList usage throughout the code base.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sun, 29 Mar 2020 13:18:35 +0000 (13:18 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1583

5 years agocoloreditor: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:16:42 +0000 (17:16 -0400)]
coloreditor: Drop the Private struct

5 years agocolorchooserdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:12:40 +0000 (17:12 -0400)]
colorchooserdialog: Drop the Private struct

5 years agocolorchooserwidget: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:09:52 +0000 (17:09 -0400)]
colorchooserwidget: Drop the Private struct

5 years agonotebook: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 21:01:58 +0000 (17:01 -0400)]
notebook: Drop the Private struct

5 years agolistbox: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:52:41 +0000 (16:52 -0400)]
listbox: Drop the Private struct

5 years agolevelbar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:52:31 +0000 (16:52 -0400)]
levelbar: Drop the Private struct

5 years agospinbutton: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:26:15 +0000 (16:26 -0400)]
spinbutton: Drop the Private struct

5 years agofilechooserwidget: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:14:43 +0000 (16:14 -0400)]
filechooserwidget: Drop the Private struct

5 years agoprintunixdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 20:04:30 +0000 (16:04 -0400)]
printunixdialog: Drop the Private struct

5 years agoprintjob: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 19:55:15 +0000 (15:55 -0400)]
printjob: Drop the Private struct

5 years agotestsuite: Fix notify test no not fail on the 30th
Matthias Clasen [Sun, 29 Mar 2020 13:01:13 +0000 (09:01 -0400)]
testsuite: Fix notify test no not fail on the 30th

We are setting the month property to 10 different values,
checking that the change succeeds. But the calendar defaults
to the current date, so on every 30th of the month, we
try to set a date of Febuary 30, which fails.

Lets fix this before the 31st, by setting the calendar
to a good date.

5 years agoUpdate Polish translation
Piotr Drąg [Sun, 29 Mar 2020 12:08:56 +0000 (14:08 +0200)]
Update Polish translation

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 28 Mar 2020 21:17:29 +0000 (21:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1582

5 years agoprinting: Avoid a crash
Matthias Clasen [Sat, 28 Mar 2020 19:22:13 +0000 (15:22 -0400)]
printing: Avoid a crash

When no printer has been selected (e.g. because we don't
find any printers), the 'print at' radio group should be
insensitive, except for the 'now' choice. Selecting another
option in this situation will lead to a crash.

5 years agoprinting: Fix initial page range radio group
Matthias Clasen [Sat, 28 Mar 2020 19:21:11 +0000 (15:21 -0400)]
printing: Fix initial page range radio group

Only set one radio button as active in the ui file.
Otherwise we end up with multiple options appearing
as selected initially.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 28 Mar 2020 19:35:36 +0000 (19:35 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1580

5 years agogesture: Fix gtk_gesture_get_bounding_box
Matthias Clasen [Sat, 28 Mar 2020 19:03:33 +0000 (15:03 -0400)]
gesture: Fix gtk_gesture_get_bounding_box

When we stopped translating event coordinates in-place,
this function inadvertently started returning surface-relative
bounding boxes instead of widget-relative ones, as expected.

Fix this by using the widget-relative coordinates that we
already store.

5 years agocellarea: Fix cell editing
Matthias Clasen [Sat, 28 Mar 2020 18:56:26 +0000 (14:56 -0400)]
cellarea: Fix cell editing

We need to translate the event coordinates to
widget-relative coordinates. This broke when
we stopped translating event coordinates in-place.

5 years agobutton: Fix an event handling gotcha
Matthias Clasen [Sat, 28 Mar 2020 18:33:01 +0000 (14:33 -0400)]
button: Fix an event handling gotcha

We no longer translate event coordinates in-place,
so gdk_event_get_position() returns surface-relative
coordinates, not widget-relative ones. Just use the
coordinates we are given.

5 years agoimcontextsimple: Don't use g_object_unref on events
Matthias Clasen [Sat, 28 Mar 2020 18:29:08 +0000 (14:29 -0400)]
imcontextsimple: Don't use g_object_unref on events

Events are not objects anymore.

5 years agox11: Don't use g_object_unref on events
Matthias Clasen [Sat, 28 Mar 2020 18:28:36 +0000 (14:28 -0400)]
x11: Don't use g_object_unref on events

Events are not object anymore.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 28 Mar 2020 16:09:01 +0000 (16:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1579

5 years agoUpdate POTFILES.in and POTFILES.skip
Piotr Drąg [Sat, 28 Mar 2020 15:04:52 +0000 (16:04 +0100)]
Update POTFILES.in and POTFILES.skip

5 years agoappchooserdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:59:12 +0000 (10:59 -0400)]
appchooserdialog: Drop the Private struct

5 years agoimage: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:49:54 +0000 (10:49 -0400)]
image: Drop the Private struct

5 years agoinfobar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:48:15 +0000 (10:48 -0400)]
infobar: Drop the Private struct

5 years agotexthandle: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:36:09 +0000 (10:36 -0400)]
texthandle: Drop the Private struct

5 years agosearchentry: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:28:22 +0000 (10:28 -0400)]
searchentry: Drop the Private struct

5 years agostatusbar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:23:01 +0000 (10:23 -0400)]
statusbar: Drop the Private struct

5 years agosettings: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:16:18 +0000 (10:16 -0400)]
settings: Drop the Private struct

Also drop class padding - pointless for final types.

5 years agoaccellabel: Drop unused class fields
Matthias Clasen [Sat, 28 Mar 2020 14:15:50 +0000 (10:15 -0400)]
accellabel: Drop unused class fields

We are not using these anymore.

5 years agoaccellabel: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 14:06:26 +0000 (10:06 -0400)]
accellabel: Drop the Private struct

5 years agoactionbar: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 13:59:12 +0000 (09:59 -0400)]
actionbar: Drop the Private struct

5 years agoaboutdialog: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 04:42:44 +0000 (00:42 -0400)]
aboutdialog: Drop the Private struct

5 years agomenubutton: Drop the Private struct
Matthias Clasen [Sat, 28 Mar 2020 04:35:13 +0000 (00:35 -0400)]
menubutton: Drop the Private struct

5 years agoapplicationaccels: Fix shortcut memory leaks
Timm Bäder [Sat, 28 Mar 2020 07:34:35 +0000 (08:34 +0100)]
applicationaccels: Fix shortcut memory leaks

g_list_model_get_item() is transfer-full.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 28 Mar 2020 04:40:52 +0000 (04:40 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #2489

See merge request GNOME/gtk!1578

5 years agogtk-demo: Fix the stack demo
Matthias Clasen [Sat, 28 Mar 2020 04:07:05 +0000 (00:07 -0400)]
gtk-demo: Fix the stack demo

The GtkSpinner:active property was renamed to :spinning.

5 years agogtk-demo: Fix the sliding puzzle
Matthias Clasen [Sat, 28 Mar 2020 04:06:14 +0000 (00:06 -0400)]
gtk-demo: Fix the sliding puzzle

Update for a change in gtk_shortcut_controller_add_shortcut
behavior.

5 years agogtk-demo: Fix the shortcuts demo
Matthias Clasen [Sat, 28 Mar 2020 04:05:48 +0000 (00:05 -0400)]
gtk-demo: Fix the shortcuts demo

We don't have margins anymore.

5 years agogtk-demo: Fix the rotated text demo
Matthias Clasen [Sat, 28 Mar 2020 04:04:25 +0000 (00:04 -0400)]
gtk-demo: Fix the rotated text demo

Off-by-one on the heart!

5 years agogtk-demo: Fix the overlay demo
Matthias Clasen [Sat, 28 Mar 2020 02:57:10 +0000 (22:57 -0400)]
gtk-demo: Fix the overlay demo

We must use two separate boxes for the label and
the entry, otherwise we can't keep their can-target
properties apart.

5 years agogtk-demo: Use mnemonics in menu buttons
Matthias Clasen [Sat, 28 Mar 2020 02:31:18 +0000 (22:31 -0400)]
gtk-demo: Use mnemonics in menu buttons

Use GtkMenuButton:use-underline in the modelbutton demo.

5 years agomenubutton: Add a use-underline property
Matthias Clasen [Sat, 28 Mar 2020 02:28:49 +0000 (22:28 -0400)]
menubutton: Add a use-underline property

This is necessary since apps no longer have direct
access to the label.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2489
5 years agogtk-demo: Visual fixes to the model button demo
Matthias Clasen [Fri, 27 Mar 2020 20:38:06 +0000 (16:38 -0400)]
gtk-demo: Visual fixes to the model button demo

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Fri, 27 Mar 2020 21:10:19 +0000 (21:10 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1577

5 years agogtk-demo: Fix the search entry demo
Matthias Clasen [Fri, 27 Mar 2020 20:24:20 +0000 (16:24 -0400)]
gtk-demo: Fix the search entry demo

Avoid critical warnings when setting up the context
menu actions.

5 years agowidget-factory: Fix the radio button example
Matthias Clasen [Fri, 27 Mar 2020 20:06:03 +0000 (16:06 -0400)]
widget-factory: Fix the radio button example

We only want one of the sensitive buttons to be active,
so don't tell them all to be active.

5 years agoMerge branch 'rename-theme-resources' into 'master'
Matthias Clasen [Fri, 27 Mar 2020 16:37:31 +0000 (16:37 +0000)]
Merge branch 'rename-theme-resources' into 'master'

Rename GResources for standard GTK themes

See merge request GNOME/gtk!1576

5 years agoMerge branch 'trigger-parser' into 'master'
Matthias Clasen [Fri, 27 Mar 2020 15:45:08 +0000 (15:45 +0000)]
Merge branch 'trigger-parser' into 'master'

Improve GtkShortcutTrigger parser

See merge request GNOME/gtk!1572

5 years agoRename GResources for standard GTK themes
Emmanuele Bassi [Fri, 27 Mar 2020 15:20:59 +0000 (15:20 +0000)]
Rename GResources for standard GTK themes

After commit 2ab9be54fb34c61eedbbb89b78ce9db23ba81e8a we had to rename
the generated CSS files to be included into the GResource bundle; we
kept the URI stable to avoid too much churn, and allow backporting the
change to the 3.24 stable branch. This had the adverse effect of making
it harder to debug issues, as the on-disk file name does not match the
location in the GResource that will be used to print out warnings,
errors, and debugging messages.

5 years agoImprove GtkShortcutTrigger parsing tests
Emmanuele Bassi [Fri, 27 Mar 2020 14:35:09 +0000 (14:35 +0000)]
Improve GtkShortcutTrigger parsing tests

Split off all possible cases into sub-tests, and add more thorough
checks on the invalid strings unit.

5 years agoAdd parsing for GtkAlternativeTrigger
Emmanuele Bassi [Thu, 26 Mar 2020 16:58:55 +0000 (16:58 +0000)]
Add parsing for GtkAlternativeTrigger

Alternative triggers are separate by a pipe character.

5 years agotests: Add more cases for the trigger parser
Emmanuele Bassi [Thu, 26 Mar 2020 16:48:03 +0000 (16:48 +0000)]
tests: Add more cases for the trigger parser

5 years agoParse keyval name directly for mnemonic triggers
Emmanuele Bassi [Thu, 26 Mar 2020 16:47:15 +0000 (16:47 +0000)]
Parse keyval name directly for mnemonic triggers

We don't need to parse the full accelerator format for mnemonic
triggers.

5 years agoReturn a full reference when parsing triggers
Emmanuele Bassi [Thu, 26 Mar 2020 17:11:25 +0000 (17:11 +0000)]
Return a full reference when parsing triggers

We're not returning a full reference for GtkNeverTrigger, but we are
returning full references for mnemonic and keyval triggers; this means
we're either going to leak mnemonic and keyval triggers if we consider
this function a "transfer none" one, or we are going to trigger an
assertion failure when finalizing a never trigger, if we consider this
function a "transfer full" one.

Let's be consistent, and always return a full reference to the caller.

5 years agocalendar: Only highlight one day as today
Timm Bäder [Fri, 27 Mar 2020 07:39:16 +0000 (08:39 +0100)]
calendar: Only highlight one day as today

Fixes #2490

5 years agoshortcutscontroller: Make add_shortcut transfer-full
Timm Bäder [Thu, 26 Mar 2020 16:31:38 +0000 (17:31 +0100)]
shortcutscontroller: Make add_shortcut transfer-full

Like all the other shortcut api

5 years agofilechooserwidget: Plug a memory leak
Timm Bäder [Thu, 26 Mar 2020 16:31:22 +0000 (17:31 +0100)]
filechooserwidget: Plug a memory leak

5 years agoMerge branch 'widget-factory-theme' into 'master'
Matthias Clasen [Thu, 26 Mar 2020 18:23:11 +0000 (18:23 +0000)]
Merge branch 'widget-factory-theme' into 'master'

widget-factory: Add theme switch

See merge request GNOME/gtk!1573

5 years agowidget-factory: Add theme switch
Matthias Clasen [Thu, 26 Mar 2020 17:51:59 +0000 (13:51 -0400)]
widget-factory: Add theme switch

Add a submenu to test the builtin themes. This is mainly
for the benefit of the artists working on those themes.

5 years agoMerge branch 'wip/jimmac/HC-redesign' into 'master'
Matthias Clasen [Thu, 26 Mar 2020 17:24:42 +0000 (17:24 +0000)]
Merge branch 'wip/jimmac/HC-redesign' into 'master'

HC: derive from Adwaita

Closes #1450

See merge request GNOME/gtk!1571

5 years agoAdwaita: make insensitive slightly less sensitive
Jakub Steiner [Thu, 26 Mar 2020 14:35:01 +0000 (15:35 +0100)]
Adwaita: make insensitive slightly less sensitive

- will expose itself even more in HC

5 years agoHC: derive from Adwaita
Jakub Steiner [Tue, 24 Mar 2020 14:59:33 +0000 (15:59 +0100)]
HC: derive from Adwaita

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1450

5 years agoRevert "Adwaita: make insensitive slightly less sensitive"
Jakub Steiner [Thu, 26 Mar 2020 16:19:19 +0000 (17:19 +0100)]
Revert "Adwaita: make insensitive slightly less sensitive"

This reverts commit bf3ccaa1bfb8d1bedb019a7057c01cf2d06eee89.

5 years agoAdwaita: make insensitive slightly less sensitive
Jakub Steiner [Thu, 26 Mar 2020 14:35:01 +0000 (15:35 +0100)]
Adwaita: make insensitive slightly less sensitive

- will expose itself even more in HC

5 years agoMerge branch 'wip/matthiasc/shortcut-4' into 'master'
Matthias Clasen [Thu, 26 Mar 2020 03:40:22 +0000 (03:40 +0000)]
Merge branch 'wip/matthiasc/shortcut-4' into 'master'

Shortcuts

See merge request GNOME/gtk!1569

5 years agoSome documentation fixes
Matthias Clasen [Thu, 26 Mar 2020 02:30:15 +0000 (22:30 -0400)]
Some documentation fixes

5 years agoshortcutmanager: Add some more docs
Matthias Clasen [Wed, 25 Mar 2020 21:13:37 +0000 (17:13 -0400)]
shortcutmanager: Add some more docs

5 years agoshortcuttrigger: Some documentation fixups
Matthias Clasen [Tue, 24 Mar 2020 21:01:18 +0000 (17:01 -0400)]
shortcuttrigger: Some documentation fixups

5 years agoshortcutaction: Some documentation fixups
Matthias Clasen [Tue, 24 Mar 2020 20:57:27 +0000 (16:57 -0400)]
shortcutaction: Some documentation fixups

5 years agoshortcutcontroller: Expand the docs
Matthias Clasen [Tue, 24 Mar 2020 20:29:47 +0000 (16:29 -0400)]
shortcutcontroller: Expand the docs

5 years agodocs: Update the overview input chapter
Matthias Clasen [Tue, 24 Mar 2020 20:11:07 +0000 (16:11 -0400)]
docs: Update the overview input chapter

Update the wording around events to reflect current
usage, and add information about shortcuts and the
shortcut controller.

5 years agopopovermenu: Show mnemonics on keynav
Matthias Clasen [Tue, 24 Mar 2020 16:45:12 +0000 (12:45 -0400)]
popovermenu: Show mnemonics on keynav

This is the expected behavior for menus.

5 years agopopover: Implement auto mnemonics
Matthias Clasen [Tue, 24 Mar 2020 16:45:43 +0000 (12:45 -0400)]
popover: Implement auto mnemonics

Unfortunately, this involves copying a bunch of
code from gtkwindow.c. The only difference here
is that we add a private method to turn this off,
which will be used by GtkPopoverMenu to implement
its own auto mnemonics.

5 years agolabel: Respect GtkPopover::mnemonics-visible
Matthias Clasen [Tue, 24 Mar 2020 16:44:08 +0000 (12:44 -0400)]
label: Respect GtkPopover::mnemonics-visible

When inside a popover, look to the popover for
whether to show mnemonics or not.

5 years agopopover: Add a mnemonics-visible property
Matthias Clasen [Tue, 24 Mar 2020 16:29:26 +0000 (12:29 -0400)]
popover: Add a mnemonics-visible property

This will be handled separately for popovers, so we
need our own property for it.

5 years agolabel: Disconnect visible mnemonics in popovers
Matthias Clasen [Tue, 24 Mar 2020 15:54:17 +0000 (11:54 -0400)]
label: Disconnect visible mnemonics in popovers

The controller handling mnemonics is limited to same-native,
so showing mnemonics in other natives.

5 years agomodelbutton: Install accels when inside a popover
Matthias Clasen [Tue, 24 Mar 2020 05:07:09 +0000 (01:07 -0400)]
modelbutton: Install accels when inside a popover

When a model button in a popover displays a shortcut,
it is probably from the global shortcut controllers,
and will not work inside the popover, since that is
a different native. Install a shortcut using the same
trigger that just activates the model button. This
shortcut will end up in the managed shortcut controller
of the popover.

5 years agopopovermenu: Make mnemonics work without Alt
Matthias Clasen [Tue, 24 Mar 2020 04:00:43 +0000 (00:00 -0400)]
popovermenu: Make mnemonics work without Alt

This is expected menu behavior.

5 years agoshortcutcontroller: Inject accels into the action muxer
Matthias Clasen [Tue, 24 Mar 2020 03:04:53 +0000 (23:04 -0400)]
shortcutcontroller: Inject accels into the action muxer

This is the way model button pic up accels for their actions.

5 years agopopover: Implement GtkShortcutManager
Matthias Clasen [Tue, 24 Mar 2020 03:04:06 +0000 (23:04 -0400)]
popover: Implement GtkShortcutManager

This makes mnemonics work in popovers.

5 years agomodelbutton: Make activatable
Matthias Clasen [Tue, 24 Mar 2020 03:03:29 +0000 (23:03 -0400)]
modelbutton: Make activatable

This is expected of button-like widgets, and is necessary
to make keynav in popover menus work as expected.

5 years agomodelbutton: Remove accel poking
Matthias Clasen [Mon, 23 Mar 2020 18:46:20 +0000 (14:46 -0400)]
modelbutton: Remove accel poking

Stop manually poking GtkApplication for accels.
GtkApplication already feeds them into the action
muxer machinery, so that is where will get them.

5 years agoTurn GtkShortcutAction into a GObject
Emmanuele Bassi [Fri, 20 Mar 2020 15:19:45 +0000 (15:19 +0000)]
Turn GtkShortcutAction into a GObject

Just like we did for GtkShortcutTrigger.

This allows language bindings to properly deal with all the actions.