Welcome to mirror list, hosted at ThFree Co, Russian Federation.

UnifiedSearchResultItem.qml « tray « gui « src - github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e6e7d1fcc9ff904c359cc7782e386d3bef2ff10b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import QtQml 2.15
import QtQuick 2.9
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.2
import Style 1.0
import QtGraphicalEffects 1.0

RowLayout {
    id: unifiedSearchResultItemDetails

    property string title: ""
    property string subline: ""
    property string icons: ""
    property string iconPlaceholder: ""
    property bool isRounded: false


    property int textLeftMargin: Style.unifiedSearchResultTextLeftMargin
    property int textRightMargin: Style.unifiedSearchResultTextRightMargin
    property int iconWidth: Style.unifiedSearchResultIconWidth
    property int iconLeftMargin: Style.unifiedSearchResultIconLeftMargin

    property int titleFontSize: Style.unifiedSearchResultTitleFontSize
    property int sublineFontSize: Style.unifiedSearchResultSublineFontSize

    property color titleColor: Style.ncTextColor
    property color sublineColor: Style.ncSecondaryTextColor

    Accessible.role: Accessible.ListItem
    Accessible.name: resultTitle
    Accessible.onPressAction: unifiedSearchResultMouseArea.clicked()

    ColumnLayout {
        id: unifiedSearchResultImageContainer
        visible: true
        Layout.preferredWidth: unifiedSearchResultItemDetails.iconWidth + 10
        Layout.preferredHeight: unifiedSearchResultItemDetails.height
        Image {
            id: unifiedSearchResultThumbnail
            visible: false
            asynchronous: true
            source: "image://tray-image-provider/" + icons
            cache: true
            sourceSize.width: imageData.width
            sourceSize.height: imageData.height
            width: imageData.width
            height: imageData.height
        }
        Rectangle {
            id: mask
            visible: false
            radius: isRounded ? width / 2 : 0
            width: imageData.width
            height: imageData.height
        }
        OpacityMask {
            id: imageData
            visible: !unifiedSearchResultThumbnailPlaceholder.visible && icons
            Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
            Layout.leftMargin: iconLeftMargin
            Layout.preferredWidth: unifiedSearchResultItemDetails.iconWidth
            Layout.preferredHeight: unifiedSearchResultItemDetails.iconWidth
            source: unifiedSearchResultThumbnail
            maskSource: mask
        }
        Image {
            id: unifiedSearchResultThumbnailPlaceholder
            Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
            Layout.leftMargin: iconLeftMargin
            verticalAlignment: Qt.AlignCenter
            cache: true
            source: "image://tray-image-provider/" + iconPlaceholder
            visible: false
            sourceSize.height: unifiedSearchResultItemDetails.iconWidth
            sourceSize.width: unifiedSearchResultItemDetails.iconWidth
            Layout.preferredWidth: unifiedSearchResultItemDetails.iconWidth
            Layout.preferredHeight: unifiedSearchResultItemDetails.iconWidth
        }
    }

    ColumnLayout {
        id: unifiedSearchResultTextContainer
        Layout.fillWidth: true

        Label {
            id: unifiedSearchResultTitleText
            text: title.replace(/[\r\n]+/g, " ")
            Layout.leftMargin: textLeftMargin
            Layout.rightMargin: textRightMargin
            Layout.fillWidth: true
            elide: Text.ElideRight
            font.pixelSize: unifiedSearchResultItemDetails.titleFontSize
            color: unifiedSearchResultItemDetails.titleColor
        }
        Label {
            id: unifiedSearchResultTextSubline
            text: subline.replace(/[\r\n]+/g, " ")
            elide: Text.ElideRight
            font.pixelSize: unifiedSearchResultItemDetails.sublineFontSize
            Layout.leftMargin: textLeftMargin
            Layout.rightMargin: textRightMargin
            Layout.fillWidth: true
            color: unifiedSearchResultItemDetails.sublineColor
        }
    }

}