79 lines
2.1 KiB
QML
79 lines
2.1 KiB
QML
import QtQuick 2.15
|
|
import FluentUI
|
|
import QtQuick.Layouts
|
|
|
|
FluArea {
|
|
id: fileItem
|
|
property string uuid
|
|
property string title
|
|
property string brief
|
|
property string date
|
|
property int pageView
|
|
property var tags: []
|
|
property var notes: []
|
|
property int stars
|
|
property var colorList: ["blue", "green", "orange", "red", "yellow", "purple", "pink", "brown", "teal", "cyan", "gray", "darkgray"]
|
|
signal tagClicked(string tag)
|
|
|
|
ColumnLayout {
|
|
id: row
|
|
anchors.fill: parent
|
|
anchors.margins: 10
|
|
spacing: 10
|
|
|
|
ColumnLayout {
|
|
id: clickable
|
|
anchors.fill: parent
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onDoubleClicked: {
|
|
fileItem.parent.doubleClicked()
|
|
}
|
|
}
|
|
FluText {
|
|
id: title
|
|
text: fileItem.title
|
|
font{
|
|
pointSize: 12
|
|
bold: true
|
|
}
|
|
}
|
|
FluText {
|
|
id: brief
|
|
text: fileItem.brief
|
|
}
|
|
RowLayout {
|
|
id: infoRow
|
|
visible: !fileItem.isDir
|
|
FluText {
|
|
id: date
|
|
text: fileItem.date
|
|
}
|
|
FluText {
|
|
id: pageView
|
|
text: fileItem.pageView + "浏览"
|
|
}
|
|
FluText {
|
|
id: stars
|
|
text: fileItem.stars + "收藏"
|
|
}
|
|
}
|
|
}
|
|
RowLayout {
|
|
visible: !fileItem.isDir
|
|
Repeater {
|
|
model: fileItem.tags
|
|
delegate: FluTextButton {
|
|
text: "#" + fileItem.tags[index]
|
|
normalColor: colorList[index % colorList.length]
|
|
font.pixelSize: 12
|
|
Layout.preferredWidth: 50
|
|
onClicked: {
|
|
emit: tagClicked(text)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|