Review Request 128191: Let KCapacityBar be usable in Qt Designer

Elvis Angelaccio elvis.angelaccio at kdemail.net
Wed Jun 15 12:13:49 UTC 2016



> On June 15, 2016, 11:59 a.m., Christoph Feck wrote:
> > Does it also need updates to KF5::DesignerPlugin?

Hmm, I didn't even know about this plugin when I did my test. In `kde.widgets` I see:

```ini
# KWidgetsAddons
[KCapacityBar]
IncludeFile=kcapacitybar.h
ToolTip=Capacity Bar (KDE)
ConstructorArgs=(KCapacityBar::DrawTextOutline, parent)
Group=Display (KDE)
```

and now I'm wondering why Qt Designer ignores the first argument when it generates the constructor call...


- Elvis


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128191/#review96519
-----------------------------------------------------------


On June 15, 2016, 10:19 a.m., Elvis Angelaccio wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128191/
> -----------------------------------------------------------
> 
> (Updated June 15, 2016, 10:19 a.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 
> 
> 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/20160615/56113c90/attachment.html>


More information about the Kde-frameworks-devel mailing list