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 }