// SPDX-FileCopyrightText: 2026, Shaun Reed // // SPDX-License-Identifier: GNU General Public License v3.0 or later import QtQuick import QtQuick.Controls import clide.module 1.0 ScrollBar { id: scrollBar // Scroll bar gutter background: Rectangle { color: RustColors.scrollbar_gutter implicitHeight: scrollBar.interactive ? 8 : 4 implicitWidth: scrollBar.interactive ? 8 : 4 // Fade the scrollbar gutter when inactive. opacity: scrollBar.active && scrollBar.size < 1.0 ? 1.0 : 0.0 Behavior on opacity { OpacityAnimator { duration: 500 } } } // Scroll bar contentItem: Rectangle { // If we don't need a scrollbar, fallback to the gutter color. // If the scrollbar is required change it's color based on activity. color: scrollBar.size < 1.0 ? scrollBar.active ? RustColors.scrollbar_active : RustColors.scrollbar : RustColors.scrollbar_gutter implicitHeight: scrollBar.interactive ? 8 : 4 implicitWidth: scrollBar.interactive ? 8 : 4 // Fade the scrollbar when inactive. opacity: scrollBar.active && scrollBar.size < 1.0 ? 1.0 : 0 // Smooth transition between color changes based on the state above. Behavior on color { ColorAnimation { duration: 1000 } } Behavior on opacity { OpacityAnimator { duration: 1000 } } } }