diff --git a/declarativeimports/plasmacomponents/qml/RadioButton.qml b/declarativeimports/plasmacomponents/qml/RadioButton.qml index aa0315c36..f417c25c5 100644 --- a/declarativeimports/plasmacomponents/qml/RadioButton.qml +++ b/declarativeimports/plasmacomponents/qml/RadioButton.qml @@ -24,11 +24,14 @@ import org.kde.plasma.core 0.1 as PlasmaCore //FIXME: this should be round, DualStateButton shouldn't draw the shadow DualStateButton { id: radioButton - view: PlasmaCore.FrameSvgItem { - imagePath: "widgets/button" - prefix: "normal" - width: fontMetricText.height + margins.left - height: fontMetricText.height + margins.top + view: PlasmaCore.SvgItem { + svg: PlasmaCore.Svg { + id: buttonSvg + imagePath: "widgets/actionbutton" + } + elementId: "normal" + width: fontMetricText.height + 6 + height: width //FIXME: an hack to have font metrics: can we have a proper binding? Text { id: fontMetricText @@ -55,5 +58,5 @@ DualStateButton { } } - shadow: ButtonShadow {} + shadow: RoundShadow {} } \ No newline at end of file diff --git a/declarativeimports/plasmacomponents/qml/RoundShadow.qml b/declarativeimports/plasmacomponents/qml/RoundShadow.qml new file mode 100644 index 000000000..6119b3a71 --- /dev/null +++ b/declarativeimports/plasmacomponents/qml/RoundShadow.qml @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2011 by Daker Fernandes Pinheiro + * Copyright (C) 2011 by Marco Martin + * + * 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. + */ + +import QtQuick 1.0 +import org.kde.plasma.core 0.1 as PlasmaCore + +Item { + id: main + state: parent.state + + PlasmaCore.SvgItem { + id: hover + svg: PlasmaCore.Svg { + id: hoverSvg + imagePath: "widgets/actionbutton" + } + elementId: "hover" + + anchors.fill: parent + + opacity: 0 + } + + PlasmaCore.SvgItem { + id: shadow + svg: PlasmaCore.Svg { + id: shadowSvg + imagePath: "widgets/actionbutton" + } + elementId: "shadow" + + anchors.fill: parent + } + + states: [ + State { + name: "shadow" + PropertyChanges { + target: shadow + opacity: 1 + } + PropertyChanges { + target: hover + opacity: 0 + elementId: "hover" + } + }, + State { + name: "hover" + PropertyChanges { + target: shadow + opacity: 0 + } + PropertyChanges { + target: hover + opacity: 1 + elementId: "hover" + } + }, + State { + name: "focus" + PropertyChanges { + target: shadow + opacity: 0 + } + PropertyChanges { + target: hover + opacity: 1 + elementId: "focus" + } + } + ] + + transitions: [ + Transition { + PropertyAnimation { + properties: "opacity" + duration: 250 + easing.type: Easing.OutQuad + } + } + ] +}