Review Request 112032: Convert tier1/kwidgetaddons to the new Qt5 signal/slot syntax
Alexander Richardson
arichardson.kde at googlemail.com
Tue Aug 13 20:25:38 UTC 2013
> On Aug. 13, 2013, 9:41 a.m., Kevin Ottens wrote:
> > tier1/kwidgetsaddons/src/kpassivepopup.cpp, line 132
> > <http://git.reviewboard.kde.org/r/112032/diff/2/?file=178275#file178275line132>
> >
> > I would stick to the old syntax for cases like this. Or rename the second signal with the point overload... but that would break the source compatibility.
I agree it looks ugly, however it does have the benefit of proper time checking at compile time.
Maybe this could be solved by a macro in Qt like #define Q_MEMBER_PTR(cls, method, args) static_cast<void (cls::*) args>(&cls::method)
and then it would be "connect( this, Q_MEMBER_PTR(KPassivePopup, clicked, ()), this, &KPassivePopup::hide );" which is not quite as ugly
However I don't know if something like this would be accepted in Qt.
For now I will just revert those calls back to the old syntax since breaking source compatibility is not acceptable (especially since those cases would only be discovered at runtime!)
- Alexander
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112032/#review37644
-----------------------------------------------------------
On Aug. 12, 2013, 6:07 p.m., Alexander Richardson wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112032/
> -----------------------------------------------------------
>
> (Updated Aug. 12, 2013, 6:07 p.m.)
>
>
> Review request for KDE Frameworks.
>
>
> Description
> -------
>
> Convert tier1/kwidgetaddons to the new Qt5 signal/slot syntax
>
> Conversion was performed using a clang based tool I wrote
> (https://github.com/a-richardson/convert2qt5signalslot).
> Manual changes required were mostly reverting to the old syntax for
> Q_PRIVATE_SLOTS since not all of them use the "_k_" function name
> prefix. Also one case where disconnect was used (kcursor.cpp).
>
> Command to perform this was:
> find tier1/kwidgetsaddons/ -iname "*.cpp" -print0 | xargs -0 convert2qt5signalslot -skip-prefix=_k_ -p ~/devel/build/kdelibsprint0 | xargs -0 convert2qt5signalslot -skip-prefix=_k_ -p ~/devel/build/kdelibs
>
>
> Diffs
> -----
>
> tier1/kwidgetsaddons/src/kacceleratormanager.cpp f50057e8899b30ea2a5dfbe430e82a090299addb
> tier1/kwidgetsaddons/src/kactionmenu.cpp dd1dce144aa028af41fb073a5d3636f4c9e8901b
> tier1/kwidgetsaddons/src/kactionselector.cpp 879bb4918d85ee8360e72fab9b5750196c29ad6f
> tier1/kwidgetsaddons/src/kassistantdialog.cpp 81d3828e48df6e8e09f91ce8d2056cc8294411ea
> tier1/kwidgetsaddons/src/kcursor.cpp 9b0fe01358650a5a82cb9f9cd50edf9506034d4c
> tier1/kwidgetsaddons/src/keditlistwidget.cpp 23637a5b60f3582097fb136dfa9adedb44e157e9
> tier1/kwidgetsaddons/src/kmessagebox.cpp 1fff72f1df4703b0893396c097b05ebefebbc362
> tier1/kwidgetsaddons/src/kmessagewidget.cpp a4f9975297a0177dfd5bf50ee480b240d60c1d47
> tier1/kwidgetsaddons/src/kpageview_p.cpp 4e236f11dea25e280f5b5bf0040424cdb5e934a6
> tier1/kwidgetsaddons/src/kpagewidget.cpp 2931623c5a176f1013d5dc15e59df0c6a7a26fb7
> tier1/kwidgetsaddons/src/kpassivepopup.cpp 663f63af413b7660c9c1b21af3e3ae4d7c424bbe
> tier1/kwidgetsaddons/src/kpassworddialog.cpp dfab3e9ead7d48b8941e4a44d17565c2ea7d4ddb
> tier1/kwidgetsaddons/src/kpixmapregionselectordialog.cpp 76a52b56190079510e99bd056f7602499f015399
> tier1/kwidgetsaddons/src/kselectaction.cpp b388df94baa042e8230f2795f35dd378117c6ab6
> tier1/kwidgetsaddons/src/ktoggleaction.cpp 79616dbb37a18b08e9f8a316489cbc8aed8242ba
> tier1/kwidgetsaddons/src/ktoolbarpopupaction.cpp af1fc2a9470444ba035d8babd9d6aad6a7c05e67
> tier1/kwidgetsaddons/tests/kassistantdialogtest.cpp f6be3ef4376dff4f57ac62442e6c55e3a26e12ea
> tier1/kwidgetsaddons/tests/kcolorcombotest.cpp 825f3a8ab273cbb43c03001d9eb158ad9211e034
> tier1/kwidgetsaddons/tests/keditlistwidgettest.cpp 0a0a46b3139eab6441e685e12bd86ec4c8ac5f54
> tier1/kwidgetsaddons/tests/kledtest.cpp ee45ab3ab82129f03c8b4a3ce7bda69d0c060dc0
> tier1/kwidgetsaddons/tests/kmessagewidgettest.cpp 2d8ab453ebaa736fa7dbf04b10d80ca89ca8bd1b
> tier1/kwidgetsaddons/tests/kpagewidgettest.cpp 3a10f73a8c481302863cbff52a17a56e167bc2f1
> tier1/kwidgetsaddons/tests/kpassivepopuptest.cpp 4e7138523bdbe4166bf0e899d39d9ae1f8b8b447
> tier1/kwidgetsaddons/tests/kselectactiontest.cpp f57f6c53098093d0056a1ba4ccfe9fb49338d186
> tier1/kwidgetsaddons/tests/ktoolbarlabelactiontest.cpp 8e8cdf06cdaaa684f4659f63fec87d304837746a
>
> Diff: http://git.reviewboard.kde.org/r/112032/diff/
>
>
> Testing
> -------
>
> Compiles and autotests work
>
>
> File Attachments
> ----------------
>
> Manual changes performed after tool run
> http://git.reviewboard.kde.org/media/uploaded/files/2013/08/12/manualChanges_1.diff
>
>
> Thanks,
>
> Alexander Richardson
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20130813/fee05008/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list