Commit Graph

525 Commits

Author SHA1 Message Date
Philip Withnall f956fab427 user-controls: Tweak the wording of the ‘restrict applications’ label
Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #11
2020-02-25 12:25:40 +00:00
Philip Withnall 8e4fa643d3 user-controls: Relabel ‘allow web browsers’ as ‘restrict web browsers’
This is part of a move to make all the controls restrictive, rather than
permissive.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #11
2020-02-25 12:25:40 +00:00
Philip Withnall 8027351f58 carousel: Lower CSS priority
Otherwise an application won’t be able to override the CSS installed by
libmalcontent-ui if this is ever moved into libmalcontent-ui.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-25 12:25:40 +00:00
Philip Withnall b9a2b7a6a7 user-controls: Add CSS to support styling switches as ‘restrictive’
This will be used in upcoming commits to mark switches as restricting
something when they’re active, rather than allowing something. Their
background will be red, rather than blue.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #11
2020-02-25 12:25:40 +00:00
Philip Withnall 67ca6806e6 user-controls: Add separators between rows
Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #11
2020-02-25 10:31:38 +00:00
Philip Withnall ef6fc0a7f5 user-controls: Fix icon for ‘Restrict Applications’ button
Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #11
2020-02-25 10:31:24 +00:00
Philip Withnall 98395185e3 user-controls: Add full stops to end of control descriptions
They are sentences.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #11
2020-02-25 10:31:24 +00:00
Philip Withnall 5cff42e4d2 Merge branch 'linguas' into 'master'
po: Order LINGUAS alphabetically

See merge request pwithnall/malcontent!33
2020-02-25 10:17:50 +00:00
Philip Withnall 967d9f1bd0 po: Order LINGUAS alphabetically
This will make it a bit easier to maintain in future.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-25 10:15:15 +00:00
Philip Withnall da7b4b1be4 Merge branch 'add-pt_BR' into 'master'
Add Brazilian Portuguese translation

See merge request pwithnall/malcontent!32
2020-02-25 10:14:36 +00:00
Rafael Fontenelle 2572973153 Add Brazilian Portuguese translation 2020-02-24 19:46:09 -03:00
Philip Withnall 4e90d5c66a Merge branch 'fix-locale-dir' into 'master'
build: Fix definition of PACKAGE_LOCALE_DIR

See merge request pwithnall/malcontent!31
2020-02-21 09:48:36 +00:00
Philip Withnall 77beea2dfe build: Fix definition of PACKAGE_LOCALE_DIR
It was causing translations to be looked for in the wrong place.

Also hard-code `GETTEXT_PACKAGE` since it’s basically API now.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-21 09:45:47 +00:00
Philip Withnall 69bb421d18 Merge branch 'uk-add' into 'master'
Add Ukrainian translation

See merge request pwithnall/malcontent!30
2020-02-21 09:34:46 +00:00
Yuri Chornoivan 9080af21e3 Add Ukrainian translation 2020-02-21 09:34:46 +00:00
Philip Withnall f6fbccd10d Merge branch 'translatable-files' into 'master'
po: Add some missing files to POTFILES.in

See merge request pwithnall/malcontent!29
2020-02-19 16:25:05 +00:00
Philip Withnall ad07277e21 po: Add some missing files to POTFILES.in
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-19 16:22:57 +00:00
Philip Withnall b311727c43 Merge branch '9-icon' into 'master'
malcontent-control: Add scalable and symbolic icons

Closes #9

See merge request pwithnall/malcontent!28
2020-02-19 14:01:29 +00:00
Philip Withnall eef28da339 build: Add post-install script to update caches
Update the desktop, schema and icon caches.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #9
2020-02-19 13:58:09 +00:00
Philip Withnall b4eab1a7c0 malcontent-control: Add scalable and symbolic icons
Drawn by Jakub Steiner. Thanks!

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Fixes: #9
2020-02-19 13:46:03 +00:00
Philip Withnall 48b9839d04 Merge branch 'warning-fixes' into 'master'
user-selector: Fix some const-to-non-const cast warnings

See merge request pwithnall/malcontent!27
2020-02-19 13:40:51 +00:00
Philip Withnall 8da1088e9b user-selector: Fix some const-to-non-const cast warnings
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-18 12:08:42 +00:00
Philip Withnall cb27d75645 Release version 0.5.0
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-14 14:47:13 +00:00
Philip Withnall 33167e7767 Merge branch 'user-controls-without-user' into 'master'
Allow user controls to be used for not-yet-existing users

See merge request pwithnall/malcontent!24
2020-02-14 12:16:56 +00:00
Philip Withnall 1c033f82df user-controls: Allow widgets to be used without an `ActUser`
Allow the user controls widget to be used for user accounts which don’t
currently exist. This is necessary for using them in
gnome-initial-setup.

See the big new documentation comment at the top of the widget for
details of how the new semantics work.

This adds API, but does not break existing API.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-14 12:00:57 +00:00
Philip Withnall fc9ba76331 user-controls: Add some missing includes to the header
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall e4fbb570af user-controls: Add some missing documentation comments
The annotations in these fix some GIR warnings.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall 7dfd03907d user-controls: Split out app filter construction into a new method
This means that calling code can extract the app filter manually rather
than having to rely on the `MctUserControls` to save it. This will be
useful in a few commits’ time when support is added for using
`MctUserControls` for not-yet-created users.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall e3f923b294 user-controls: Don’t clear filter if updating it is a no-op
If `self->user == NULL`, don’t clear the app filter, as that leaves us
in a worse-off position than before.

Rename the method to make it clearer that it queries the filter from the
user.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall 3519ac2dc1 user-controls: Tweak the API of an internal helper function
Make it take a `MctUserControls` rather than a member of it. This
introduces no functional changes, but will make some upcoming
refactoring easier.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall 608444891f user-controls: Modernise GObject property code
This introduces no functional changes, but does make the code work
better with `-Wswitch-enum`.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall 0f2c8d6601 restrict-applications-selector: Drop unnecessary include
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall 6b45ad9f76 restrict-applications-dialog: Drop accountsservice dependency
Instead of taking an `ActUser` as a property of the
`MctRestrictApplicationsDialog`, take the display name which we would
have queried from it.

This will allow the restrict applications dialog to be used in
situations where an `ActUser` isn’t available, such as when setting the
parental controls for a yet-to-be-created user.

This breaks the `MctRestrictApplicationsDialog` API, but the previous
API hadn’t yet been released.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall acf402dcc5 restrict-applications-dialog: Allow :user to be set at any point
It doesn’t actually need to be construct-only.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall b98ec83e66 libmalcontent-ui: Add GIR dependency on libmalcontent
This was missing and causing some problems with GIR compilation for the
UI library.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-06 12:52:06 +00:00
Philip Withnall 106dc900c5 Merge branch 'libmalcontent-ui' into 'master'
Split widgets into separate library

See merge request pwithnall/malcontent!23
2020-02-04 11:42:16 +00:00
Philip Withnall 1f3f0a4560 libmalcontent-ui: Move widgets over from malcontent-control
They need to be re-used in gnome-initial-setup. The other widgets which
remain in malcontent-control don’t need to be used in g-i-s so can stay
where they are for now. They might move across to libmalcontent-ui later
if there’s a need for it.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-04 11:36:58 +00:00
Philip Withnall 3289a37317 libmalcontent-ui: Add initial skeleton for separate UI library
Moving the widgets out of malcontent-control means they can be reused in
other projects. In particular, I’m interested in reusing them in
gnome-initial-setup.

The new library will not build yet, but this introduces all the build
framework necessary for moving the source files over.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-04 11:36:58 +00:00
Philip Withnall 0607bfa196 build: Bump version to 0.5.0
So the versioning is right for developing against this unreleased
version.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-04 11:34:41 +00:00
Philip Withnall 2a3f0fd741 libmalcontent: Rework pkg-config file generation
Meson 0.49 has matured its pkg-config file generation a little, and the
API has subtly changed. The main library we’re building a pkg-config
file for is now passed as the first argument; and all dependencies can
be passed to `libraries`/`libraries_private`. Any dependencies which
provide pkg-config files will automatically be moved into the pkg-config
file’s `Requires`/`Requires.private` sections.

See https://mesonbuild.com/Pkgconfig-module.html#implicit-dependencies

This bumps our Meson dependency to ≥ 0.49.0.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-04 11:34:05 +00:00
Philip Withnall f64d4111f4 Merge branch 'parental-controls-app-iteration' into 'master'
Iterate on UI of parental controls app

See merge request pwithnall/malcontent!22
2020-02-04 11:28:02 +00:00
Philip Withnall 4054913dc2 malcontent-control: Fix losing user changes when apps are installed
If the user has the restrict applications dialogue open and has made
some changes, then installs/uninstalls a flatpak (for example) from
gnome-software in another window, then the list of apps in the restrict
applications dialogue will be reloaded and the user’s changes will be
lost.

Prevent that by not reloading when the set of installed apps changes.
This is not a long-term solution: ideally we’d diff the changes against
the list of apps in the restrict applications dialogue and only update
what’s changed.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:49:21 +00:00
Philip Withnall 591f63890b malcontent-control: Fix ‘Block Web Browsers’ label sense
The switch is actually controlling whether to allow web browsers, not
block them, and is enabled by default.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:33:04 +00:00
Philip Withnall 7fd8705f33 malcontent-control: Treat lack of GPermission as lack of permissions
Rather than assuming that having no GPermission means we do have
permissions, which was a little confusing and didn’t match other points
in the code.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00
Philip Withnall 32c7435b8d malcontent-control: Update an issue link in a FIXME comment
Since this code has moved out of our downstream g-c-c fork, the issue
tracking is now upstream, so update an issue link.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00
Philip Withnall 97dba87bdc docs: Update README to mention malcontent-control and its dependencies
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00
Philip Withnall 695ee10235 malcontent-control: Fix use-after-free when closing
Sometimes, when closing the application,
`flush_update_blacklisted_apps()` would be called after
`MctRestrictApplicationsSelector` had been destroyed, leading to a
critical.

This was because the `MctRestrictApplicationsDialog` was being disposed
early due to its `destroy-with-parent` property being set. The dispose
function of `MctUserControls` was run several times due to GTK calling
`g_object_run_dispose()`, and the critical would be emitted the second
time.

Make the dispose function’s call to `flush_update_blacklisted_apps()` be
safe for multiple dispose calls, and ensure the dialog isn’t destroyed
too early.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00
Philip Withnall 00bb439f6e malcontent-control: Fix use of an uninitialised variable in the carousel
`dest_x` is not set if `gtk_widget_translate_coordinates()` fails, which
it can do before the widget is realised.

This fixes a valgrind warning, but doesn’t change any user-visible
behaviour as far as I can tell.

This has been upstreamed to gnome-control-center as
https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/691.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00
Philip Withnall 2ab9924d8d malcontent-control: Hide administrator accounts
Children can’t be administrator accounts, otherwise applying parental
controls to them would be pointless and ineffective. So hide the
administrator accounts from the parental controls app.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00
Philip Withnall ee342d374b malcontent-control: Add MctUserSelector:show-administrators property
We don’t want to show administrators in the parental controls app,
since child accounts are not administrators (if they are, they are too
powerful to be constrained by parental controls).

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-02-03 17:29:17 +00:00