This file is indexed.

/usr/lib/ubuntu-ui-toolkit/examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.qml is in ubuntu-ui-toolkit-examples 0.1.46+14.04.20140408.1-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
 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/*
 * Copyright 2013 Canonical Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import QtQuick 2.0
import Ubuntu.Components 0.1
import Ubuntu.Components.ListItems 0.1 as ListItem

MainView {
    id: gallery
    // objectName for functional testing purposes (autopilot-qt5)
    objectName: "mainView"

    // Note! applicationName needs to match the .desktop filename
    applicationName: "ubuntu-ui-toolkit-gallery"


    width: units.gu(120)
    height: units.gu(75)

    /*
     This property enables the application to change orientation
     when the device is rotated. The default is false.
    */
    automaticOrientation: true

    LayoutMirroring.enabled: Qt.application.layoutDirection == Qt.RightToLeft
    LayoutMirroring.childrenInherit: true

    state: width >= units.gu(80) ? "wide" : "narrow"
    states: [
        State {
            name: "narrow"
            StateChangeScript {
                script: {
                    pageStack.push(mainPage);
                    if (selectedWidget) {
                        pageStack.push(contentPage);
                    }
                }
            }
            PropertyChanges {
                target: mainPage
                flickable: widgetList
            }
            PropertyChanges {
                target: contentPage
                flickable: contentLoader.item ? contentLoader.item.flickable : null
            }
        },
        State {
            name: "wide"
            StateChangeScript {
                script: {
                    pageStack.clear();

                    /* When pushing Pages into a PageStack they are reparented
                       to internally created PageWrappers. This undoes it as to
                       allow us to anchor the Pages freely again.
                    */
                    mainPage.parent = gallery;
                    contentPage.parent = gallery;
                }
            }
            PropertyChanges {
                target: mainPage
                width: units.gu(40)
                clip: true
            }
            AnchorChanges {
                target: mainPage
                anchors.right: undefined
            }
            PropertyChanges {
                target: contentPage
                clip: true
            }
            AnchorChanges {
                target: contentPage
                anchors.left: mainPage.right
            }
        }
    ]


    property var selectedWidget

    Page {
        id: mainPage

        title: "Ubuntu UI Toolkit"
        /* Page internally sets the topMargin of its flickable to account for
           the height of the header. Undo it when unsetting the flickable.
        */
        onFlickableChanged: if (!flickable) widgetList.topMargin = 0;

        Rectangle {
            color: Qt.rgba(0.0, 0.0, 0.0, 0.01)
            anchors.fill: parent

            ListView {
                id: widgetList
                objectName: "widgetList"
                anchors.fill: parent
                model: widgetsModel
                delegate: ListItem.Standard {
                    text: model.label
                    objectName: model.objectName
                    enabled: model.source != ""
                    progression: true
                    selected: enabled && selectedWidget == model
                    onClicked: {
                        selectedWidget = model;
                        if (gallery.state == "narrow") {
                            pageStack.push(contentPage);
                        }
                    }
                }
            }
        }
    }

    Page {
        id: contentPage

        title: selectedWidget ? selectedWidget.label : ""
        /* Page internally sets the topMargin of its flickable to account for
           the height of the header. Undo it when unsetting the flickable.
        */
        onFlickableChanged: if (!flickable && contentLoader.item) contentLoader.item.flickable.topMargin = 0;
        onActiveChanged: if (gallery.state == "narrow" && !active) {
                             selectedWidget = null;
                         }

        ToolbarItems{ id: defTools}
        tools: contentLoader.item && contentLoader.item.tools ? contentLoader.item.tools : defTools

        Loader {
            id: contentLoader
            objectName: "contentLoader"
            anchors.fill: parent
            source: selectedWidget ? selectedWidget.source : ""
        }
    }

    PageStack {
        id: pageStack
    }

    WidgetsModel {
        id: widgetsModel
    }
}