The old code would not sync the state when the page was loaded. Also,
due to how the code was written, it would not update the switch state if
the underlying setting was changed in some other way.
Fix this by connecting the setting with the "state" of the switches.
When the switches "active" property is changed, update the underlying
setting and ensure the mutually exclusive switch is turned off when
needed.
Fixes#398
The Touchpad section looks like a single listbox
so let's handle it that way too.
This eliminates an unnecessary split in the touchpad
section that is noticeable when navigating with a keyboard.
When a touchpad supports it. When the option is set, it will
automatically disable two-finger scrolling.
The scrolling method used by each individual touchpad is implemented in
mutter, not here.
https://bugzilla.gnome.org/show_bug.cgi?id=761461
The GtkBox>GtkListBoxRow>GtkListBox hierarchy is unnecessary, also
remove the GtkSeparator from the GtkListBox and move it into the GtkBox,
so the width matches that of the GtkListBox (it missed 2px on either
side before).
https://bugzilla.gnome.org/show_bug.cgi?id=764503
Since we don't support the synaptics driver anymore we shouldn't show
the touchpad section in that case. In addition, emit a warning so that
this system mis-configuration is easier to diagnose.
https://bugzilla.gnome.org/show_bug.cgi?id=764257
The two-finger scroll method will be enabled in all cases
(see bgo#759304). When a touchpad without two-finger scrolling
support but with edge scrolling support is available, show the
switch.
Also bump the required gsettings-desktop-schemas version for
the new key.
https://bugzilla.gnome.org/show_bug.cgi?id=759307
Fixes the situation where you unplug a touchpad device which
supports two-finger-scrolling and plug in another one with
edge-scrolling only, we would have two switches. These entries
are mutually exclusive.
https://bugzilla.gnome.org/show_bug.cgi?id=756863
Two finger scroll toggle should be sensitive if at least one of the
devices support it. g-s-d is responsible to set edge-scroll for the
devices which don't support double touch.
https://bugzilla.gnome.org/show_bug.cgi?id=745601
Most peripherals settings have been moved to
gsettings-desktop-schemas.
There are some semantic differences:
* pointer and touchpad speed is now a single value in the [-1..1]
range (from "unaccelerated" to "fast"). A value of 0 is the default;
* touchpad enabled is now an enum which can be enabled, disabled or
disabled-on-external-mouse. This patch keeps the same UI so the last
value is the same as disabled in the UI and can't be set for now;
* disable while typing is now always enabled so the checkbox has been
removed;
* horizontal scrolling is always enabled when two finger scroll is
disabled. It wasn't in the UI but we no longer need to set it since
it doesn't exist anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=743194
On touchscreen machine, if the trackpad was previously disabled using mouse
which isn't present now, there is no way to enable it. It now shows the slider
when trackpad is disable or if mouse/touchscreen is present.
Fixes bug #703946