Bug 315346

Summary: Reaching Submenus Not So Easy
Product: [Frameworks and Libraries] kdelibs Reporter: Tsu Jan <tsujan2000>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED UPSTREAM    
Severity: normal CC: cfeck, hugo.pereira.da.costa, hugo
Priority: NOR    
Version: 4.8.4   
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In:

Description Tsu Jan 2013-02-17 22:08:45 UTC
I recently noticed that opening submenus in KDE apps is sometimes not as easy as in GTK+ apps. I try to explain the reason:

In GTK+, the menuitem below or above the currently selected one won't be selected unless the mouse pointer leaves the currect menuitem almost vertically. While in KDE, even if the pointer leaves the currently selected menuitem within a small horizontal angle to reach some item on an opened submenu, that submenu might be closed because the pointer might pass over another menuitem below or above the selected one. So, the only safe way to reach an item on a submenu is to move the pointer first horizontally and then vertically, which isn't so easy.

Reproducible: Always

Steps to Reproduce:
1. Select a menitem with submenu.
2. Move the mouse pointer toward the submenu not exactly horizontally.
Actual Results:  
The submenu may dissapear before any of its items is selected.

Expected Results:  
The submenu shouldn't dissapear if the pointer movement is within a small horizontal angle.
Comment 1 Christoph Feck 2013-02-17 22:49:35 UTC
Menus are handled by the Qt library. If this is an issue with a recent Qt version (4.8.x), please report directly to Qt developers via https://bugreports.qt-project.org/
Comment 2 Tsu Jan 2013-02-17 23:00:51 UTC
Hello,

This isn't a recent issue. I recently migrated to KDE from Gnome and, at last, found why KDE and Qt menus behave so. However, I'd seen the same behavior with KDE 3.

It's not a big issue but moving the pointer along the hypotenuse is the most natural thing to do; Isn't it?
Comment 3 Tsu Jan 2014-05-23 10:01:19 UTC
Just for reference:
It's related to Oxygen and not kdelibs. At least with my own theme engine instead of Oxygen, setting QStyle::SH_Menu_SloppySubMenus to true fixed the issue.
Comment 4 Christoph Feck 2014-05-23 11:20:06 UTC
Hugo, could you check comment #3?
Comment 5 Hugo Pereira Da Costa 2014-05-25 12:24:16 UTC
Hi Christoph,
tested setting the mentionned stylehint. I agree that submenu poppign up is somewhat less erratic so I guess I'll set this to true and commit.
I have not noticed "clear" regressions that would cause people that where used to the "old" behavior to complain ...
Comment 6 Hugo Pereira Da Costa 2014-05-28 14:11:20 UTC
Git commit 1b126fb88ea9a36ff1cd98c45b77a278a537270b by Hugo Pereira Da Costa.
Committed on 28/05/2014 at 14:10.
Pushed by hpereiradacosta into branch 'master'.

set to true the (infamous) SH_Menu_SloppySubMenus flag.
This ease submenu popping.

M  +1    -0    kstyle/oxygenstyle.cpp

http://commits.kde.org/oxygen/1b126fb88ea9a36ff1cd98c45b77a278a537270b
Comment 7 Hugo Pereira Da Costa 2014-05-28 14:24:19 UTC
Git commit 0e7e5b0bbce6495cd7dfe6c096b9bd8a6b3fbde4 by Hugo Pereira Da Costa.
Committed on 28/05/2014 at 14:24.
Pushed by hpereiradacosta into branch 'KDE/4.11'.

set to true the (infamous) SH_Menu_SloppySubMenus flag. This ease submenu popping.

M  +1    -0    kstyles/oxygen/oxygenstyle.cpp

http://commits.kde.org/kde-workspace/0e7e5b0bbce6495cd7dfe6c096b9bd8a6b3fbde4