Warning, /frameworks/kirigami/examples/simpleexamples/Sidebar.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
0003 *
0004 * SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 import QtQuick
0008 import QtQuick.Layouts
0009 import QtQuick.Controls as QQC2
0010 import org.kde.kirigami as Kirigami
0011
0012 Kirigami.ApplicationWindow {
0013 id: root
0014 width: Kirigami.Units.gridUnit * 60
0015 height: Kirigami.Units.gridUnit * 40
0016
0017
0018 pageStack.initialPage: mainPageComponent
0019 globalDrawer: Kirigami.OverlayDrawer {
0020 id: drawer
0021 drawerOpen: true
0022 modal: false
0023 //leftPadding: Kirigami.Units.largeSpacing
0024 rightPadding: Kirigami.Units.largeSpacing
0025 contentItem: ColumnLayout {
0026 Layout.preferredWidth: Kirigami.Units.gridUnit * 20
0027
0028 QQC2.Label {
0029 Layout.alignment: Qt.AlignHCenter
0030 text: "This is a sidebar"
0031 Layout.fillWidth: true
0032 width: parent.width - Kirigami.Units.smallSpacing * 2
0033 wrapMode: Text.WordWrap
0034 }
0035 QQC2.Button {
0036 Layout.alignment: Qt.AlignHCenter
0037 text: "Modal"
0038 checkable: true
0039 Layout.fillWidth: true
0040 checked: false
0041 onCheckedChanged: drawer.modal = checked
0042 }
0043 Item {
0044 Layout.fillHeight: true
0045 }
0046 }
0047 }
0048 contextDrawer: Kirigami.OverlayDrawer {
0049 id: contextDrawer
0050 drawerOpen: true
0051 edge: Qt.application.layoutDirection === Qt.RightToLeft ? Qt.LeftEdge : Qt.RightEdge
0052 modal: false
0053 leftPadding: Kirigami.Units.largeSpacing
0054 rightPadding: Kirigami.Units.largeSpacing
0055 contentItem: ColumnLayout {
0056 Layout.preferredWidth: Kirigami.Units.gridUnit * 10
0057
0058 QQC2.Label {
0059 Layout.alignment: Qt.AlignHCenter
0060 text: "This is a sidebar"
0061 Layout.fillWidth: true
0062 width: parent.width - Kirigami.Units.smallSpacing * 2
0063 wrapMode: Text.WordWrap
0064 }
0065 QQC2.Button {
0066 Layout.alignment: Qt.AlignHCenter
0067 text: "Modal"
0068 checkable: true
0069 Layout.fillWidth: true
0070 checked: false
0071 onCheckedChanged: contextDrawer.modal = checked
0072 }
0073 Item {
0074 Layout.fillHeight: true
0075 }
0076 }
0077 }
0078
0079 menuBar: QQC2.MenuBar {
0080 QQC2.Menu {
0081 title: qsTr("&File")
0082 QQC2.Action { text: qsTr("&New...") }
0083 QQC2.Action { text: qsTr("&Open...") }
0084 QQC2.Action { text: qsTr("&Save") }
0085 QQC2.Action { text: qsTr("Save &As...") }
0086 QQC2.MenuSeparator { }
0087 QQC2.Action { text: qsTr("&Quit") }
0088 }
0089 QQC2.Menu {
0090 title: qsTr("&Edit")
0091 QQC2.Action { text: qsTr("Cu&t") }
0092 QQC2.Action { text: qsTr("&Copy") }
0093 QQC2.Action { text: qsTr("&Paste") }
0094 }
0095 QQC2.Menu {
0096 title: qsTr("&Help")
0097 QQC2.Action { text: qsTr("&About") }
0098 }
0099 }
0100 header: QQC2.ToolBar {
0101 contentItem: RowLayout {
0102 QQC2.ToolButton {
0103 text: "Global ToolBar"
0104 }
0105 Item {
0106 Layout.fillWidth: true
0107 }
0108 Kirigami.ActionTextField {
0109 id: searchField
0110
0111 placeholderText: "Search…"
0112
0113 focusSequence: StandardKey.Find
0114 leftActions: [
0115 Kirigami.Action {
0116 icon.name: "edit-clear"
0117 visible: searchField.text.length > 0
0118 onTriggered: {
0119 searchField.text = ""
0120 searchField.accepted()
0121 }
0122 },
0123 Kirigami.Action {
0124 icon.name: "edit-clear"
0125 visible: searchField.text.length > 0
0126 onTriggered: {
0127 searchField.text = ""
0128 searchField.accepted()
0129 }
0130 }
0131 ]
0132 rightActions: [
0133 Kirigami.Action {
0134 icon.name: "edit-clear"
0135 visible: searchField.text.length > 0
0136 onTriggered: {
0137 searchField.text = ""
0138 searchField.accepted()
0139 }
0140 },
0141 Kirigami.Action {
0142 icon.name: "anchor"
0143 visible: searchField.text.length > 0
0144 onTriggered: {
0145 searchField.text = ""
0146 searchField.accepted()
0147 }
0148 }
0149 ]
0150
0151 onAccepted: console.log("Search text is " + searchField.text)
0152 }
0153 }
0154 }
0155 //Main app content
0156 Component {
0157 id: mainPageComponent
0158 MultipleColumnsGallery {}
0159 }
0160 footer: QQC2.ToolBar {
0161 position: QQC2.ToolBar.Footer
0162 QQC2.Label {
0163 anchors.fill: parent
0164 verticalAlignment: Qt.AlignVCenter
0165 text: "Global Footer"
0166 }
0167 }
0168 }