C

Qt Quick Ultralite Watch Demo

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
import QtQuick 2.15
import QtQuick.Templates 2.15
import Watch 1.0

SwipeView {

    implicitWidth: Math.max((background ? background.implicitWidth : 0) + leftInset + rightInset,
                        (contentItem ? contentItem.implicitWidth : 0) + leftPadding + rightPadding)
    implicitHeight: Math.max((background ? background.implicitHeight : 0) + topInset + bottomInset,
                             (contentItem ? contentItem.implicitHeight : 0) + topPadding + bottomPadding)

    contentItem: Flickable {
        Behavior on contentX {
            NumberAnimation{ duration: 100 }
        }
    }
    currentIndex: MainModel.currentSelection

    HealthWidget {
        onScreen: currentIndex === 0
        offScreen: !onScreen
    }

    WatchShield {
        onScreen: currentIndex === 1
        offScreen: !onScreen
    }

    WeatherWidget {
        onScreen: currentIndex === 2
        offScreen: !onScreen
    }

    ApplicationList {
        id: applications
        onScreen: currentIndex === 3
        offScreen: !onScreen

        onSelected: {
            MainModel.compassOn = app == ApplicationList.Compass
        }
    }
}