// Copyright (C) 2017 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only import QtQuick import QtQuick.Templates as T import QtQuick.Controls.Material T.PageIndicator { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding) padding: 6 spacing: 6 delegate: Rectangle { implicitWidth: 8 implicitHeight: 8 radius: width / 2 color: control.enabled ? control.Material.foreground : control.Material.hintTextColor // qmllint disable unqualified // We can't make "pressed" a required property, as QQuickPageIndicator doesn't create // the delegates, and so it can't set it as an initial property. opacity: index === control.currentIndex ? 0.95 : pressed ? 0.7 : 0.45 required property int index Behavior on opacity { OpacityAnimator { duration: 100 } } } contentItem: Row { spacing: control.spacing Repeater { model: control.count delegate: control.delegate } } }