New Heading component in org.kde.plasma.extras

Interesting property is level, between 1 (large) and 5 (same size as
default text), otherwise behaves as Label.
This commit is contained in:
Sebastian Kügler 2012-03-16 04:51:00 +01:00
parent 53dc25c0e0
commit 774ff8fc6d
2 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,76 @@
/*
* Copyright 2012 by Sebastian Kügler <sebas@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* 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 Library General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**Documented API
Inherits:
Label
Imports:
QtQuick 1.1
org.kde.plasma.components
Description:
This is a title label which uses the plasma theme.
The characteristics of the text will be automatically set
according to the plasma theme. Use this components for titles
in your UI, for example page or section titles.
Properties:
string text:
The most important property is "text", which applies to the text property of Label
For the other ones see Plasma Component's Label or QML primitive Text element
Methods:
See Plasma Component's Label and primitive QML Text element
Signals:
See Plasma Component's Label and primitive QML Text element
**/
import QtQuick 1.1
import org.kde.plasma.components 0.1
Label {
id: heading
property int level: 1
property int step: 2
anchors.topMargin: 8
font.pointSize: headerPointSize(level)
function headerPointSize(l) {
var n = theme.defaultFont.pointSize;
var s;
if (l > 4) {
s = n
} else if (l < 2) {
s = n + (5*step)
} else {
s = n + ((5-level)*2)
}
print(" font size for level: " + l + " is " + s + " basePointSize " + n);
return s;
}
onLevelChanged: {
print("level changed: " + level);
font.pointSize = headerPointSize(level)
anchors.topMargin = level * 2;
}
}

View File

@ -2,3 +2,4 @@ plugin plasmaextracomponentsplugin
App 0.1 App.qml
Title 0.1 Title.qml
Heading 0.1 Heading.qml