Make it an AdwBin subclass. Purge all GtkContainer usage, and expose
GTK4-inspired API to add items to the carousel, and also to control
the internal GtkRevealer.
Depend on libappstream-dev, and include appstream.h instead of
appstream-glib.h.
We can depend on a new enough version of libappstream that all the
content rating symbols we need are available, which means that
`gs-content-rating.[ch]` can be dropped entirely.
Turns out no code changes are needed other than that.
Fixes: #51
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>
Replace usages of the terms whitelist and blacklist with the more
inclusive and more precise terms allowlist and blocklist, which are
actually also more consistent with parts of the codebase, e.g.
mct_app_filter_is_content_type_allowed().
The only API break here is in libmalcontent/app-filter.h but the
relevant API is not used anywhere else in Endless OS beyond this repo,
nor to my knowledge in any other distribution. Also, per the README,
this project's API is not stable, so now is a good time to make this
change.
If a suitably new version of appstream-glib is available, use its
implementation of content rating systems (see
https://github.com/hughsie/appstream-glib/pull/364), rather than our
forked one.
This adds a dependency on libappstream-glib, but no particular version.
Eventually, our copy of `gs-content-rating.[ch]` can be dropped.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Fixes: #7
Some of the files in `malcontent-control` are GPL-2.0+.
Use the latest SPDX identifiers in the machine-readable data in
meson.build, but use the deprecated ‘+’ form in the README since it’s a
little more human friendly.
See https://spdx.org/licenses/.
Signed-off-by: Philip Withnall <withnall@endlessm.com>