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.
Meson extracts them by itself and add them as dependencies for the target.
It means one less location to keep track of files, and a lot less boilerplate
around the meson files
When pressing ENTER (i.e. activating) a search with no
results ("No results found") the first Wifi panel was
being activating, that's wrong because cc_panel_list_activate()
should activate the first visible panel, but there are
no visible panels at the moment (No results found page is shown)
The problem was the visibility check in cc_panel_list_activate()
was incomplete and so it wrongly thought panels were app visible.
Part of #2119 (comments 4th and 5th)
Avoid activating a panel when doing an empty search
i.e. clicking ENTER without having entered
any text in the search entry.
We should do nothing in this case, we fixed it by
detecting for this case when an activation happens
when there's still no search results view in place.
Closes#2119
For changing the clock display (weekday, seconds, date) and week numbers on the calendar
These switches should change:
- Whether or not the clock display has the week day (e.g. Mon).
- Whether or not the clock display has the date (e.g. Jun 6).
- Whether or not the clock display has seconds (e.g. 12:30:45).
- Whether or not the clock's popup calendar should show the week's number.
Fixes#257
The newly introduced CcListRowInfoButton is not available
to GtkBuilder and henceforth building the mouse panel
currently fails.
Therefore, it CcListRowInfoButton has to be declared to
be a type that needs to be available to this panel.
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
When activating a panel from Search or from commandline
let's scroll the sidebar so the row for that panel is
revealed and vertically centered on the list.
Closes#2098
Achieved by making the container widget for all other widgets
in the content section of the panel an AdwPreferencesPage and
having each group of widgets (e.g. the airplane mode toggle
and the stack that shows the list of wi-fi networks or a status
message) be in its own AdwPreferencesGroup.
Much along the lines of !1739 and !1740
Also fixes#2420
Don't activate first row panel (i.e. 'Wifi') when:
- Canceling search view (pressing ESC or deleting all query text).
- Activating a search result from search view.
Closes#2472
The switch for the current network was only updated to TRUE after a
network change. However, if a new network was not enabled, the switch
should be set to FALSE. This is now properly handled.
Furthermore, the Off/Enabled/Active indicator was also inconsistent
after network changes due to the is_visible check failing sometimes,
even after changing to an already enabled network. Because the actual
current network state is now better tracked, we can just check the state
of the switch instead.
This helps translators understand what are the placeholders in
the visible string.
+#. Translators: This will be presented as the text of a link to the documentation
+#. translators: Text used in link to privacy policy
+#: panels/color/cc-color-panel.c:2021
+#: panels/diagnostics/cc-diagnostics-panel.c:137
+msgid "Learn more"
+#. Translators: %s is a link to the documentation with the label "Learn more"
+#: panels/color/cc-color-panel.c:2023
+msgid "Each device needs an up to date color profile to be color managed. %s"