[SailfishDevel] QML IconButton in SFOS 3.1

Slava Monich slava.monich at jolla.com
Wed Aug 14 11:57:43 UTC 2019


Apparently properties of type color don't want to be undefined (now I 
don't understand why I'm not getting the warning)  - have you tried 
something like "#00000000" instead of undefined?

-S.

> Hi Slava,
>
> my code, corresponding snippet:
>
>             IconButton {
>                 id: image
>                 anchors.centerIn: parent
>                 down: pressed || parent.pressed
>                 icon.opacity: iconOpacity
>                 icon.source: iconName || iconSource
>                 icon.sourceSize.height: iconHeight
>                 icon.sourceSize.width: iconWidth
>                 onClicked: item.clicked()
>
>                 Component.onCompleted: {
>                     if ("color" in icon) {
>                         icon.color = undefined
>                     }
>                 }
>             }
>
> On SFOS 3.0.3.9 (ported to OnePlus X), I get errors for a line with 
> icon.color = undefined :
>
> file:///... Error: Cannot assign [undefined] to QColor
>
> So, it seems that this property was introduced before 3.1.x, but not 
> used in 3.0.3.
>
> Rinigus
>
>
>
> On Wed, Aug 14, 2019 at 1:07 PM Slava Monich <slava.monich at jolla.com 
> <mailto:slava.monich at jolla.com>> wrote:
>
>     Hi Rinigus,
>
>     AFAICT icon.color appeared in 3.1 and it wasn't there before.
>
>     This piece of QML seems to work for me without any warnings on
>     both 2.0.1.7 (no icon.color) and 3.1.1.xxx (latest devel, has
>     icon.color):
>
>         IconButton {
>             icon.source: "image://theme/icon-m-refresh"
>             Component.onCompleted: {
>                 if ("color" in icon) {
>                     icon.color = undefined
>                 }
>             }
>         }
>
>     I'm not sure if it does what you want it to do, but it doesn't
>     produce any warnings!
>
>     And no, I'm not in a position to formulate the official position :)
>
>     Cheers,
>
>     -Slava
>
>
>>     Hi,
>>
>>     it would be good to get some kind of official position on QML
>>     IconButton issue. Is it considered for fixing or it will stay as
>>     it is? Slava's suggestion didn't work since color member is
>>     available on older versions of SFOS as well.
>>
>>     Rinigus
>>
>>     On Wed, Aug 7, 2019 at 2:29 PM rinigus <rinigus.git at gmail.com
>>     <mailto:rinigus.git at gmail.com>> wrote:
>>
>>         Hi,
>>
>>         any ideas on how to fix this IconButton issue? Is there a way
>>         to query SFOS version and make an ugly fix on the basis of
>>         that...
>>
>>         Cheers,
>>
>>         Rinigus
>>
>>         On Sat, Aug 3, 2019 at 6:06 PM rinigus <rinigus.git at gmail.com
>>         <mailto:rinigus.git at gmail.com>> wrote:
>>
>>             Slava,
>>
>>             unfortunately, it doesn't work. IconButton property icon
>>             has color subpropery defined in earlier SFOS versions as
>>             well. So,
>>
>>             IconButton{
>>
>>             id:image
>>
>>             [...]
>>
>>             Component.onCompleted:{
>>
>>             if("color"inimage.icon)
>>
>>             image.icon.color=undefined;
>>
>>             }
>>
>>             }
>>
>>             results in lots of warnings (Cannot assigned [undefined]
>>             to QColor).
>>
>>             Maybe there is some var I can check in QML to state that
>>             SFOS version is >= 3.1.0.0?
>>
>>             Rinigus
>>
>>             On Sat, Aug 3, 2019 at 5:33 PM Slava Monich
>>             <slava.monich at jolla.com <mailto:slava.monich at jolla.com>>
>>             wrote:
>>
>>                 I don't think there's an "official" way of
>>                 maintaining backward compatibility but I'd humbly
>>                 suggest something like if ("color" in icon) ...
>>
>>                 e.g. I do this kind of thing to notifications:
>>
>>                     Notification {
>>                         id: clipboardNotification
>>                         previewBody: "Copied to clipboard"
>>                         Component.onCompleted: {
>>                             if ("icon" in clipboardNotification) {
>>                                 clipboardNotification.icon =
>>                 "icon-s-clipboard"
>>                             }
>>                         }
>>                     }
>>
>>                 Cheers,
>>
>>                 -Slava
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20190814/d5f8a57e/attachment-0001.html>


More information about the Devel mailing list