Review Request: Correctly trigger executed signal of KListWidget for both single click and double click.

Yichao Yu yyc1992 at gmail.com
Sat Dec 22 19:46:10 GMT 2012


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

(Updated Dec. 22, 2012, 7:46 p.m.)


Review request for kdelibs and Stephan Kulow.


Description (updated)
-------

When clicking on a item in a KListWidget, the `executed` signals is not correctly emitted.
If the system-wide setting is to use single click, only `executed( QListWidgetItem *item )` is emitted (once).
If the setting is to use double click, `executed( QListWidgetItem *item )` will be emitted twice and `executed( QListWidgetItem *item, const QPoint &pos )` is emitted once, which cause the edit note dialog in Kontact_KNotePlugin to popup a second time right after close in some cases.

This patch fixes the problem. It is a little hacky but there isn't another easy way to get the position of the single click event except overriding the mouseReleaseEvent function AFAIK.

According to git log, this bug was introduced by commit b4a7662da2ddd14c8f1a9c97dc65b25418a5c05b back in 2007. In the commit log, it says

    executed(item, pos); is no longer supported and should
    be removed
    CCMAIL: robertknight at gmail.com

But I cannot found this anywhere else, as least neither in the api document here[1] nor anywhere in the source code/headers (correct me if I am wrong). Is this signal really to-be-removed? (At least this patch makes it work again.)

[1] http://api.kde.org/4.9-api/kdelibs-apidocs/kdeui/html/classKListWidget.html#a3d8fe2b4c4240e4073bd824e0599b24e


This addresses bug 201093.
    http://bugs.kde.org/show_bug.cgi?id=201093


Diffs
-----

  kdeui/itemviews/klistwidget.h 9309efc 
  kdeui/itemviews/klistwidget.cpp 13497bf 

Diff: http://git.reviewboard.kde.org/r/107829/diff/


Testing
-------

Compiled kdelibs as well as program that has problem (kontact) and the signal is triggered correctly.


Thanks,

Yichao Yu

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


More information about the kde-core-devel mailing list