> 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