Warning, /graphics/koko/src/qml/InfoSidebar.qml is written in an unsupported language. File is not indexed.
0001 /* SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
0002 * SPDX-FileCopyrightText: 2021 Noah Davis <noahadvs@gmail.com>
0003 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0004 */
0005
0006 import QtQuick 2.15
0007 import QtQml 2.15
0008 import QtQuick.Window 2.15
0009 import QtQuick.Templates 2.15 as T
0010 import QtQuick.Controls 2.15 as QQC2
0011 import QtQuick.Layouts 1.15
0012 import org.kde.kirigami 2.15 as Kirigami
0013 import org.kde.koko 0.1 as Koko
0014 import org.kde.coreaddons 1.0 as KCA
0015
0016 QQC2.Page {
0017 id: root
0018 required property Koko.Exiv2Extractor extractor
0019 signal closed()
0020 leftPadding: root.mirrored && vScrollBar.visible ? vScrollBar.width : 0
0021 rightPadding: !root.mirrored && vScrollBar.visible ? vScrollBar.width : 0
0022 topPadding: 0
0023 bottomPadding: 0
0024 header: QQC2.ToolBar {
0025 implicitHeight: closeButton.implicitHeight
0026 leftPadding: 0; rightPadding: 0; topPadding: 0; bottomPadding: 0
0027 contentItem: RowLayout {
0028 spacing: Kirigami.Units.smallSpacing
0029 Kirigami.Heading {
0030 leftPadding: Kirigami.Units.largeSpacing
0031 rightPadding: leftPadding
0032 horizontalAlignment: Qt.AlignLeft
0033 verticalAlignment: Qt.AlignVCenter
0034 Layout.fillWidth: true
0035 Layout.fillHeight: true
0036 level: 2
0037 text: i18n("Metadata")
0038 }
0039 QQC2.ToolButton {
0040 id: closeButton
0041 icon.name: "window-close"
0042 icon.width: Kirigami.Units.iconSizes.sizeForLabels
0043 icon.height: Kirigami.Units.iconSizes.sizeForLabels
0044 onClicked: root.closed()
0045 }
0046 }
0047 }
0048 // QQC2 ScrollView makes it surprisingly difficult to control the
0049 // content size and implicit size without binding loops or glitches.
0050 // ScrollView completely ignores the Flickable's implicit size.
0051 // Using plain Flickable with ScrollBar instead.
0052 contentItem: InfoDrawerSidebarBase {
0053 id: content
0054 extractor: root.extractor
0055 QQC2.ScrollBar.vertical: QQC2.ScrollBar {
0056 id: vScrollBar
0057 parent: content.parent
0058 anchors.left: parent.contentItem.right
0059 anchors.top: parent.header.bottom
0060 anchors.bottom: parent.bottom
0061 }
0062 }
0063 Component.onCompleted: {
0064 root.contentItem.opacity = 1
0065 }
0066 onClosed: {
0067 root.contentItem.opacity = 0
0068 }
0069 }