> On May 13, 2015, 7:51 a.m., Boudewijn Rempt wrote:
> > Thanks! As you said, we're sloppy checking for what particular mouse events 
> > mean, but I wonder though whether checking for QEvent::ContextMenu in bool 
> > KisDocumentSectionView::viewportEvent(QEvent *e) wouldn't help?
> 
> Victor Wåhlström wrote:
>     If that could be done it would indeed be a better solution for fixing 
> this particular bug, or at least it wouldn't cause a change in behaviour 
> (however minor). This was actually the first thing I tried.
>     
>     Sadly, ContextMenu events are processed after MouseButtonPress events, so 
> by the time we know that the context menu was triggered, the icon has already 
> been toggled. If I could inspect the QApplication event queue, this may still 
> be feasible; check if there is a ContextMenu event in the queue and early 
> out, but as far as I know there's no way to inspect the event queue (correct 
> me if I'm wrong, because that would be useful!)
>     
>     Another thought is whether we want arbitrary mouse clicks to toggle 
> buttons/icons? Typical UI convention dictates that only the primary mouse 
> button does this. Looking at the code it appears that Qt::LeftButton is 
> assumed to be the primary button, but if this is defined somewhere I'd much 
> rather use that!
>     
>     An alternative solution is to check for ContextMenu events and simply 
> discard them if MouseButtonPress has been processed. This would mean that the 
> context menu can't be used while the cursor is above an icon. And as 
> mentioned I'm not sure we want to toggle icons on what is traditionally used 
> as the context menu button, unless we have a valid use-case for that.

Yes, you're right. That's going to be tricky. I'll push this patch now, thanks!


- Boudewijn


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123764/#review80279
-----------------------------------------------------------


On May 13, 2015, 3:18 a.m., Victor Wåhlström wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123764/
> -----------------------------------------------------------
> 
> (Updated May 13, 2015, 3:18 a.m.)
> 
> 
> Review request for Calligra and Boudewijn Rempt.
> 
> 
> Bugs: 347541
>     http://bugs.kde.org/show_bug.cgi?id=347541
> 
> 
> Repository: calligra
> 
> 
> Description
> -------
> 
> This patch limits mouse click interaction with icons to left mouse button.
> 
> Note: This fix assumes that context menu events are triggered via right mouse 
> button. This is in theory OS specific, but it looks like other code is 
> already making this assumption.
> 
> 
> Diffs
> -----
> 
>   krita/ui/KisDocumentSectionDelegate.cpp 2efde33 
> 
> Diff: https://git.reviewboard.kde.org/r/123764/diff/
> 
> 
> Testing
> -------
> 
> I haven't done extensive testing outside of the layers widget. Worst case 
> it'll disable middle mouse button and right mouse button as alternatives for 
> clicking on icons, which should be fine.
> 
> Context menu events are handled elsewhere and still works as expected.
> 
> 
> Thanks,
> 
> Victor Wåhlström
> 
>

_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to