This moves the UserAccounts panel to a page in the System panel.
This simplifies a lot of the existing code in the UserAccounts panel.
I did minimal changes to the sub dialogs so that those can be touched
in following changes, making it easier to review this one alone.
The main panel widget is now CcUsersPage, and is an AdwNavigationView
widget that has a default "current_user_page" page. Each page is a
CcUserPage (careful with the one-character difference between these
two classes).
Each CcUserPage has an associated ActUser object.
Users panel crashes with g_error() if some of libpwquality calls fails,
e.g. when pwquality.conf is broken. The default values should be used
instead of crash. Let's use g_warning() instead of g_error() in that
case.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/171
Don't say "Good password!" for all acceptable password (e.g. weak passwords).
Say explicitely that password needs to be longer for short passwords.
https://bugzilla.gnome.org/show_bug.cgi?id=780002
This also adds another out parameter to pw_strength(), which is a discrete
indication of the password strength (to be used with GtkLevelBar). The
advantage of having such a parameter back from pw_strength() is that we
can make sure the fill value and the hint string change at the same
time, for better consistency.
https://bugzilla.gnome.org/show_bug.cgi?id=679984
Passing the username and the old password allows the password
quality check find more bad passwords. Also, add a way to provide
more information about why a password is not good enough.
https://bugzilla.gnome.org/show_bug.cgi?id=676396
Using a library for password generation and quality checking
has the obvious benefit that we can have centralized policy
for password quality, and our homegrown code for this was not
a beauty in the first place.
This commit drops the use of /usr/bin/agp for generating
random passwords.
https://bugzilla.gnome.org/show_bug.cgi?id=676396