47 lines
1.3 KiB
QML
47 lines
1.3 KiB
QML
// SPDX-FileCopyrightText: 2020 George Florea Bănuș <georgefb899@gmail.com>
|
|
// SPDX-FileCopyrightText: 2026 Tri Vo Khac
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
pragma ComponentBehavior: Bound
|
|
|
|
import QtQuick
|
|
import QtQuick.Controls
|
|
import org.kde.kirigami as Kirigami
|
|
import org.kde.ki18n
|
|
|
|
AppMenu {
|
|
id: root
|
|
icon.name: "document-open-recent"
|
|
|
|
required property Actions actions
|
|
|
|
title: KI18n.i18nc("@title:menu", "Recent Files")
|
|
enabled: RecentFilesModel.count > 0
|
|
|
|
Instantiator {
|
|
model: RecentFilesModel
|
|
delegate: AppMenuItem {
|
|
required property url url
|
|
required property string name
|
|
required property string path
|
|
text: name
|
|
textElide: Text.ElideMiddle
|
|
onTriggered: root.actions.fileOpenRequested(url)
|
|
|
|
ToolTip.text: path
|
|
ToolTip.visible: hovered
|
|
ToolTip.delay: Kirigami.Units.toolTipDelay
|
|
}
|
|
onObjectAdded: (index, object) => root.insertItem(index, object)
|
|
onObjectRemoved: (index, object) => root.removeItem(object)
|
|
}
|
|
|
|
MenuSeparator {}
|
|
|
|
AppMenuItem {
|
|
text: KI18n.i18nc("@action:inmenu", "Clear List")
|
|
icon.name: "edit-clear-history"
|
|
onTriggered: RecentFilesModel.clear()
|
|
}
|
|
}
|