[SailfishDevel] QML IconButton in SFOS 3.1
rinigus
rinigus.git at gmail.com
Wed Aug 14 10:43:44 UTC 2019
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> 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> 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> 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" in image.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>
>>> 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/454c40c7/attachment.html>
More information about the Devel
mailing list