Fix button graphics when button was pressed or disabled. Add disabled state to button...
[mdictionary] / src / mdictionary / qml / DictManagerWidget.qml
1 /*******************************************************************************
2
3     This file is part of mDictionary.
4
5     mDictionary is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     mDictionary is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with mDictionary.  If not, see <http://www.gnu.org/licenses/>.
17
18     Copyright 2010 Comarch S.A.
19
20 *******************************************************************************/
21 /*!
22     author: Marcin Kaźmierczak <marcin.kazmierczak@comarch.pl>
23 */
24
25 import Qt 4.7
26
27 Rectangle {
28     SystemPalette { id: myPalette; colorGroup: SystemPalette.Active }
29 //    signal selectedRow(int nr)
30
31     id: rectangle1
32     color: myPalette.base
33     anchors.fill: parent
34
35     ElementsListView{
36         id: dictList
37         width: rectangle1.width
38 //        height: rectangle1.height
39         anchors.top: parent.top
40         highlightResizeSpeed: 1000
41         delegate: Component{
42             id: dictListDelegate
43             Item {
44                 width: rectangle1.width
45                 height: {
46                     if (nameText.height + 10 > logo.height)
47                             return nameText.height + 10;
48                     else
49                             return logo.height;
50                 }
51                 MouseArea{
52                     anchors.fill: parent
53                     onClicked: {
54                         dictList.currentIndex = number
55                     }
56                     onDoubleClicked: {
57                         selectedRow(number)
58                     }
59                 }
60                 Row {
61                     //image zaznacz/odznacz
62                     anchors.fill: parent
63                     Image {
64                         id: checkbox
65 //                        source: "qrc:/button/checkbox.png"
66                         height: {
67                             var aspectRatio = sourceSize.height / sourceSize.width
68                             return logo.width * aspectRatio
69                         }
70                         anchors.verticalCenter: parent.verticalCenter
71                         width: nameText.height + 10
72                         states: [
73                             State {
74                                 name: "checked";
75                                 when: (isSelected == true);
76
77                                 PropertyChanges { target: checkbox; source: "qrc:/button/checkboxChecked.png" }
78                             },
79                             State {
80                                 name: "unchecked";
81                                 when: (isSelected == false);
82
83                                 PropertyChanges { target: checkbox; source: "qrc:/button/checkbox.png" }
84                             }
85                         ]
86                     }
87
88                     Image {
89                         id: logo
90                         source: iconPath
91                         height: {
92                             var aspectRatio = sourceSize.height / sourceSize.width
93                             return logo.width * aspectRatio
94                         }
95                         anchors.verticalCenter: parent.verticalCenter
96                         width: nameText.height + 10
97                     }
98                     Text {
99                         id: nameText
100                         text: name
101                         anchors.left: logo.right
102                         anchors.leftMargin: 5
103                         anchors.verticalCenter: parent.verticalCenter
104                     }
105                 }
106             }
107
108         }
109         model: dictModel
110     }
111
112     //buttonki
113
114 }