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

0001 import QtQuick 2.15
0002 import QtQuick.Controls 2.15
0003 import QtQuick.Layouts 1.12
0004 
0005 import QtGraphicalEffects 1.0
0006 
0007 import org.mauikit.controls 1.3 as Maui
0008 import org.mauikit.filebrowsing 1.3 as FB
0009 
0010 
0011 Maui.Page
0012 {
0013     id: control
0014     headBar.forceCenterMiddleContent: !root.isWide
0015     headBar.middleContent: TextField
0016     {
0017         Layout.fillWidth: true
0018         Layout.maximumWidth: 500
0019         Layout.alignment: Qt.AlignCenter
0020         placeholderText: i18np("Filter", "Filter %1 repos", _listView.model.list.count);
0021         onAccepted: _listView.model.filter = text
0022         onCleared:  _listView.model.filter = text
0023     }
0024 
0025     headBar.rightContent:[
0026         Maui.ToolButtonMenu
0027         {
0028             id: _viewMenu
0029             icon.name: "view-sort"
0030 
0031             Action
0032             {
0033                 text: i18n("Date")
0034                 checked: _projectsModel.sort === "lastread"
0035                 checkable: true
0036                 onTriggered:
0037                 {
0038                     _projectsModel.sort = "lastread"
0039                     _projectsModel.sortOrder = Qt.DescendingOrder
0040                 }
0041             }
0042 
0043             Action
0044             {
0045                 text: i18n("Modified")
0046                 checked: _projectsModel.sort === "modified"
0047                 checkable: true
0048                 onTriggered:
0049                 {
0050                     _projectsModel.sort = "modified"
0051                     _projectsModel.sortOrder = Qt.DescendingOrder
0052                 }
0053             }
0054 
0055             Action
0056             {
0057                 text: i18n("Name")
0058                 checked: _projectsModel.sort === "title"
0059                 checkable: true
0060 
0061                 onTriggered:
0062                 {
0063                     _projectsModel.sort = "title"
0064                     _projectsModel.sortOrder =  Qt.AscendingOrder
0065                 }
0066             }
0067         }
0068     ]
0069 
0070     Maui.ListBrowser
0071     {
0072         id: _listView
0073         anchors.fill: parent
0074         holder.visible: count === 0
0075         holder.title : i18n("Nothing here!")
0076         holder.body: i18n("Previously opened repos will be listed here.")
0077         holder.emoji: "qrc:/assets/assets/folder-add.svg"
0078 
0079         model: Maui.BaseModel
0080         {
0081             id: _projectsModel
0082             list: _projectManager.projectsModel
0083 
0084             sort: "title"
0085             sortOrder: Qt.AscendingOrder
0086             recursiveFilteringEnabled: true
0087             sortCaseSensitivity: Qt.CaseInsensitive
0088             filterCaseSensitivity: Qt.CaseInsensitive
0089         }
0090 
0091         delegate:  Maui.ListBrowserDelegate
0092         {
0093             width: ListView.view.width
0094             iconSource: model.icon
0095             imageSource: model.artwork
0096 
0097             iconSizeHint: Maui.Style.iconSizes.big
0098             template.imageSizeHint: iconSizeHint
0099 
0100             label1.text: model.name
0101             label2.text: model.url.replace(FB.FM.homePath(), "")
0102 
0103             tooltipText: model.url
0104 
0105             //            label3.text : i18np("%1 item", "%1 items", model.count)
0106             //            label4.text: Maui.Handy.formatDate(model.lastread, "MM/dd/yyyy")
0107 
0108             onClicked:
0109             {
0110                 _listView.currentIndex = index
0111                 if(Maui.Handy.singleClick || Maui.Handy.isMobile)
0112                 {
0113                     openProject(model.url)
0114                 }
0115             }
0116 
0117             onDoubleClicked:
0118             {
0119                 _listView.currentIndex = index
0120                 if(!Maui.Handy.singleClick)
0121                 {
0122                     openProject(model.url)
0123                 }
0124             }
0125 
0126         }
0127     }
0128 
0129 
0130 }