GTK has deprecated the AppChooser interface and related widgets.
These APIs will be gone in GTK5, so we should move away from
them as soon as possible.
This MR takes the opportunity to change the design to match newer
mockups while dropping deprecated APIs.
When switching from Mirror mode to Join mode
and opening a monitor leaflet child by clicking
its row, clicking Cancel on the title bar would
get the UI into an invalid state.
Closes#2513.
This was a copy-pasta mistake when creating the CcListRowInfoButton
class from the CcListRow class.
The mistake was harmless but fixing it is good for the sake of
consistency and to avoid confusion in backtraces.
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
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)
In case an inapplicable display configuration
is attempted, and the issue is then resolved,
the warning window subtitle remains displayed
even under the "Apply Changes?" title.
Closes#2512.
While GTK will flip most things for RTL languages, that shouldn't be
the case for displaying time.
These changes make sure that the time-entry/editor behave as expected
in RTL languages.
Fixes#2504
Hooking to all the toggled signals from all the buttons for executing
the same action is inneficient, and can potenticall end up in a segmentation
fault due to some race in the signal emmission, where the active button
gets deactivated before the clicked button is activated
Looking at the GTK4 code, in a radio group:
- The button which was previously active gets de-activated, emitting its
corresponding toggled signal.
- The active property for the clicked button gets set.
- The clicked button emits its toggled signal.
Therefore, if the first toggle signal gets processed before the active
property is set, there can be a race condition. We are seeing this downstream
at pmOS: https://gitlab.com/postmarketOS/pmaports/-/issues/1816
Instead of this racy behavior, follow upstream recommendation and keep track
of the state through a stateful signal.