Commit Graph

481 Commits

Author SHA1 Message Date
Philip Withnall d352fe2550 Merge branch '25-initial-screen' into 'master'
malcontent-control: Change wording on no-other-users page

Closes #25

See merge request pwithnall/malcontent!90
2020-12-08 16:37:04 +00:00
Philip Withnall 9335565fe3 malcontent-control: Change wording on no-other-users page
Clarify that a standard user account has to be created, and then
parental controls enabled for it — and that clicking the button will
open the control centre.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #25
Helps: #26
2020-12-08 16:35:07 +00:00
Philip Withnall 045ed2ec02 Merge branch '13-terminology' into 'master'
Resolve "Consider terminology of ‘parental controls’"

Closes #13

See merge request pwithnall/malcontent!99
2020-12-08 12:18:14 +00:00
Philip Withnall 351a7811e5 Merge branch 'appstream-glib-dep' into 'master'
Bump appstream-glib dep and update content rating code

See merge request pwithnall/malcontent!100
2020-12-08 12:18:09 +00:00
Philip Withnall 854ea21fb4 Merge branch 'csm-guidance' into 'master'
malcontent-control: Add link to guidance on how to set parental controls

See merge request pwithnall/malcontent!103
2020-12-08 12:18:07 +00:00
Philip Withnall 8a8405fc4e Merge branch 'use-case-docs' into 'master'
docs: Add a development principles section to the README

See merge request pwithnall/malcontent!104
2020-12-08 12:17:52 +00:00
Philip Withnall 2010898947 malcontent-control: Add link to guidance on how to set parental controls
Try and nudge parents/carers towards the best practice for how to set
parental controls on a user, by linking them to appropriate external
content from people who know what they’re talking about.

This external content can vary in the translations so that parents are
pointed to appropriate localised guidelines. In the UK, for example,
this may be
https://www.nspcc.org.uk/keeping-children-safe/online-safety/.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-12-04 11:58:06 +00:00
Philip Withnall 01e861f317 Merge branch 'uk_update3' into 'master'
Update Ukrainian translation

See merge request pwithnall/malcontent!107
2020-11-22 17:55:28 +00:00
Yuri Chornoivan e50c0c58d6 Update Ukrainian translation 2020-11-22 17:55:28 +00:00
Philip Withnall 34c774addc Merge branch '30-drop-user-repos' into 'master'
malcontent-control: Drop ‘Restrict Application Installation for Others’

Closes #30

See merge request pwithnall/malcontent!105
2020-11-21 22:37:28 +00:00
Philip Withnall 60a46fb623 Merge branch 'patch-1' into 'master'
Update Danish translation

See merge request pwithnall/malcontent!106
2020-11-18 09:38:58 +00:00
scootergrisen b71424a4e2 Update Danish translation 2020-11-18 09:38:58 +00:00
Philip Withnall cd36d90091 malcontent-control: Drop ‘Restrict Application Installation for Others’
This simplifies the UI, as nobody really understood the difference
between ‘Restrict Application Installation’ and ‘Restrict Application
Installation for Others’. Now there’s just a ‘Restrict Application
Installation’ checkbox, which controls application installation in the
home and system flatpak repos.

The underlying app-filter representation in libmalcontent still supports
restricting installation to them separately, but the UI will always set
them to the same value.

There is a suggestion that we may want to support user repos again in
future iff the user has added a remote to their user repo. However,
figuring that out for other users (which is what the admin would have to
do when setting this all up) starts to get tricky with permissions for
reading other users’ home directories. Skip that for the moment — we can
reconsider adding that option in future if someone argues a case for it.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #30
2020-11-15 17:31:21 +00:00
Philip Withnall 07ee189e2c docs: Add a development principles section to the README
This documents some development principles which should be borne in mind
when working on new malcontent features.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-05 11:37:11 +00:00
Philip Withnall 8e65091fc2 Merge branch 'app-filter-unchanged' into 'master'
user-controls: Only save the app filter if it’s changed

See merge request pwithnall/malcontent!102
2020-11-04 09:50:05 +00:00
Philip Withnall cac7ba414c user-controls: Only save the app filter if it’s changed
This prevents a polkit authentication prompt popping up unexpectedly if,
for example, a non-privileged user has opened and immediately closed
malcontent-control.

Spotted by Andre Moreira Magalhaes.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-03 17:49:00 +00:00
Philip Withnall ecd541b2e9 libmalcontent: Add mct_app_filter_equal() comparison method
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-03 17:49:00 +00:00
Philip Withnall a045e9fc51 Merge branch 'ui-load-saved-app-filter' into 'master'
Fix partial loss of parental controls settings when partially updating them

See merge request pwithnall/malcontent!101
2020-11-02 13:31:08 +00:00
Philip Withnall ecfb3035d5 libmalcontent-ui: Load restricted apps and OARS when loading app filter
While the label for the OARS pseudo-combobox was updated when loading a
user’s app filter, the internal state (`self->selected_age`) was not.
Similarly, the set of restricted apps wasn’t loaded until the restricted
apps dialog was opened.

This caused problems when loading a user’s parental controls and then
editing a control which *wasn’t* restricted apps or the OARS level. The
resulting app filter would be built using default values for those two
controls, overwriting and losing their previous values when it was
saved.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-29 19:22:13 +00:00
Philip Withnall e7588a2333 libmalcontent-ui: Sync switches with app filter when loading selector
Since the changes to avoid reloading the app list entirely when loading
an app filter (commit 9d4639cf49), the switch states haven’t been set
properly when loading a new app filter, since the app rows already
exist, and the switch states were only set on creation.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-29 19:20:14 +00:00
Philip Withnall fc5432205c gs-content-rating: Backport OARS/CSM mapping changes from appstream-glib
This is a backport of commit f742cc3cf2428 from appstream-glib:

    as-content-rating: Align the OARS/CSM mappings of sex-*

    Align the OARS/CSM mappings of sex-homosexuality and sex-themes, as the
    two are identical apart from discriminating on sexual orientation.

    This is a follow-up to commit 01e9ee8113a8ad.

    Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-29 15:13:09 +00:00
Philip Withnall 1371e1c819 libmalcontent-ui: Bump appstream-glib dependency to ≥ 0.7.15
This allows some (but not all) of the fallback code to be dropped.
appstream-glib 0.7.17 is available on all versions of Fedora and Debian
which malcontent is packaged for:
 • https://packages.debian.org/search?suite=bullseye&searchon=names&keywords=appstream-glibhttps://src.fedoraproject.org/rpms/libappstream-glib

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-29 15:10:00 +00:00
Philip Withnall f791ded58f docs: Document terminology used in the project
This is to be referred to by developers when working on the project, and
documents the decisions behind the terminology used.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #13
2020-10-28 17:01:44 +00:00
Philip Withnall ac2ed2c21a docs: Tidy up wording in DOAP file
We’re standardising on ‘parental controls’ as terminology, and moving
away from explicitly referring to ‘children’.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #13
2020-10-28 16:35:18 +00:00
Philip Withnall d31d021896 help: Clarify that parental controls can be used in other situations
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #13
2020-10-28 16:34:42 +00:00
Philip Withnall e1cd202ad5 Merge branch '4-manpage' into 'master'
Resolve "Add manpage docs for malcontent-client monitor, set and oars-section commands"

Closes #4

See merge request pwithnall/malcontent!98
2020-10-27 18:28:31 +00:00
Philip Withnall c40d5ff9b4 malcontent-client: Add newer subcommands and examples to man page
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #4
2020-10-27 18:26:51 +00:00
Philip Withnall 194fef286e malcontent-client: Update support URI in man page
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #4
2020-10-27 18:26:32 +00:00
Philip Withnall adbf176186 Merge branch 'piotrdrag/pl-update-201025' into 'master'
Update Polish translation 201025

See merge request pwithnall/malcontent!96
2020-10-26 09:55:39 +00:00
Piotr Drąg cbf0586fe8 Update Polish translation 2020-10-25 09:26:13 +01:00
Philip Withnall 540c337ae1 Merge branch '19-select-user' into 'master'
Resolve "Add command line option to malcontent-control to pre-select a user"

Closes #19

See merge request pwithnall/malcontent!95
2020-10-22 13:38:22 +00:00
Philip Withnall b6a0b14cdd Merge branch '28-empty-app-list' into 'master'
Fix several issues with the app list in the restrict applications dialogue

Closes #28 and #18

See merge request pwithnall/malcontent!92
2020-10-20 18:14:18 +00:00
Philip Withnall 93b88af0c1 libmalcontent-ui: Reload the app list when it changes on the system
This will no longer destroy in-progress user input.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #18
2020-10-20 19:13:01 +01:00
Philip Withnall e1b5bcd324 libmalcontent-ui: Load the app list when constructing the apps selector
Rather than waiting until an app filter is set on the application
selector, load the app list immediately at construction time. This is
now possible because it can be diffed easily when the app filter is set.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #28
2020-10-20 19:13:01 +01:00
Philip Withnall 9d4639cf49 libmalcontent-ui: Cache and diff the app list when rebuilding it
Instead of removing all the entries in the list store when the set of
installed apps is updated, diff the old and new lists so that removed
apps can be selectively removed from the list store, and added apps can
be selectively added.

This means that we can (in subsequent commits) reload the app list less
conservatively, as doing so will no longer remove in-progress user
modifications to the set of blocked apps. Modifications are still only
saved when the restrict applications dialogue is closed.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #18, #28
2020-10-20 19:13:01 +01:00
Philip Withnall 60754b6745 build: Bump version for new release series
This will allow g-c-c to check for version 0.10 at compile time.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-20 12:41:05 +01:00
Philip Withnall db54baf9d6 malcontent-control: Add a --user command line argument
This is handled on the primary instance, and causes the tab to be
switched to show the given username (if possible).

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #19
2020-10-19 17:55:47 +01:00
Philip Withnall 5efc773bda malcontent-control: Add API to select users by username
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-19 17:54:37 +01:00
Philip Withnall 887b8c9b9b Merge branch 'piotrdrag/pl-update-201018' into 'master'
Update Polish translation 201018

See merge request pwithnall/malcontent!94
2020-10-19 09:39:41 +00:00
Philip Withnall 03f207965b Merge branch 'uk_update3' into 'master'
Update Ukrainian translation

See merge request pwithnall/malcontent!93
2020-10-19 09:39:23 +00:00
Piotr Drąg 4e9c95e3fe Update Polish translation 2020-10-18 13:15:20 +02:00
Yuri Chornoivan faa0fa94d8 Update Ukrainian translation 2020-10-17 16:57:43 +03:00
Philip Withnall 1d5da7c094 libmalcontent-ui: Adjust the app list sort to be more stable
This doesn’t achieve anything by itself, but makes some upcoming commits
to diff the new/old app lists work properly.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #18, #28
2020-10-15 16:40:10 +01:00
Philip Withnall d01f063c39 libmalcontent-ui: Add g_autolist() to simplify memory management
This introduces no functional changes.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-15 15:09:11 +01:00
Philip Withnall 792a069736 Merge branch 'string-rationalisation' into 'master'
libmalcontent: Rationalise a couple of translatable strings

See merge request pwithnall/malcontent!91
2020-10-15 13:56:12 +00:00
Philip Withnall ee290a21e6 libmalcontent: Rationalise a couple of translatable strings
Following on from commit b5b1ac2, change a couple of other strings to be
the same to reduce the number of translatable strings. These strings are
unlikely to ever be seen by the user, so it’s not an issue that they’re
becoming a little less specific.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-10-15 14:54:46 +01:00
Philip Withnall ba5dccfde0 Merge branch 'wip/tolerate-no-accountsservice' into 'master'
manager: Return MCT_MANAGER_ERROR_DISABLED if no accountsservice

Closes #27

See merge request pwithnall/malcontent!89
2020-10-15 13:52:45 +00:00
Simon McVittie b5b1ac26a2 manager: Make an error message less specific
Philip Withnall pointed out that if mct_manager_get_session_limits()
fails with G_DBUS_ERROR_ACCESS_DENIED or
org.freedesktop.Accounts.Error.PermissionDenied, the error message
will wrongly refer to app filter data. Make it more generally applicable.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-10-15 09:05:56 +01:00
Simon McVittie 1abce3eb91 manager: Return MCT_MANAGER_ERROR_DISABLED if no accountsservice
In distributions that package shared libraries and daemons separately,
it's possible to have the shared library (because it's required to run
something like Flatpak) but not the accountsservice daemon or its
malcontent extension (because the administrator of this particular
installation has no interest in parental controls, and their choice of
desktop environment is such that nothing else depends on accountsservice
either). This minimizes the memory and disk space cost of enabling the
libmalcontent feature in Flatpak for those who do not need it, while
keeping it available for those that do.

Treat this the same as if accountsservice is available but the
malcontent extension is not: fail open, by returning
MCT_MANAGER_ERROR_DISABLED.

Resolves: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/27
Bug-Debian: https://bugs.debian.org/972145
Signed-off-by: Simon McVittie <smcv@debian.org>
2020-10-15 09:04:13 +01:00
Philip Withnall 5c0a7bf056 Merge branch 's1' into 'master'
Add Danish translation

See merge request pwithnall/malcontent!88
2020-10-12 11:13:39 +00:00