Warning, /system/mycroft-gui/import/qml/ScrollableDelegate.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2018 by Marco Martin <mart@kde.org> 0003 * Copyright 2018 David Edmundson <davidedmundson@kde.org> 0004 * 0005 * Licensed under the Apache License, Version 2.0 (the "License"); 0006 * you may not use this file except in compliance with the License. 0007 * You may obtain a copy of the License at 0008 * 0009 * http://www.apache.org/licenses/LICENSE-2.0 0010 * 0011 * Unless required by applicable law or agreed to in writing, software 0012 * distributed under the License is distributed on an "AS IS" BASIS, 0013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0014 * See the License for the specific language governing permissions and 0015 * limitations under the License. 0016 * 0017 */ 0018 0019 import QtQuick 2.15 0020 import QtQuick.Controls 2.15 as Controls 0021 import org.kde.kirigami 2.19 as Kirigami 0022 import Mycroft 1.0 as Mycroft 0023 0024 //TODO: this muct become a Delegate subclass 0025 Delegate { 0026 id: control 0027 0028 //this to make all items children of the scrollview item so everything will have paddings automagically 0029 default property alias data: main.contentData 0030 0031 readonly property bool userInteracting: main.contentItem.hasOwnProperty("moving") && main.contentItem.moving 0032 0033 leftPadding: (main.mainItem.hasOwnProperty("contentHeight") ? 0 : Kirigami.Units.largeSpacing) + (typeof view !== "undefined" && view() ? view().leftPadding : 0) 0034 topPadding: (main.mainItem.hasOwnProperty("contentHeight") ? 0 : Kirigami.Units.largeSpacing) + (typeof view !== "undefined" && view() ? view().topPadding : 0) 0035 rightPadding: (main.mainItem.hasOwnProperty("contentHeight") ? 0 : Kirigami.Units.largeSpacing) + (typeof view !== "undefined" && view() ? view().rightPadding : 0) 0036 bottomPadding: (main.mainItem.hasOwnProperty("contentHeight") ? 0 : Kirigami.Units.largeSpacing) + (typeof view !== "undefined" && view() ? view().bottomPadding : 0) 0037 0038 Component.onCompleted: main.contentItem.clip = false 0039 //clip the delegate and not the scrollview because we do want items to bleed over margins 0040 clip: true 0041 contentItem: Controls.ScrollView { 0042 id: main 0043 contentWidth: width 0044 clip: false 0045 //if mainItem is == contentItem then the main item is a flickable, otherwise is auto created internally 0046 property Item mainItem: contentChildren[contentChildren.length-1] 0047 0048 contentHeight: mainItem.hasOwnProperty("contentHeight") ? mainItem.contentHeight : mainItem.height 0049 } 0050 }