Review Request: Fix for CTRL+Tab not switcing tabs in Konqueror when the active tab is a Dolphin filemanagement part

Frank Reininghaus frank78ac at googlemail.com
Sat Sep 29 17:39:17 BST 2012



> On Sept. 28, 2012, 5:42 p.m., David Faure wrote:
> > dolphin/src/kitemviews/kitemlistview.cpp, line 871
> > <http://git.reviewboard.kde.org/r/106569/diff/2/?file=87267#file87267line871>
> >
> >     This strikes me as wrong. Why should this widget's event(QEvent*) change the default state of ALL events ?!? No widgets do that, anywhere.
> 
> David Faure wrote:
>     For instance, this would break "closing" such a widget (if it was a toplevel).
>     
>     ignore() all key events, OK (like QWidget::keyPressEvent does). But not *all* events.
> 
> Dawit Alemayehu wrote:
>     Right. That is why I just fixed it. See http://commits.kde.org/kde-baseapps/b3789357335cbbb100b4a089ee7723078e5d219f.
> 
> David Faure wrote:
>     Much better, thanks.
>     
>     (Sorry for the race condition between reading k-c-d and kde-commits ;) Didn't happen in the old days before reviewboard ;)
> 
> Frank Reininghaus wrote:
>     Thanks Dawit and David for noticing that this must be fixed in a better way! It seems that my knowledge of Qt's event handling is even more limited than I thought. I thought that ignoring an event is the way to go if we don't handle it inside the class, and I can't see right now why the first commit broke things like drag&drop, but maybe I should think about it again tomorrow after getting some sleep :-)
>     
>     Anyway, the 4.9.2 packages unfortunately contain the bad commit. I'll send a message to the release-team and packagers mailing lists to inform them about the issue.
>     
>     Thanks again for your help. That shows me that I should probably add a couple more unit tests to cover the basic things...
> 
> David Faure wrote:
>     Some events are accepted by default, some are ignored by default (= before being sent to the widget).
>     
>     Propagation happens [for the type of events that do propagate] if the event is ignored and event() returns true.

Thanks for explaining, David! Just for the record: the 4.9.2 packages were updated with Dawit's fix, so nobody will suffer from the temporary regression.


- Frank


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106569/#review19524
-----------------------------------------------------------


On Sept. 26, 2012, 12:53 p.m., Dawit Alemayehu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106569/
> -----------------------------------------------------------
> 
> (Updated Sept. 26, 2012, 12:53 p.m.)
> 
> 
> Review request for Dolphin and KDE Base Apps.
> 
> 
> Description
> -------
> 
> This patch fixes a bug where pressing CTRL+Tab does not switch tabs when active tab in Konqueror is a Dolphin's filemanagement part. It happens because DolphinView installs an event filter and does not call event->ignore() or event->setAccepted(false) to allow those events to be propagated up the event chain.
> 
> 
> This addresses bug 302329.
>     http://bugs.kde.org/show_bug.cgi?id=302329
> 
> 
> Diffs
> -----
> 
>   dolphin/src/kitemviews/kitemlistview.cpp 54a8cbf 
> 
> Diff: http://git.reviewboard.kde.org/r/106569/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dawit Alemayehu
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20120929/c7cb57d7/attachment.htm>


More information about the kde-core-devel mailing list