diff options
Diffstat (limited to 'src/styles/PopupStyle.qml')
-rw-r--r-- | src/styles/PopupStyle.qml | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/src/styles/PopupStyle.qml b/src/styles/PopupStyle.qml new file mode 100644 index 0000000..3a33f0a --- /dev/null +++ b/src/styles/PopupStyle.qml @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2013 Tomasz Olszak <olszak.tomasz@gmail.com> + * + * This library 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 of the License, or (at your option) any later version. + * + * This library 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 library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.1 +import QtQuick.Controls 1.0 +import QtQuick.Controls.Private 1.0 +import QtQuick.Controls.Tizen 1.0 +import "DefaultSettings.js" as Theme + +Style { + id: style + + property Popup control: __control + + property Component lookAndFeel: Item { + id: contentItem + anchors.fill: parent + implicitWidth: control.root.width - 100 + implicitHeight: 2*control.root.height/3 + Rectangle { + x: -(control.root.width-contentItem.width)/2 + y: -(control.root.height-contentItem.height)/2 + width:control.root.width + height:control.root.height + color:"#AA000000" + } + + TizenBorderImage { + id: contentOfControl + anchors.fill: parent + source: Theme.popup.source + effectSource: Theme.popup.effectSource + backgroundColor: Theme.popup.color + anchors.topMargin: -Theme.popup.margins.top + anchors.leftMargin: -Theme.popup.margins.left + anchors.rightMargin: -Theme.popup.margins.right + anchors.bottomMargin: -Theme.popup.margins.bottom + } + + state: styleData.state === "hidden" ? "contentHidden" : "contentShown" + + states: [ + State { + name:"contentHidden" + PropertyChanges { + target: control + opacity:0 + } + }, + State { + name:"contentShown" + PropertyChanges { + target: control + opacity:0 + } + } + ] + + transitions: [ + Transition { + to: "contentHidden" + SequentialAnimation { + NumberAnimation { + target: control + property: "opacity" + duration: 250 + } + PropertyAction { + target: control + property: "visible" + value:false + } + } + }, + Transition { + to: "contentShown" + SequentialAnimation { + PropertyAction { + target: control + property: "visible" + value:true + } + NumberAnimation { + target: control + property: "opacity" + to: 1 + duration: 250 + } + } + } + ] + } +} |