Diffusion KWin 87150816c74f

[libinput] Rework device config writing and save enum of ScrollMode as integer

Authored by romangg on Nov 22 2016, 6:18 PM.

Description

[libinput] Rework device config writing and save enum of ScrollMode as integer

This is a larger patch rewriting some parts of the config saving functionality
in device.cpp in order to:

  1. Make it possible to save ScrollMode as integer instead of using three booleans
  2. Simplify the addition of new keys or types in the future

Changes in detail:
a) Adds new ConfigKey ScrollMethod and removed now unnecessary keys per method
b) Adds constructors to the ConfigData struct. This allows to create ConfigData

entries for s_configData without the need of stating empty brackets and the
useage of default values.

c) Use plain member function pointers instead of std::function, in order to

compactify code and have better compile output in case something goes wrong.

c) Cleans up ScrollMethod functions and adds interface methods for transforming

the saved integer into type enum libinput_config_scroll_method.

d) Adjusts auto test for loading the ScrollMethod value from the config file.

Reviewers: KWin, graesslin

Subscribers: kwin

Tags: KWin

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