Commit Graph

593 Commits

Author SHA1 Message Date
Philip Withnall c6fd3c0ad3 Merge branch 'oars-csm-update' into 'master'
gs-content-rating: Backport OARS/CSM mapping changes from appstream-glib

Closes #21

See merge request pwithnall/malcontent!71
2020-06-09 10:10:45 +00:00
Philip Withnall 2d4e8e0012 gs-content-rating: Backport OARS/CSM mapping changes from appstream-glib
This is a backport of commit 01e9ee8113 from appstream-glib:

    as-content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense

    This rationalises it with the OARS/CSM mapping of
    sex-themes/intense, and with many western societal norms. It is
    against the laws and morals of various western countries to discriminate
    on sexual orientation, so the mappings for sex-homosexuality/intense and
    sex-themes/intense should be the same.

    The mappings for the other values of sex-homosexuality and sex-themes
    remain different, as their descriptions aren’t as comparable (for
    example, for `mild`, the descriptions are “Indirect references to
    homosexuality” vs “Provocative references or descriptions”).

    The sex-homosexuality ratings category does need to continue to exist,
    though, as it’s illegal in some countries to *not* discriminate on
    sexual orientation. Those countries can provide and maintain their own
    OARS/age mappings.

    See https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/21.
    This issue is now being solved in appstream-glib as the content rating
    code has been moved there so it can be shared between malcontent and
    gnome-software.

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

Fixes: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/21
2020-06-09 11:07:54 +01:00
Philip Withnall 14f0284a60 Merge branch 'content-rating-rationalisation' into 'master'
Use appstream-glib implementation of content rating systems

Closes #7

See merge request pwithnall/malcontent!70
2020-06-09 09:06:22 +00:00
Philip Withnall 52399e8d58 libmalcontent-ui: Use appstream-glib code for content rating systems
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
2020-05-21 16:25:21 +01:00
Philip Withnall 12c1718782 libmalcontent-ui: Fix inconsistencies in OARS → CSM mappings
This incorporates the following commits from gnome-software:
 • 4db48ef429501d86a45e87eaf8dd97e59dea0d58
 • a62b57a60f886a61c30f17b08277c1b826068a9d
 • 617f0de4f109efe319de36cbc42076e667578eda

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-21 16:14:09 +01:00
Philip Withnall 2a87b85fe1 libmalcontent-ui: Add an explicit array length argument to a function
This aligns the copy of the API here with what’s being proposed in
appstream-glib (https://github.com/hughsie/appstream-glib/pull/364). In
a few commits’ time, this copy will be deprecated.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-21 16:03:46 +01:00
Philip Withnall 150d303d39 fixup! libmalcontent-ui: Update content rating formatting code 2020-05-21 16:02:40 +01:00
Philip Withnall 9064babe6f fixup! libmalcontent-ui: Update content rating formatting code 2020-05-21 16:01:10 +01:00
Philip Withnall 6174eebd55 libmalcontent-ui: Drop an unused content rating function
This drops a load of translatable strings which aren’t used in
malcontent.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-21 12:34:46 +01:00
Philip Withnall a27f96517f libmalcontent-ui: Choose rating system by territory rather than language
This incorporates commit ed981f1d26f9a2c086eeccdee2909959de64f908 from
gnome-software, which ensures that content rating systems are chosen by
territory rather than language.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-21 12:31:41 +01:00
Philip Withnall 396dd3c039 libmalcontent-ui: Update content rating formatting code
This incorporates commit 7d00c4d84b2a47dd815dc88da1a82dc54800d4b6 from
gnome-software, which allows the ESRB strings to be localised.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-21 12:30:05 +01:00
Philip Withnall 77b8704cb4 Merge branch 'ui-tweaks' into 'master'
Two small UI tweaks

See merge request pwithnall/malcontent!69
2020-05-01 15:52:54 +00:00
Philip Withnall 9b3dedd9ed malcontent-control: Centre the user controls
This causes the controls on the main window to be centred at their full
width (when there’s enough window width to do so), rather than expanding
to fill the entire window.

It’s not currently possible with GTK+3 to easily set a maximum width
(of, say, 600px) to the column, without writing a custom widget (like
`HdyColumn` does).

From a suggestion by Nick Richards
(https://www.nedrichards.com/2020/04/endless-3.8.0-beta-1-trip-report/).

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-01 16:11:39 +01:00
Philip Withnall c835bcdc9a user-controls: Make whole ‘Restrict Applications’ row activatable
Previously, just the button at the end was activatable, but making the
whole row activatable makes it an easier hit target.

From a suggestion by Nick Richards
(https://www.nedrichards.com/2020/04/endless-3.8.0-beta-1-trip-report/).

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-05-01 15:20:09 +01:00
Philip Withnall 659d22ba34 0.8.0
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-28 14:07:37 +01:00
Philip Withnall 785c5d25cc Merge branch 'wip/jtojnar/meson-cleanups' into 'master'
Various meson cleanups

See merge request pwithnall/malcontent!50
2020-04-28 13:00:25 +00:00
Jan Tojnar 38c1170bda tests: Respect pamlibdir in installed tests
The build allows configuring pam module installation path but then it did
not respect it in installed tests.
2020-04-28 13:57:29 +01:00
Philip Withnall 01bf39cdc6 Merge branch 'i18n-lib' into 'master'
Fix translation of libmalcontent-ui

See merge request pwithnall/malcontent!68
2020-04-27 13:21:43 +00:00
Philip Withnall f856d46571 libmalcontent-ui: Explicitly state translation domains in UI files
This means the strings are always translated using the correct domain,
regardless of which program libmalcontent-ui is used in.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-27 12:11:39 +01:00
Philip Withnall 28d496926d libmalcontent: Add a constructor to bind the translation domain
This ensures that the translation domain is loaded for malcontent as
soon as the library is loaded.

The same is not needed for libmalcontent-ui, because it always causes
libmalcontent to be loaded.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-27 12:10:58 +01:00
Philip Withnall 3556813c55 libmalcontent-ui: Use library i18n functions
Rather than application i18n functions and `#include`s. This ensures
that the correct translation domain is used.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-27 11:55:10 +01:00
Philip Withnall 0d31a38855 Merge branch 'add-help-pt_BR' into 'master'
Add Brazilian Portuguese translation

See merge request pwithnall/malcontent!67
2020-04-27 10:40:11 +00:00
Rafael Fontenelle c98924480f Add Brazilian Portuguese translation 2020-04-24 14:19:14 -03:00
Philip Withnall 8b0f0ac23a Merge branch 'patch-1' into 'master'
Update Brazilian Portuguese translation

See merge request pwithnall/malcontent!66
2020-04-21 10:21:14 +00:00
Rafael Fontenelle 0155a10031 Update Brazilian Portuguese translation 2020-04-21 02:20:12 +00:00
Philip Withnall 110d80be70 Merge branch 'translator-comments' into 'master'
Add translator comments for about dialog strings

See merge request pwithnall/malcontent!65
2020-04-20 13:08:13 +00:00
Will Thompson a626236f59 Add translator comments for about dialog strings
When ordering commercial translations, at least one translator
translated these literally, eg "Sitio web de mal gusto" and
"créditos-de-traductor".

It's likely that translators familiar with GNOME would not make this
mistake, but let's be explicit anyway.
2020-04-20 13:47:22 +01:00
Philip Withnall e225ba8e96 Merge branch 'import-zh_TW' into 'master'
Import zh_TW translation from Endless

See merge request pwithnall/malcontent!64
2020-04-20 10:39:27 +00:00
Will Thompson b713180b59 Import zh_TW translation from Endless
These translations are taken from the eos3.7 branch of
gnome-control-center. I apparently missed these when importing the last
batch in 39bdde5, I think due to the empty zh_TW.po file generated by
`ninja malcontent-update-po` being in some broken encoding that polib
can't read. I tried a different approach here:

- Copy the file from gnome-control-center
- `ninja malcontent-update-po`
- Manually remove fuzzy and obsolete translations
- `ninja malcontent-update-po`
2020-04-17 23:18:24 +01:00
Philip Withnall ffbe93d91e Merge branch 'import-endless-translations' into 'master'
Import translations from Endless

See merge request pwithnall/malcontent!63
2020-04-16 09:31:08 +00:00
Philip Withnall 2c0eea4ce5 Merge branch 'no-more-subprojects' into 'master'
Remove use of libglib-testing subproject

See merge request pwithnall/malcontent!3
2020-04-15 14:31:45 +00:00
Philip Withnall d85126da9d build: Stop building libglib-testing as a subproject
Just add it as a dependency instead. It’s a lot less painful (git
submodules are still a pain to use; and `git evtag` doesn’t work well
with them); and libglib-testing has just done a 0.1.0 release which we
can depend on.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-15 15:03:39 +01:00
Philip Withnall d374ea676f ci: Switch from Fedora to Debian for CI
Debian Unstable now has libglib-testing packaged, which can be used to
avoid having to build it as a submodule. Otherwise, building on Debian
should be largely equivalent to building on Fedora.

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

Helps: !3
2020-04-15 15:02:33 +01:00
Will Thompson 39bdde59d6 Import translations from Endless
Much of this code previously lived in Endless's fork of
gnome-control-center, and so many strings had previously been translated
there. I imported a bunch of them from
https://github.com/endlessm/gnome-control-center/tree/eos3.7 as follows:

    cp ~/src/endlessm/gnome-control-center/po/LINGUAS po
    ninja -C _build/ meson-malcontent-update-po
    for x in po/*.po; do
        t3k copy ~/src/endlessm/gnome-control-center/$x $x
    done
    ninja -C _build/ meson-malcontent-update-po

Then manually reviewed the output from t3k to exclude languages where
only trivial translations such as "Help" were copied.

Many of these translations are for OARS rating descriptions, which are
actually originally from gnome-software, and were imported into our
gnome-control-center in a similar way. I have long been sad that these
strings were not present in some common shared library; hooray! now they
are.

[t3k]: https://gitlab.gnome.org/wjt/translate-o-tron-3000/
2020-04-15 13:57:55 +01:00
Philip Withnall 7813a3c40f Merge branch 'piotrdrag/malcontent-piotrdrag/pl-update-200412' 2020-04-14 14:37:07 +01:00
Piotr Drąg 6bc4383cce Add Polish help translation 2020-04-14 14:36:28 +01:00
Piotr Drąg f731994dc3 Update Polish translation 2020-04-14 14:35:50 +01:00
Philip Withnall 0a86c5ba93 Merge branch 'master' into 'master'
Added Indonesian help translation

See merge request pwithnall/malcontent!62
2020-04-14 13:31:12 +00:00
Andika Triwidada 19e9be56e3 Added Indonesian help translation 2020-04-14 13:31:12 +00:00
Philip Withnall 980f035ea9 Merge branch 'builder-problems' into 'master'
user-controls: Add a fallback bus connection

See merge request pwithnall/malcontent!60
2020-04-07 13:27:23 +00:00
Philip Withnall 28992ac7f3 user-controls: Add a fallback bus connection
This is a hack to allow `MctUserControls` to be used from `GtkBuilder`
templates, where it’s not possible to pass construct-only properties in
to the `MctUserControls` constructor. It’s not feasible to make
`MctUserControls:dbus-connection` not construct-only, because it gets
used to construct an `MctManager` which then subscribes to various
signals.

So for the cases where `MctUserControls` is used from a builder
template, the code has to connect to the system bus manually, which is
possibly (though unlikely) a blocking operation.

This fixes a critical warning when enabling parental controls in
gnome-initial-setup.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-07 12:52:15 +01:00
Philip Withnall 6f09483b4c libmalcontent: Clarify nullability of MctManager:connection
It’s not.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-07 12:52:15 +01:00
Philip Withnall b79e6c3589 Merge branch 'piotrdrag/pl-update-200405' into 'master'
Update Polish translation 200405

See merge request pwithnall/malcontent!56
2020-04-07 11:51:51 +00:00
Philip Withnall 784d8f495e Merge branch 'update_uk' into 'master'
Update Ukrainian translation + docs translation

See merge request pwithnall/malcontent!57
2020-04-07 11:51:42 +00:00
Yuri Chornoivan 4c6d77ff6d Update Ukrainian translation + docs translation 2020-04-07 09:06:54 +03:00
Philip Withnall 78d553bafd Merge branch 'meson-warnings' into 'master'
meson: bump minimum version to 0.50.0

See merge request pwithnall/malcontent!59
2020-04-06 13:46:25 +00:00
Philip Withnall fb176f8039 Merge branch 'header-bar' into 'master'
malcontent-control: Add a header bar and primary menu

See merge request pwithnall/malcontent!58
2020-04-06 13:33:41 +00:00
Will Thompson c7041f362a meson: bump minimum version to 0.50.0
WARNING: Project specifies a minimum meson_version '>= 0.49.0' but
    uses features which were added in newer versions:
     * 0.50.0: {'install arg in configure_file'}
2020-04-06 14:32:22 +01:00
Philip Withnall 99736b3f6c malcontent-control: Add a header bar and primary menu
This makes it easier to access the help and about dialogue, and brings
the application in line with the [GNOME
HIG](https://developer.gnome.org/hig/stable/header-bars.html.en).

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-04-06 12:38:11 +01:00
Jan Tojnar 0d60138e0a
build: Only update post-install caches when they exist
When building without UI, there are no icon or desktop files so there is no need to run the commands to refresh the caches.

It would be even nicer to move the postinstall script to the malcontent-control subdirectory but it really applies to the installation output of the whole project, not just the malcontent-control part.
2020-04-05 10:52:05 +02:00