Added global controller andalso filebrowser qml
[lichviet] / qml / LichViet / Button.qml
1 /*
2 Copyright (C) 2011  by Cuong Le <metacuong@gmail.com>
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program.  If not, see <http://www.gnu.org/licenses/>
16 */
17
18 import QtQuick 1.0
19
20 Item {
21     id: container
22
23     signal clicked
24
25     property string text
26     property bool keyUsing: false
27
28     BorderImage {
29         id: buttonImage
30         source:  theme_manager.theme.toolbar.button_sci
31         width: container.width; height: container.height
32     }
33     BorderImage {
34         id: pressed
35         opacity: 0
36         source: theme_manager.theme.toolbar.button_pressed_sci
37         width: container.width; height: container.height
38     }
39     MouseArea {
40         id: mouseRegion
41         anchors.fill: buttonImage
42         onClicked: { container.clicked(); }
43     }
44     Text {
45         id: btnText
46         color: if(container.keyUsing){"#D0D0D0";} else {"#FFFFFF";}
47         anchors.centerIn: buttonImage; font.bold: true
48         text: container.text; style: Text.Raised; styleColor: "black"
49         font.pixelSize: 24
50         font.family: "Tahoma"
51     }
52     states: [
53         State {
54             name: "Pressed"
55             when: mouseRegion.pressed == true
56             PropertyChanges { target: pressed; opacity: 1 }
57         },
58         State {
59             name: "Focused"
60             when: container.activeFocus == true
61             PropertyChanges { target: btnText; color: "#FFFFFF" }
62         }
63     ]
64     transitions: Transition {
65         ColorAnimation { target: btnText; }
66     }
67 }