Put the widget's content into a HdyColumn, itself into a
GtkScrolledWindow. This allows the panel to reach narrower 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.
There's only one instance of this pattern - make the function specific
to that case rather than generic.
The current code is leaking the Label2Data struct and the GSettings
signal connection. The leak of the signal connection was causing a crash
in case the callback was called after the label was destroyed. Instead
of just directly fixing these problems, let's eliminate the intermediate
struct and just support the specific case we're interested in directly.
The current code relies on GLib API and uses the
available mounts to calculate the available partition
size. This is because this code assumes that more
than one OS can be installed in the same drive, and
wouldn't make sense to show the whole disk size in
this situation.
That, however, clashes with the general purpose of
the panel, for it is meant to show general information
about the user's computer, and it is not reporting
the full disk size.
Fix that by using the UDisks API to get the real size
of the full disks.
https://bugzilla.gnome.org/show_bug.cgi?id=639376
Slighly modified by Iain Lane <iainl@gnome.org> to
port to meson and add udisks2 to CI deps.
Fixes#285.
Fixes#302.
In the User Accounts panel's carousel, longer real names
push the window geometry to super wide levels -- even with
the 255-char limitation in place.
Fix that by ellipsizing the real name label.
GNOME Settings allows limitless full names, which is
actually accepted by most of the stack but may break
GNOME Settings, GNOME Shell and other user-visible
applications that show the user names.
Limit the user full name entries to 255 characters,
which is the same value used by GNOME Initial Setup.
The button/popover are meaningless if there's no device to test with. Set
it inactive (so the popover hides if visible) and set insensitive if no
devices are found.
Having the instructions inside can be slightly confusing because
monitors cannot be moved around in the labels area. Simply moving the
instructions to be at the top again improves this.
With this change the dialogs UI matches the old layout more closely.
This means we show the first 5 scales that are supported for the
display. That is the same behaviour as 3.30 had, therefore minimizing
the UI changes that users will see.
Note that there are plans to improve the scaling UI, however, it is not
yet clear how this will look like.
Changes from !373 causes crashes when "Add User" dialog is canceled.
Check return value and generate user avatar only if valid user is
returned to fix the crashes.
Use the new designs:
https://wiki.gnome.org/Design/SystemSettings/Sound
The existing panel was very old and had a very traditional layout that didn't
align with the new designs. Initialy this patch modified existing elements of
the old panel but the change was so great that new widgets were written. Some
of the widgets have algorithms taken from the old panel.
The sound files and icons are from the old panel.
For GNOME 3.32 we are pushing to make all our avatar images
round. This commit adjusts the existing stock faces images
to avoid layout issues when they are cropped in this way.
Fixes#289
Collect all the parent of a given device and pass that to the device
dialog, so we can show and potentially authorize/enroll all the
parent devices too.
Add an expander that contains a list of all the parent devices of
the dialog's target device. If any of the devices is not yet
authorized, show a warning symbol next to it.
Additionally the enroll/authorize function calls are replaced
by a single bolt_client_connect_all call, so parents that need
authorization can be authorized/enrolled too.
The CcBoltDeviceEntry can now optionally show a warning indicator
if the device is in the pending state.
Since we *don't* want to show this in the main list, remove calls
to gtk_widget_show_all and replace them with gtk_widget_show.
Adds a utility function that deterministically generates an object
path from a path base and an object id.
The corresponding bolt commit is:
a396eb986611ed73fc0ccca2127f29ab1e3aac62
Import five commits that add methods to enroll and authorize multiple
devices at once; meant for authorizing a target device and all the
parents that need to be authorized.
Commits in bolt are:
1ae5c8611fc21c21c8c63ba6933b63eb4c20ab87
d993ca2f871e7e412b4e1f885b24e4f6622dfc55
2689e5f77496ac7698744e582feb9afa3e55e0ac
87762ce14650263ef35f97da5a3a5d122ac0b7d7
5aa5548d6c7fa1fa26733ecd073097bc1b9d31fb
00b3d8a35835b8c856e5de026a0c8316b2ceba90
Listen for security level changes, which in theory should not really
happen at all with the exception that on hardware where force power
is not support and boltd has not yet seen the thunderbolt controller
because it was powered down. Then we should get an initial change
from 'unknown' to the real level. Handle it in the same way that
as if boltd was restarted, i.e. the dbus name owner changed
If bolt cannot determine the security level, which in theory should
never happen[1] the standard no-thunderbolt message seems not
entirely appropriate. Instead show a different message that is more
tailored to this unusual case.
[1] The following (unlikely) reasons would invoke such a scenario:
- new security level not supported by boltd
- old hardware with not force-power support and the thunderbolt
controller has not yet been powered up