Warning, /maui/pix/src/view_models/PixMenu.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 import org.maui.pix 1.0 as Pix
0009 
0010 Maui.ContextualMenu
0011 {
0012     id: control
0013 
0014     property bool isFav : false
0015     property int index : -1
0016     property Maui.BaseModel model : null
0017     readonly property var item : control.model.get(index)
0018 
0019     onOpened: isFav = FB.Tagging.isFav(item.url)
0020 
0021     title: control.item.title
0022 //    subtitle: Maui.Handy.formatSize(control.item.size)
0023     titleImageSource: control.item.url
0024     titleIconSource: control.item.icon
0025 
0026     Maui.FileListingDialog
0027     {
0028         id: removeDialog
0029         parent: control.parent
0030         urls: filterSelection(item.url)
0031         title: i18n("Delete File?")
0032 //        acceptButton.text: i18n("Accept")
0033 //        rejectButton.text: i18n("Cancel")
0034         message: i18nc("Remove one file", "Are sure you want to delete this file? This action can not be undone.")
0035 
0036         onRejected: close()
0037         onAccepted:
0038         {
0039             control.model.list.deleteAt(model.mappedToSource(control.index))
0040             close()
0041         }
0042     }
0043 
0044     Maui.MenuItemActionRow
0045     {
0046         Action
0047         {
0048             text: i18n(isFav ? "UnFav it": "Fav it")
0049             checked: isFav
0050             checkable: true
0051             icon.name: "love"
0052             onTriggered: FB.Tagging.toggleFav(item.url)
0053         }
0054 
0055         Action
0056         {
0057             text: i18n("Tags")
0058             icon.name: "tag"
0059             onTriggered:
0060             {
0061                 dialogLoader.sourceComponent = tagsDialogComponent
0062                 dialog.composerList.urls = filterSelection(item.url)
0063                 dialog.open()
0064             }
0065         }
0066 
0067         Action
0068         {
0069             text: i18n("Info")
0070             icon.name: "documentinfo"
0071             onTriggered:
0072             {
0073                 getFileInfo(item.url)
0074             }
0075         }
0076 
0077         Action
0078         {
0079             text: i18n("Share")
0080             icon.name: "document-share"
0081             onTriggered:
0082             {
0083                 Maui.Platform.shareFiles(filterSelection(item.url))
0084             }
0085         }
0086     }
0087 
0088     MenuSeparator{}
0089 
0090     MenuItem
0091     {
0092         text: i18n("Select")
0093         icon.name: "item-select"
0094         onTriggered:
0095         {
0096             if(Maui.Handy.isTouch)
0097                 root.selectionMode = true
0098 
0099             selectItem(item)
0100         }
0101     }
0102 
0103     MenuSeparator{}
0104 
0105 
0106     MenuItem
0107     {
0108         text: i18n("Export")
0109         icon.name: "document-save-as"
0110         onTriggered:
0111         {
0112             var pic = item.url
0113             dialogLoader.sourceComponent= fmDialogComponent
0114             dialog.mode = dialog.modes.SAVE
0115             dialog.suggestedFileName= FB.FM.getFileInfo(item.url).label
0116             dialog.show(function(paths)
0117             {
0118                 for(var i in paths)
0119                     FB.FM.copy(pic, paths[i])
0120             });
0121         }
0122     }
0123 
0124     MenuItem
0125     {
0126         text: i18n("Open with")
0127         icon.name: "document-open"
0128         onTriggered:
0129         {
0130             _openWithDialog.urls = filterSelection(item.url)
0131             _openWithDialog.open()
0132         }
0133     }
0134 
0135     MenuItem
0136     {
0137         text: i18n("Go to Folder")
0138         icon.name: "folder-open"
0139         onTriggered:
0140         {
0141             if(_pixViewer.visible)
0142             {
0143                 toggleViewer()
0144             }
0145 
0146             var url = FB.FM.fileDir(item.url)
0147            openFolder(url)
0148         }
0149     }
0150 
0151     MenuItem
0152     {
0153         enabled: !Maui.Handy.isAndroid
0154         text: i18n("Open Location")
0155         icon.name: "folder-open"
0156         onTriggered:
0157         {
0158             Pix.Collection.showInFolder(filterSelection(item.url))
0159         }
0160     }
0161 
0162     MenuSeparator{}
0163 
0164     MenuItem
0165     {
0166         text: i18n("Remove")
0167         icon.name: "edit-delete"
0168         Maui.Theme.textColor: Maui.Theme.negativeTextColor
0169         onTriggered:
0170         {
0171             removeDialog.open()
0172         }
0173     }
0174 }