Bug 424861

Summary: Zoom control is very difficult on laptops a with touchpad
Product: [Applications] umbrello Reporter: Robert Hairgrove <code>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED NOT A BUG    
Severity: normal    
Priority: NOR    
Version: Git   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Robert Hairgrove 2020-07-31 13:49:25 UTC
SUMMARY
On laptop computers with touchpads, the slightest gesture sometimes causes big jumps in the zoom factor.

STEPS TO REPRODUCE
1. Create a new diagram
2. Add an object
3. Try to move or resize the object using the touchpad

OBSERVED RESULT
Zoom can go from 100% to minimum (5%?) with barely any motion.

EXPECTED RESULT
No zoom action unless the slider is moved.

SOFTWARE/OS VERSIONS
Linux Ubuntu 18.04.4
(available in About System)
Qt Version: 5.12.9

ADDITIONAL INFORMATION
As mentioned on the mailing list, I discovered that it is possible to ignore the overloaded QGraphicsView::wheelEvent() (in the file umlview.cpp) by simply returning from the function at the beginning of the method body. Since the wheel event zooming is probably a useful feature when there is actually a mouse wheel, either the program should be able to automatically determine whether zooming with the wheelEvent is appropriate or not. If it is not possible to automatically determine (since Qt is sending wheel events from the touchpad), I would suggest having a settings option in the GUI to turn this behavior on or off.
Comment 1 Robert Hairgrove 2020-08-06 12:32:52 UTC
In the meantime, I have discovered that the unwanted zooming disappears if the touchpad is touched at the lower left corner while dragging with the other hand. Apparently, the system sends mouse wheel events to Umbrello but only if the upper left corner is involved.

The option remains as whether or not to make this a configurable feature? IOW, a check box that the user can set to completely ignore the wheel event? It is always possible to zoom by using the slider or the spin box at the bottom right of the view.