This will allow the panel to reach smaller sizes.
This deliberately doesn't adapt the indentation of the contained widget
to help this commit to be more readable and easier to review, it will be
adapted in the next commit.
When comparing configurations, the monitor positions are compared
directly. This comparison will not work properly if one of the
configurations has an offset.
This results in the "Apply" button to show up incorrectly after moving
the top/left monitor position.
The Touchpad section looks like a single listbox
so let's handle it that way too.
This eliminates an unnecessary split in the touchpad
section that is noticeable when navigating with a keyboard.
This allows to activate the already selected panel with a single click
rather than a double click, which will be needed to simply focus the
panel when the window will use a leaflet.
We were converting the floating point numbers to integers using a cast,
which causes them to be always rounded down. The result is that a
monitor may be too small by a pixel, creating broken configurations.
Also fix the same issue when calculating whether a scale should be
supported.
See https://gitlab.gnome.org/GNOME/mutter/issues/412
gnome-control-center's shell uses the -symbolic version
automatically. Use the icon name without the -symbolic
suffix to match what we do with other panels.
Since the gsettings is for the repeat-interval but the
GUI is for Speed, we need to reverse the mapped direction.
We have to turn off the fill indicator (has_origin) for Speed
since it fills the right side instead of the left. We turn
off the indicator for Delay to match.
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/311
The appropriate relation is already set with the mnemonic_widget property.
In particular, this also fixes an issue where a screenreader would
emit "Crosshairs" every time a new tab was entered in the Zoom dialog
because of some incorrect labelled-by relations.
In the async version of the client creation, i.e. when a new client
is created via bolt_client_new_async and an error happens it will be
passed to g_task_return_error which takes ownership of it but the very
same error will also be free'd via g_autoptr; remove the latter.
This is a port of bolt commit e96f8bd47587b167ae46c8ac9347003f69f931dd
This reverts commit d2c759fcae.
The commit caused the Applications panel to crash with
Unhandled tag: <attributes>
Apparently CInfoRow doesn't know how to handle attributes.
Looks more natural this way. All buttons and links have been moved
into the main grid so this is possible. The links additionally had
to be removed all the padding so they actually align visually.
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/238
Note that this also changes the way to detect that the connection is
currently active. This change is not required but but does simplify the
code a little bit.
In almost all cases, the SSID will be identical with the connection name
(in fact, we do not even allow modifying the connection name). However,
as it is now, we can end up with multiple connections with the same name
in the list.
Change the list to indicate the SSID separately in a way that will not
result in any changes in the usual case.
The code tries to establish a connect by using an existing connection.
However, if that is possible the function will not even be called.
Remove the code in question.