Review Request 128191: Let KCapacityBar be usable in Qt Designer
Kåre Särs
kare.sars at iki.fi
Thu Jun 16 16:50:35 UTC 2016
> On June 16, 2016, 4:47 p.m., Kåre Särs wrote:
> > I'm getting this error on Windows with MSVC 2015 after this commit.
> >
> > ...etsaddons\src\kcapacitybar.h(234): error C2668: 'KCapacityBar::KCapacityBar': ambiguous call to overloaded function
> > ...etsaddons\src\kcapacitybar.h(80): note: could be 'KCapacityBar::KCapacityBar(KCapacityBar::DrawTextMode,QWidget *)'
> > ...etsaddons\src\kcapacitybar.h(71): note: or 'KCapacityBar::KCapacityBar(QWidget *)'
> > ...etsaddons\src\kcapacitybar.h(234): note: while trying to match the argument list '()'
>
> Elvis Angelaccio wrote:
> Could this be a bug in MSVC?
Removing the default argument from the new one with only one argument could maybe solve the problem for all cases.
- Kåre
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128191/#review96599
-----------------------------------------------------------
On June 16, 2016, 1:10 p.m., Elvis Angelaccio wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128191/
> -----------------------------------------------------------
>
> (Updated June 16, 2016, 1:10 p.m.)
>
>
> Review request for KDE Frameworks and Christoph Feck.
>
>
> Repository: kwidgetsaddons
>
>
> Description
> -------
>
> Currently KCapacityBar doesn't seem to be usable from Qt Designer (unless I'm doing something wrong).
> The class has only an explicit multi-argument constructor, but Qt Designer generates something like:
>
> ```c++
> capacityBar = new KCapacityBar(widget_3);
> ```
>
> which fails to compile because there is no explicit conversion from `QWidget*` to `KCapacityBar::DrawTextMode`:
>
> ```
> error: no matching constructor for initialization of 'KCapacityBar'
> capacityBar = new KCapacityBar(widget_3);
> ^ ~~~~~~~~
> /usr/include/KF5/KWidgetsAddons/kcapacitybar.h:44:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
> 'QWidget *' to 'const KCapacityBar' for 1st argument
> class KWIDGETSADDONS_EXPORT KCapacityBar
> ^
> /usr/include/KF5/KWidgetsAddons/kcapacitybar.h:72:14: note: candidate constructor not viable: no known conversion from 'QWidget *' to
> 'KCapacityBar::DrawTextMode' for 1st argument
> explicit KCapacityBar(DrawTextMode drawTextMode = DrawTextOutline, QWidget *parent = 0);
> ```
>
> This patch simply adds another constructor with a single argument (the pointer to the parent).
>
>
> Diffs
> -----
>
> src/kcapacitybar.h 1a1f2e60f415904d6cf603a4b4e0cae1c543169a
> src/kcapacitybar.cpp ecd2c13feb88f5c9e92086639bff48c6d0527779
> src/kmultitabbar.h 068f0980827e6806d7cb2a17e8b261f7e1620204
> src/kmultitabbar.cpp bc58b81cbe4d98043762a36a43b4777ada30734f
>
> Diff: https://git.reviewboard.kde.org/r/128191/diff/
>
>
> Testing
> -------
>
> KCapacityBar can now be used in a Qt Designer custom widget.
>
>
> Thanks,
>
> Elvis Angelaccio
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160616/62b27776/attachment.html>
More information about the Kde-frameworks-devel
mailing list