allow changing an output's modelist at runtime

Authored by sebas on Oct 19 2016, 9:36 PM.

Description

allow changing an output's modelist at runtime

This should fix running Plasma in a windowed virtual machine, when the window is
resized, the mode list changes, and libksreen can't currently handle that.

Summary:

  • make Output::modes() non CONSTANT, add modesChanged() signal
  • compare the mode lists and set the new one
  • queue an outputChanged signal when applied
  • autotest for modelist changes
  • update the mode list on RRNotify events

BUG:356864

Test Plan:

  • for library part, autotests are added
  • for xrandr backends, we can't sensibly autotest this :(

Reviewers: Plasma, mart

Reviewed By: mart

Subscribers: graesslin, plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D3117