Display: only show applicable global scales

When we are in global-scale mode, as per mutter limitations (see mutter#407 (closed), fixed in mutter!336 (merged)) it's not possible to change the scale together with the resolution, nor all available resolutions per monitor are shown.

As per mutter!336 (merged) exports all the scaling values even in global-scale mode, and so it's up to control-center to only expose the ones that are available in all configurations when this happens.

As bonus point, we can now reuse the same code to do checks for mirrored mode, and add a scaling row in such case too.

While the proper fix will show up when both mutter and g-c-c lands, this branch has no strict dependency on the related mutter MR, since there are no API or behavior changes.

Improves mutter#407 (closed) Fixes #297 (closed)

Edited by Marco Trevisan

Merge request reports