Commit graph

29 commits

Author SHA1 Message Date
Marcos Miller
2e96b6d8cd keyboard: port ShortcutEditor from GtkDialog for AdwWindow/AdwToolbarView
See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2624
2023-11-24 10:26:31 +00:00
Automeris naranja
c961832741 keyboard-shortcut-dialog: Add missing mnemonics
Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2049>
2023-11-24 00:23:21 +00:00
Maximiliano Sandoval R
526217badb keyboard-shortcut-dialog: Allow escape to close
At the moment the search entry is consuming the Escape key press, so we
have to manually tell it what to do with it.

We clear the search on the first press, if there is input, and close the
window otherwise.
2023-10-20 10:55:01 +00:00
Christopher Davis
2a94420350 keyboard-shortcut-dialog: Port to AdwNavigationView
AdwNavigationView is a new widget meant to be used specifically
for navigation, unlike AdwLeaflet which was multipurpose.
AdwNavigationView provides a cleaner API, and when used in
conjuction with the new AdwToolbarView widget we get automatic
titles, back buttons, gestures, actions, and window controls.
In addition, AdwToolbarView provides a new style with flat headers
and an undershoot.

This commit ports the keyboard shortcut dialog to use both of
these new widgets, allowing us to simplify our navigation.
2023-08-25 08:00:43 +00:00
Robert Ancell
dd37cafb62 keyboard: Connect signal handlers in swapped form 2023-06-07 09:12:54 +12:00
Marcos Miller
478b3b4346 keyboard: change message dialog in 'reset all shortcuts'
The class Gtk.MessageDialog is deprecated in gtk 4.10.

This change remove class deprecated and uses the new class
AdwMessageDialog for view the message of 'reset all shortcut'.

keyboard: fix white space in function

keyboard: align arguments

keyboard: fix alignment of arguments in function
2023-05-31 13:51:26 +00:00
Marcos Miller
b0063d015f keyboard: fix "Add Custom Shortcut" in others sections
Clicking on the 'Custom Shortcuts' row when there are no custom
shortcuts causes the 'Add Custom Shortcuts' dialog to be shown for
all subsequent sessions. This is because the first stack defined was
'Add Custom Shortcuts', it would always be visible, as it was no
longer defined which stack was going to be shown.

Fixes (https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2479)
2023-05-31 08:15:59 +00:00
Felipe Borges
e97429f0f6 Make dialogs close when pressing the Escape key
Fixes #2503
2023-05-25 23:24:00 +00:00
Maksym Hazevych
d831e5cb48 Replace all occurrences of 'gtk_widget_show'
Replace all occurrences of 'gtk_widget_show(smth)' with
'gtk_widget_set_visible(smth, TRUE)'.
2023-03-29 14:26:55 +13:00
Gotam Gorabh
50eed44089 remove extra line 2023-03-23 22:15:15 +00:00
Gotam Gorabh
2906168a72 keyboard:Fix cancel button issue 2023-03-23 22:15:15 +00:00
Mohammed Sadiq
e155979dc2 keyboard: shortcut-dialog: Set custom title for subview
So that we can have different titles for main view and subview,
and so the title won't be broken when swiping back from subview.
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
287ab748a1 keyboard: shortcut-dialog: Pack content in a single leaflet
Don't pack headerbar and content separately, keep them together.
So that navigating back shall work right.
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
d978d51c96 keyboard: shortcut-dialog: Don't update search results in sub-view
Since the main view is not visible, there is no point in updating
search results when we are in a sub-view.  This will happen as we
always listen to keyboard events for the whole window - regardless
of whether the search entry has focus or not.
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
73c76a7e85 keyboard: shortcut-dialog: Pack search inside a SearchBar
So that they are shown distinct from the rest of the content and
have proper margins

Fixes #2202
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
40cf37590f keyboard: shortcut-dialog: Remove sub-view search code
We have had removed support for searching in sub-sections.
Remove related code which is no longer used
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
80ff36d18c keyboard: shortcut-dialog: Don't update search visibility in custom shortcuts
Now we never show search entry in subpages, so don't hide search entry
when switching to subviews.  Otherwise, the search entry will be hidden
when the user switches back to the main view.
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
c0be13c7d6 keyboard: shortcut-dialog: Fix search on swipe navigations
We were updating the state when the back button is pressed, not when
the pages were changed, and so the dialog state was broken if the
user went back by swipe (or means other than clicking the back button).

Fix it by handling updating state when the visible view changes.
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
6a84e1eb83 keyboard: shortcut-dialog: Use AdwLeaflet for headerbar
So that users can swipe on headerbar to go back

Fixes #2202
2023-03-01 16:12:19 +00:00
Mohammed Sadiq
6ad36fe6db keyboard: shortcut-dialog: Refactor
- Use GListModel for creation, filter and sorting of shortcut sections
- Use AdwStatusPage instead of handling empty states manually

Fixes #1212 #1735 #2105 #2159 #2160 #2169
2022-12-05 20:50:15 +00:00
Ian Douglas Scott
fbadba1a18 keyboard: Avoid segfault due to no "data" for custom_shortcut_add_row
Ultimately it would be good to get rid of the use of
`g_object_set_data`/`g_object_get_data` here, but this works for now.

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1373.
2022-05-10 04:11:57 +00:00
Sebastian Keller
b3a7a16d23 keyboard: Use gtk4 translations instead of gtk3 ones for shortcut search
Otherwise looking up shortcuts with "ctrl" in non-English locales would
fail without gtk3 installed.

Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1546
2021-12-17 19:27:03 +01:00
Georges Basile Stavracas Neto
d7e794e7ab keyboard: Port to GTK4
Drop the wm-common insanity.
2021-12-14 22:34:21 -03:00
Claude Paroz
d0d44dd6cd keyboard: Use g_dngettext to allow pluralized 'modified' string 2021-04-13 01:31:13 +00:00
Rachit Keerti Das
fccfb52cad keyboard: Improve Empty Search State.
The empty search state looks out-of place due to it being nested inside
a listbox. This is because we can only detect empty states through
gtk_list_filter_func().

Refine it by making the empty search placeholder a child of the main stack.
Introduce an additional helper function to detect when all the listbox
rows would be hidden by the filter.

As a part of https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1222
2021-02-12 15:41:10 +13:00
Ian Douglas Scott
3fdb5f7ab2 keyboard: Correctly free references when finalizing shortcut dialog 2021-01-11 15:19:33 -08:00
Ian Douglas Scott
fd661a6607 keyboard: Use "+" row at end of custom shortcuts, not another box 2020-12-18 07:55:41 -08:00
Ian Douglas Scott
959d530c44 keyboard: Use HdyActionRow for shortcut/category 2020-12-18 07:55:41 -08:00
Ian Douglas Scott
238327e0ae keyboard: Move keyboard shortcuts configuration to a dialog window 2020-12-18 07:55:38 -08:00