@@ -1,125 +0,0 @@
2− * Copyright (C) 2012 Canonical, Ltd.
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.
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.
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/>.
18−import Ubuntu.Components 0.1
22− width: parent ? parent.width : units.gu(31)
23− height: body.height + bottomDividerLine.height
27− Specifies whether the list item is selected.
29− property bool selected: false
33− Highlight the list item when it is pressed.
34− This is used to disable the highlighting of the full list item
35− when custom highlighting needs to be implemented (for example in
36− ListItem.Standard which can have a split).
38− property bool highlightWhenPressed: true
42− Set to show or hide the thin bottom divider line (drawn by the \l ThinDivider component).
43− This line is shown by default except in cases where this item is the delegate of a ListView.
45− property bool showDivider: __showDivider()
49− Method to automatically determine if the bottom divider line should be drawn.
50− This always returns true, unless item is a delegate in a ListView. If in a ListView
51− it will return false only when:
52− + if this is the final item in the list, and ListView.footer is set (again as thin
53− divider line won't look well with footer below it)
55− function __showDivider() {
56− // if we're not in ListView, always show a thin dividing line at the bottom
58− if (typeof ListViewWithPageHeader !== 'undefined') {
59− if (typeof ListViewWithPageHeader.model !== 'undefined') {
60− model = ListViewWithPageHeader.model;
62− } else if (ListView.view !== null) {
63− model = ListView.view.model;
65− // if we're last item in ListView don't show divider
66− if (model && index === model.count - 1) return false;
71− /* Relevant really only for ListViewWithPageHeader case: specify how many pixels we can overlap with the section header */
72− readonly property int allowedOverlap: units.dp(1)
74− property real __heightToClip: {
75− // Check this is in position where clipping is needed
76− if (typeof ListViewWithPageHeader !== 'undefined') {
77− if (typeof heightToClip !== 'undefined') {
78− if (heightToClip >= allowedOverlap) {
79− return heightToClip - allowedOverlap;
88− Reparent so that the visuals of the children does not
89− occlude the bottom divider line.
91− default property alias children: body.children
94− id: clippingContainer
95− height: parent.height - __heightToClip
96− anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
97− clip: __heightToClip > 0
104− bottom: bottomDividerLine.top
106− height: childrenRect.height
110− id: bottomDividerLine
111− anchors.bottom: parent.bottom
112− visible: showDivider
120− bottom: bottomDividerLine.top
122− pressed: (emptyListItem.selected || (emptyListItem.highlightWhenPressed && emptyListItem.pressed)) ? "pressed" : ""