malcontent-control: Move the app restrictions into a separate dialogue

Rather than having a scrollable listbox within a scrollable list of
widgets, move the listbox out to a separate dialogue.

This involves separating out all the code to query the apps, to get and
to set the app filter, from `MctUserControls` out into the new
`MctRestrictApplicationsSelector`. Most of it is unchanged, aside from
its interaction with the filter: the filter is now provided to the
widget by the calling code, rather than being queried by the widget
itself. The widget’s status can be queried into an
`MctAppFilterBuilder`, rather than being used to set the app filter
directly.

This commit redesigns the appearance of the relevant widgets in the main
window so that they follow the new list-box-like visual design. A
following commit will apply similar changes to the other widgest in the
main screen.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
Philip Withnall 2020-01-28 14:16:40 +00:00
parent 93d18ed2a9
commit bffab0942f
12 changed files with 1550 additions and 529 deletions

View file

@ -19,6 +19,10 @@ malcontent_control = executable('malcontent-control',
'gs-content-rating.c',
'gs-content-rating.h',
'main.c',
'restrict-applications-dialog.c',
'restrict-applications-dialog.h',
'restrict-applications-selector.c',
'restrict-applications-selector.h',
'user-controls.c',
'user-controls.h',
'user-image.c',
@ -90,6 +94,8 @@ if xmllint.found()
files(
'carousel.ui',
'main.ui',
'restrict-applications-dialog.ui',
'restrict-applications-selector.ui',
'user-controls.ui',
'user-selector.ui',
),