bug: 186930, 186938
In the past, in order for PlayIcon to be correctly highlighted with the theme,
the pixmap was reset according to the current state each time it was drawn.
However, this is a very wrong choice, it's causesed CPU usage to increase.
Pixmap should be updated when the checked state or theme changes.
The update rules for pixMap are:
1. System style change
2. Icon theme change
3. The checked state changed
In the past, touchpad plugin and touchscreen plugin all monitor icon theme
change for update icon of GestureWidget, they shouldn't care it, GestureWidget
should monitor it by self.
bug: 168990 168946 155293 155228
The GestureWidget inherits QPushButton for style of three-state,
and we add a layout with two label in the native QPushButton.
When the font size bigger, GestureWidget‘s sizeHint will not bigger
with font size change, so we overwrite the sizeHint().
Then by design, our GestureWidget requires a height of 64 by default,
but if we use minimumHeight, the GestureWidget is set to the
minimum height by default when it is placed in the scrollarea, so
we set the default height of the GestureWidget by override
minimumSizeHint().
Touchpad is a QtPlugin class, it shouldn't care how to find touchpad device,
so move the code about device to a other class.
At the same time, optimize the file include of files about touchpad settings.
in the past, InitUI() took on too many responsibilities, that's why we've modularized each of these parts
to make it more consistent with the single responsibility principle and to increase readability.
the location of some strings was changed, so we updated the translation file.
some x11 libs provide anonymity struct which can't
forward declaration, so we use the TouchPadX11Helper
encapsulates the x11 interface for isolate the impact
of these APIs on other parts.
In xwayland, if exits touch device, xwayland will create a virtual touch device of xinput,
if we unplug the touch screen, the virtual touch device will not be removed but disable,
so we need monitor device enable/disable event.
bug: 162709 【触摸屏】最大号字体下鼠标点击选中任一手势后,移入省略文字后tips提示文字看不清
detail: tooltip highlight because don't designated type when tooltip's parent widget
setStyleSheet.