Warning, /maui/nota/src/views/PlacesSidebar.qml is written in an unsupported language. File is not indexed.

0001 import QtQuick 2.14
0002 import QtQuick.Controls 2.14
0003 import QtQuick.Layouts 1.3
0004 
0005 import org.mauikit.controls 1.3 as Maui
0006 import org.mauikit.filebrowsing 1.3 as FB
0007 
0008 Item
0009 {
0010     id: control
0011 
0012     property alias page : _loader.item
0013 
0014     onVisibleChanged:
0015     {
0016         if(currentEditor)
0017             syncSidebar(currentEditor.fileUrl)
0018     }
0019 
0020     Loader
0021     {
0022         id: _loader
0023         asynchronous: true
0024         active: control.visible || item
0025         anchors.fill: parent
0026 
0027         sourceComponent: Maui.Page
0028         {
0029             property alias browser : browserView
0030 
0031             background: null
0032 
0033             footBar.middleContent: ComboBox
0034             {
0035                 Layout.fillWidth: true
0036                 model: Maui.BaseModel
0037                 {
0038                     list: FB.PlacesList
0039                     {
0040                         groups: [FB.FMList.PLACES_PATH]
0041                     }
0042                 }
0043 
0044                 textRole: "label"
0045                 onActivated:
0046                 {
0047                     currentIndex = index
0048                     browserView.openFolder(model.get(index).path)
0049                 }
0050             }
0051 
0052             headBar.leftContent: Maui.ToolActions
0053             {
0054                 expanded: true
0055                 autoExclusive: false
0056                 checkable: false
0057                 display: ToolButton.IconOnly
0058 
0059                 Action
0060                 {
0061                     text: i18n("Previous")
0062                     icon.name: "go-previous"
0063                     onTriggered : browserView.goBack()
0064                 }
0065 
0066                 Action
0067                 {
0068                     text: i18n("Up")
0069                     icon.name: "go-up"
0070                     onTriggered : browserView.goUp()
0071                 }
0072 
0073 
0074                 Action
0075                 {
0076                     text: i18n("Next")
0077                     icon.name: "go-next"
0078                     onTriggered: browserView.goNext()
0079                 }
0080             }
0081 
0082             headBar.rightContent: [
0083 
0084                 ToolButton
0085                 {
0086                     icon.name: "edit-find"
0087                     checked: browserView.headBar.visible
0088                     onClicked:
0089                     {
0090                         browserView.headBar.visible = !browserView.headBar.visible
0091                     }
0092                 },
0093 
0094                 Maui.ToolButtonMenu
0095                 {
0096                     icon.name: "view-sort"
0097 
0098                     MenuItem
0099                     {
0100                         text: i18n("Show Folders First")
0101                         checked: browserView.settings.foldersFirst
0102                         checkable: true
0103                         onTriggered: browserView.settings.foldersFirst = !browserView.settings.foldersFirst
0104                     }
0105 
0106                     MenuSeparator {}
0107 
0108                     MenuItem
0109                     {
0110                         text: i18n("Type")
0111                         checked: browserView.settings.sortBy === FB.FMList.MIME
0112                         checkable: true
0113                         onTriggered: browserView.settings.sortBy = FB.FMList.MIME
0114                         autoExclusive: true
0115                     }
0116 
0117                     MenuItem
0118                     {
0119                         text: i18n("Date")
0120                         checked:browserView.settings.sortBy === FB.FMList.DATE
0121                         checkable: true
0122                         onTriggered: browserView.settings.sortBy = FB.FMList.DATE
0123                         autoExclusive: true
0124                     }
0125 
0126                     MenuItem
0127                     {
0128                         text: i18n("Modified")
0129                         checkable: true
0130                         checked: browserView.settings.sortBy === FB.FMList.MODIFIED
0131                         onTriggered: browserView.settings.sortBy = FB.FMList.MODIFIED
0132                         autoExclusive: true
0133                     }
0134 
0135                     MenuItem
0136                     {
0137                         text: i18n("Size")
0138                         checkable: true
0139                         checked: browserView.settings.sortBy === FB.FMList.SIZE
0140                         onTriggered: browserView.settings.sortBy = FB.FMList.SIZE
0141                         autoExclusive: true
0142                     }
0143 
0144                     MenuItem
0145                     {
0146                         text: i18n("Name")
0147                         checkable: true
0148                         checked: browserView.settings.sortBy === FB.FMList.LABEL
0149                         onTriggered: browserView.settings.sortBy = FB.FMList.LABEL
0150                         autoExclusive: true
0151                     }
0152 
0153                     MenuSeparator{}
0154 
0155                     MenuItem
0156                     {
0157                         id: groupAction
0158                         text: i18n("Group")
0159                         checkable: true
0160                         checked: browserView.settings.group
0161                         onTriggered:
0162                         {
0163                             browserView.settings.group = !browserView.settings.group
0164                         }
0165                     }
0166                 }
0167             ]
0168 
0169             FB.FileBrowser
0170             {
0171                 id: browserView
0172                 anchors.fill: parent
0173                 currentPath: FB.FM.homePath()
0174                 settings.viewType : FB.FMList.LIST_VIEW
0175                 settings.filterType: FB.FMList.TEXT
0176                 headBar.rightLayout.visible: false
0177                 headBar.rightLayout.width: 0
0178                 floatingFooter: false
0179                 listItemSize: 22
0180                 background: Rectangle
0181                 {
0182                     color: Maui.Theme.backgroundColor
0183                     opacity: 0.2
0184                 }
0185                 browser.background:null
0186                 onItemClicked: (index) =>
0187                 {
0188                     var item = currentFMModel.get(index)
0189                     if(Maui.Handy.singleClick)
0190                     {
0191                         if(item.isdir == "true")
0192                         {
0193                             openFolder(item.path)
0194                         }else
0195                         {
0196                             editorView.openTab(item.path)
0197                             if(_sideBarView.sideBar.collapsed)
0198                                 _sideBarView.sideBar.close()
0199                         }
0200                     }
0201                 }
0202 
0203                 onItemDoubleClicked: (index) =>
0204                 {
0205                     var item = currentFMModel.get(index)
0206                     if(!Maui.Handy.singleClick)
0207                     {
0208                         if(item.isdir == "true")
0209                         {
0210                             openFolder(item.path)
0211                         }else
0212                         {
0213                             editorView.openTab(item.path)
0214                         }
0215                     }
0216                 }
0217             }
0218         }
0219     }
0220 }