This file is indexed.

/usr/share/unity8/Components/ResponsiveVerticalJournal.qml is in unity8-common 8.12+16.04.20160401-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
/*
 * Copyright (C) 2013-2014 Canonical, Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 3.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import QtQuick 2.4
import Ubuntu.Components 1.3
import "../Components"
import Dash 0.1

/*!
 \brief A responsive wrapper around VerticalJournal.

 Based on defined column width, delegates are laid out in columns following
 a top-left most position rule.

 Example:
    +-----+ +-----+ +-----+
    |     | |  2  | |     |
    |     | |     | |     |
    |  1  | +-----+ |  3  |
    |     | +-----+ |     |
    |     | |     | +-----+
    +-----+ |  4  | +-----+
    +-----+ |     | |  5  |
    |  6  | +-----+ |     |
    |     |         +-----+
    +-----+
*/
Item {
    id: root

    property real minimumColumnSpacing: units.gu(1)

    property alias columnWidth: verticalJournalView.columnWidth
    property alias rowSpacing: verticalJournalView.rowSpacing
    property alias model: verticalJournalView.model
    property alias delegate: verticalJournalView.delegate
    property alias cacheBuffer: verticalJournalView.cacheBuffer
    property real displayMarginBeginning: 0
    property real displayMarginEnd: 0

    implicitHeight: verticalJournalView.implicitHeight + rowSpacing
    clip: height < implicitHeight

    VerticalJournal {
        id: verticalJournalView
        objectName: "responsiveVerticalJournalView"
        anchors {
            fill: parent
            leftMargin: columnSpacing / 2
            rightMargin: columnSpacing / 2
            topMargin: rowSpacing / 2
            bottomMargin: rowSpacing / 2
        }

        displayMarginBeginning: -Math.max(-root.displayMarginBeginning - anchors.topMargin, 0)
        displayMarginEnd:-Math.max(-root.displayMarginEnd - anchors.topMargin, 0)

        function px2gu(pixels) {
            return Math.floor(pixels / units.gu(1))
        }

        columnSpacing: {
            // parent.width = columns * columnWidth + (columns-1) * spacing + spacing(margins)
            var expectedColumns = Math.max(1, Math.floor(parent.width / (columnWidth + minimumColumnSpacing)));
            Math.floor((parent.width - expectedColumns * columnWidth) / expectedColumns);
        }
    }
}