Warning, /maui/mauikit/examples/SelectionBar.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 0002 import QtQuick.Controls 0003 import QtQuick.Layouts 0004 import org.mauikit.controls as Maui 0005 0006 Maui.ApplicationWindow 0007 { 0008 id: root 0009 0010 Maui.Page 0011 { 0012 id: _page 0013 anchors.fill: parent 0014 0015 Maui.Controls.showCSD: true 0016 0017 floatingFooter: true 0018 flickable: _listBrowser.flickable //helps to keep the content from under the selectionbar at the end. 0019 0020 headBar.leftContent: Switch 0021 { 0022 text: "Single selection" 0023 checked: _selectionBar.singleSelection 0024 onToggled: _selectionBar.singleSelection = !_selectionBar.singleSelection 0025 } 0026 0027 Maui.ListBrowser 0028 { 0029 id: _listBrowser 0030 0031 anchors.fill: parent 0032 0033 model: 60 0034 0035 delegate: Maui.ListBrowserDelegate 0036 { 0037 id: _delegate 0038 0039 property string id : index // we need an unique ID for the selectionbar 0040 0041 width: ListView.view.width 0042 0043 label1.text: "An example delegate." 0044 label2.text: "The ID of this element is " + id 0045 0046 iconSource: "folder" 0047 0048 checkable: true 0049 0050 Connections 0051 { 0052 target: _selectionBar 0053 function onUriRemoved(uri) //watch when a uri is removed from the selection bar 0054 { 0055 if(uri == _delegate.id) 0056 { 0057 _delegate.checked = false 0058 } 0059 } 0060 0061 function onUriAdded(uri) //watch when an uri is sucessfully added and mark the delegate as checked 0062 { 0063 if(uri == _delegate.id) 0064 { 0065 _delegate.checked = true 0066 } 0067 } 0068 0069 function onCleared() //watch when the selection has been cleared and uncheck all the delegates 0070 { 0071 _delegate.checked = false 0072 } 0073 } 0074 0075 onToggled: (state) => 0076 { 0077 if(state) 0078 { 0079 _selectionBar.append(_delegate.id, ({'title': "Testing"})) 0080 }else 0081 { 0082 _selectionBar.removeAtUri(_delegate.id) 0083 } 0084 } // when the item is toggled, we mark it as checked and add it to the selection bar, otherwise we unchecked it and remove it from selection. 0085 } 0086 } 0087 0088 footer: Maui.SelectionBar 0089 { 0090 id: _selectionBar 0091 0092 anchors.horizontalCenter: parent.horizontalCenter 0093 width: Math.min(parent.width-(Maui.Style.space.medium*2), implicitWidth) 0094 maxListHeight: root.height - (Maui.Style.contentMargins*2) 0095 0096 Action 0097 { 0098 icon.name: "love" 0099 onTriggered: console.log(_selectionBar.getSelectedUrisString()) 0100 } 0101 0102 Action 0103 { 0104 icon.name: "folder" 0105 onTriggered: console.log(_selectionBar.contains("0")) 0106 } 0107 0108 Action 0109 { 0110 icon.name: "list-add" 0111 } 0112 0113 onExitClicked: clear() 0114 } 0115 } 0116 } 0117