plasma-framework/declarativeimports/plasmacomponents/qml/RadioButton.qml

66 lines
2.2 KiB
QML
Raw Normal View History

/*
* Copyright (C) 2011 by Daker Fernandes Pinheiro <dakerfp@gmail.com>
*
* 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 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.
*/
import QtQuick 2.0
import org.kde.plasma.core 0.1 as PlasmaCore
import "private" as Private
2012-12-17 22:02:29 +01:00
/**
* A radio button component consists of a radio button and a line of text. Only
* one item in a list may be selected at a time. Once an item is selected, it
* can be deselected only by selecting another item. Initial item selection may
* be set at the list creation. If not set, the list is shown without a
* selection.
*
* All elements of this component are defined in DualStateButton, its base component.
*/
//FIXME: this should be round, DualStateButton shouldn't draw the shadow
2011-12-22 16:34:09 +01:00
Private.DualStateButton {
id: radioButton
2011-10-10 14:19:07 +02:00
view: PlasmaCore.SvgItem {
svg: PlasmaCore.Svg {
id: buttonSvg
imagePath: "widgets/actionbutton"
}
elementId: "normal"
2011-11-09 17:09:20 +01:00
width: theme.defaultFont.mSize.height + 6
2011-10-10 14:19:07 +02:00
height: width
2011-11-09 17:09:20 +01:00
PlasmaCore.SvgItem {
svg: PlasmaCore.Svg {
id: checkmarkSvg
imagePath: "widgets/checkmarks"
}
elementId: "radiobutton"
opacity: checked ? 1 : 0
2011-10-10 13:39:16 +02:00
anchors {
fill: parent
}
Behavior on opacity {
NumberAnimation {
duration: 250
easing.type: Easing.InOutQuad
}
}
}
}
2011-12-22 16:55:48 +01:00
shadow: Private.RoundShadow {}
2012-12-17 22:02:29 +01:00
}