[SailfishDevel] QML IconButton in SFOS 3.1

Slava Monich slava.monich at jolla.com
Wed Aug 14 10:07:17 UTC 2019


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/fb0b9fd5/attachment-0001.html>


More information about the Devel mailing list