2210de85c6e18dc441a27c53a4b6e0beddbf3a4d
[mdictionary] / src / mdictionary / qml / SearchBarWidget.qml
1 import Qt 4.7
2
3 Rectangle {
4     id: searchBarWidget
5     SystemPalette { id: myPalette; colorGroup: SystemPalette.Active }
6     color : myPalette.window;
7
8     property alias enableLineEdit: inputSearchText.enabled;
9
10     function setButtonText(string) { searchButton.setText(string) }
11     function setEnableHistoryPrev(Boolean) { historyPrevToolButton.enabled = Boolean }
12     function setEnableHistoryNext(Boolean) { historyNextToolButton.enabled = Boolean }
13     function setEnableHistoryShow(Boolean) { historyShowToolButton.enabled = Boolean }
14     function setEnableLineEdit(Boolean) { enableLineEdit = Boolean }
15     function clear() { inputSearchText.setText("") }
16
17     function setLineEditText(string) { inputSearchText.setText(string) }
18     function setCompleterText(string) { inputSearchText.setCompleter(string) }
19
20     signal searchButtonClicked(string text);
21     signal historyNextToolButtonClicked;
22     signal historyShowToolButtonClicked;
23     signal historyPrevToolButtonClicked;
24     signal textChange(string text);
25
26     signal nextCompleter();
27     signal prevCompleter();
28
29     MyTextLineEdit{
30         id: inputSearchText
31         width: (searchBarWidget.width - (searchBarWidget.height*3.5 + searchButton.width + 9));
32         height: searchBarWidget.height -1;
33         anchors.left: parent.left
34         anchors.verticalCenter: parent.verticalCenter
35         onEnterPressed: searchBarWidget.searchButtonClicked(text);
36         focus: searchBarWidget.focus
37         useCompleter: true;
38         IconButton {
39             id: clearButton;
40             width:  inputSearchText.height-6;
41             height: inputSearchText.height-6;
42             anchors.rightMargin: 4
43             anchors.right: parent.right
44             anchors.verticalCenter: parent.verticalCenter
45             enabled: true;
46             pathToIcon: "qrc:/button/go-clear.png";
47             onClicked: clear();
48         }
49         onTextChange: searchBarWidget.textChange(text)
50         onNextCompleter: searchBarWidget.nextCompleter();
51         onPrevCompleter: searchBarWidget.prevCompleter();
52     }
53
54     Item {
55         id: buttonsBox
56         width: searchBarWidget.height*3.5 + searchButton.width + 9
57         height: searchBarWidget.height
58         anchors.right: parent.right
59         anchors.verticalCenter: parent.verticalCenter
60
61         Button {
62             id: searchButton
63             width: 100
64             height: searchBarWidget.height;
65             anchors.rightMargin: 3
66             anchors.right: historyPrevToolButton.left
67             anchors.verticalCenter: parent.verticalCenter
68             textInButton: qsTr("Search")
69             onClicked:{
70                 searchBarWidget.searchButtonClicked(inputSearchText.textInLineEdit);
71                 inputSearchText.hideCompleter();
72             }
73         }
74
75         IconButton {
76             id: historyNextToolButton;
77             width:  searchBarWidget.height
78             height: searchBarWidget.height
79             anchors.right: parent.right
80             anchors.verticalCenter: parent.verticalCenter
81             enabled: true;
82             pathToIcon: "qrc:/button/go-next.png";
83             onClicked: searchBarWidget.historyNextToolButtonClicked();
84         }
85
86         IconButton {
87             id: historyShowToolButton;
88             width:  searchBarWidget.height
89             height: searchBarWidget.height
90             anchors.rightMargin: 3
91             anchors.right: historyNextToolButton.left
92             anchors.verticalCenter: parent.verticalCenter
93             enabled: true;
94             pathToIcon: "qrc:/button/go-show.png";
95             onClicked: searchBarWidget.historyShowToolButtonClicked();
96         }
97
98         IconButton {
99             id: historyPrevToolButton;
100             width:  searchBarWidget.height
101             height: searchBarWidget.height
102             anchors.rightMargin: 3
103             anchors.right: historyShowToolButton.left
104             anchors.verticalCenter: parent.verticalCenter
105             enabled: true;
106             pathToIcon: "qrc:/button/go-previous.png";
107             onClicked: searchBarWidget.historyPrevToolButtonClicked();
108         }
109     }
110 }