2 * Copyright (C) 2014,2015 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 1.3
19 import "../../Components"
21 /*! \brief Preview widget for text.
23 This widget shows text contained in widgetData["text"]
24 along with a title that comes from widgetData["title"].
26 In case the widget is collapsed it only shows 3 lines of text.
31 implicitHeight: childrenRect.height
35 objectName: "titleLabel"
40 height: visible ? implicitHeight : 0
42 font.weight: Font.Light
43 color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText
46 text: widgetData["title"] || ""
52 objectName: "textLabel"
54 readonly property int maximumCollapsedLineCount: 3
59 top: titleLabel.visible ? titleLabel.bottom : parent.top
60 topMargin: titleLabel.visible && visible ? units.gu(1.5) : 0
62 height: visible ? (lineCount <= maximumCollapsedLineCount || root.expanded) ? contentHeight : contentHeight / lineCount * maximumCollapsedLineCount : 0
65 font.weight: Font.Light
67 color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText
70 text: widgetData["text"] || ""
74 enabled: textLabel.lineCount > textLabel.maximumCollapsedLineCount
75 UbuntuNumberAnimation { duration: UbuntuAnimation.SnapDuration }