[SailfishDevel] QML IconButton in SFOS 3.1
Rinigus
rinigus.git at gmail.com
Wed Aug 14 14:14:34 UTC 2019
Thank you for suggestion! On my install, I get black icons ok, but the white on black background get to black on black. Whether its 0s or Fs.
Rinigus
On Wednesday, 14 August 2019, Slava Monich wrote:
> 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
> >>
>
More information about the Devel
mailing list