Replace twitter demo with new tweetsearch demo
[profile/ivi/qtdeclarative.git] / examples / demos / tweetsearch / content / SearchDelegate.qml
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
5 **
6 ** This file is part of the examples of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** You may use this file under the terms of the BSD license as follows:
10 **
11 ** "Redistribution and use in source and binary forms, with or without
12 ** modification, are permitted provided that the following conditions are
13 ** met:
14 **   * Redistributions of source code must retain the above copyright
15 **     notice, this list of conditions and the following disclaimer.
16 **   * Redistributions in binary form must reproduce the above copyright
17 **     notice, this list of conditions and the following disclaimer in
18 **     the documentation and/or other materials provided with the
19 **     distribution.
20 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
21 **     the names of its contributors may be used to endorse or promote
22 **     products derived from this software without specific prior written
23 **     permission.
24 **
25 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36 **
37 ** $QT_END_LICENSE$
38 **
39 ****************************************************************************/
40
41 import QtQuick 2.0
42
43 FlipBar {
44     id: flipBar
45     animDuration: 250
46     property string label: ""
47     property string placeHolder: ""
48     property alias searchText: lineInput.text
49     property alias prefix: lineInput.prefix
50     property bool opened: false
51     signal ok
52     signal hasOpened
53
54     height: 60
55     width: parent.width
56
57     function open() {
58         flipBar.flipUp()
59         flipBar.opened = true
60         lineInput.forceActiveFocus()
61         flipBar.hasOpened()
62     }
63
64     function close() {
65         if (opened) {
66             flipBar.flipDown()
67             flipBar.opened = false
68         }
69     }
70
71     front: Rectangle {
72         height: 60
73         width: parent.width
74         color: "#999999"
75
76         Rectangle { color: "#c1c1c1"; width: parent.width; height: 1 }
77         Rectangle { color: "#707070"; width: parent.width; height: 1; anchors.bottom: parent.bottom }
78
79         MouseArea {
80             id: mouseArea
81             anchors.fill: parent
82             onClicked: {
83                 if (!flipBar.opened)
84                     open()
85                 else if (!lineInput.activeFocus)
86                     lineInput.forceActiveFocus()
87                 else
88                     close()
89             }
90         }
91
92         Text {
93             text: flipBar.label
94             anchors { left: parent.left; leftMargin: 20 }
95             anchors.verticalCenter: parent.verticalCenter
96             font.pixelSize: 18
97             color: "#ffffff"
98         }
99
100     }
101
102     back: FocusScope {
103         height: 60
104         width: parent.width
105         Rectangle {
106             anchors.fill: parent
107             color: "#999999"
108
109             Rectangle { color: "#c1c1c1"; width: parent.width; height: 1 }
110             Rectangle { color: "#707070"; width: parent.width; height: 1; anchors.bottom: parent.bottom }
111
112             LineInput {
113                 id: lineInput
114                 hint: flipBar.placeHolder
115                 focus: flipBar.opened
116                 anchors { fill: parent; margins: 6 }
117                 onAccepted: flipBar.ok()
118             }
119         }
120     }
121
122 }