@@ -1,116 +0,0 @@
1−/*
2− * Copyright (C) 2012 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−import Ubuntu.Components 0.1
19−
20−Item {
21− id: emptyListItem
22− width: parent ? parent.width : units.gu(31)
23− height: body.height + bottomDividerLine.height
24−
25− /*!
26− \preliminary
27− Specifies whether the list item is selected.
28− */
29− property bool selected: false
30−
31− /*!
32− \preliminary
33− Set to show or hide the thin bottom divider line (drawn by the \l ThinDivider component).
34− This line is shown by default except in cases where this item is the delegate of a ListView.
35− */
36− property bool showDivider: __showDivider()
37−
38− /*!
39− \internal
40− Method to automatically determine if the bottom divider line should be drawn.
41− This always returns true, unless item is a delegate in a ListView. If in a ListView
42− it will return false only when:
43− + if this is the final item in the list, and ListView.footer is set (again as thin
44− divider line won't look well with footer below it)
45− */
46− function __showDivider() {
47− // if we're not in ListView, always show a thin dividing line at the bottom
48− var model = null;
49− if (typeof ListViewWithPageHeader !== 'undefined') {
50− if (typeof ListViewWithPageHeader.model !== 'undefined') {
51− model = ListViewWithPageHeader.model;
52− }
53− } else if (ListView.view !== null) {
54− model = ListView.view.model;
55− }
56− // if we're last item in ListView don't show divider
57− if (model && index === model.count - 1) return false;
58−
59− return true;
60− }
61−
62− /* Relevant really only for ListViewWithPageHeader case: specify how many pixels we can overlap with the section header */
63− readonly property int allowedOverlap: units.dp(1)
64−
65− property real __heightToClip: {
66− // Check this is in position where clipping is needed
67− if (typeof ListViewWithPageHeader !== 'undefined') {
68− if (typeof heightToClip !== 'undefined') {
69− if (heightToClip >= allowedOverlap) {
70− return heightToClip - allowedOverlap;
71− }
72− }
73− }
74− return 0;
75− }
76−
77− /*!
78− \internal
79− Reparent so that the visuals of the children does not
80− occlude the bottom divider line.
81− */
82− default property alias children: body.children
83−
84− Item {
85− id: clippingContainer
86− height: parent.height - __heightToClip
87− anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
88− clip: __heightToClip > 0
89−
90− Item {
91− id: body
92− anchors {
93− left: parent.left
94− right: parent.right
95− bottom: bottomDividerLine.top
96− }
97− height: childrenRect.height
98− }
99−
100− ThinDivider {
101− id: bottomDividerLine
102− anchors.bottom: parent.bottom
103− visible: showDivider
104− }
105−
106− Highlight {
107− anchors {
108− top: parent.top
109− left: parent.left
110− right: parent.right
111− bottom: bottomDividerLine.top
112− }
113− pressed: emptyListItem.selected
114− }
115− }
116−}