X-Git-Url: http://git.maemo.org/git/?p=mdictionary;a=blobdiff_plain;f=src%2Fmdictionary%2Fqml%2FSearchBarWidget.qml;fp=src%2Fmdictionary%2Fqml%2FSearchBarWidget.qml;h=6590e453155d69cab4eda6c5077b35e323784a1d;hp=689480d1d27eae628811e66ad9e0d6a664f98a67;hb=29aa1caa7c232b517244c11463844a7b54fed22d;hpb=08e403fb8f97d1352819f64d81eeda2c65148a40 diff --git a/src/mdictionary/qml/SearchBarWidget.qml b/src/mdictionary/qml/SearchBarWidget.qml index 689480d..6590e45 100644 --- a/src/mdictionary/qml/SearchBarWidget.qml +++ b/src/mdictionary/qml/SearchBarWidget.qml @@ -6,19 +6,75 @@ Rectangle { color : myPalette.window; property alias enableLineEdit: inputSearchText.enabled; + property int focusIndex:-1; + function setButtonText(string) { searchButton.setText(string) } function setEnableHistoryPrev(Boolean) { historyPrevToolButton.enabled = Boolean } function setEnableHistoryNext(Boolean) { historyNextToolButton.enabled = Boolean } function setEnableHistoryShow(Boolean) { historyShowToolButton.enabled = Boolean } function setEnableLineEdit(Boolean) { enableLineEdit = Boolean } - function setLineEditText(string) { inputSearchText.setText(string) } function clear() { inputSearchText.setText("") } + function setLineEditText(string) { inputSearchText.setText(string) } + function setCompleterText(string) { inputSearchText.setCompleter(string) } + + function setFocus(){ + if(focusIndex==0){ + inputSearchText.setFocus(); + if(!inputSearchText.enabled) + focusIndex++; + } + if(focusIndex==1) + clearButton.focus=true; + + if(focusIndex==2){ + searchButton.focus = true + if(!searchButton.enabled) + focusIndex++; + } + + if(focusIndex==3){ + historyPrevToolButton.focus = true + if(!historyPrevToolButton.enabled) + focusIndex++; + } + + if(focusIndex==4){ + historyShowToolButton.focus = true + if(!historyShowToolButton.enabled) + focusIndex++; + } + + if(focusIndex==5){ + historyNextToolButton.focus = true + if(!historyNextToolButton.enabled) + focusIndex++; + } + + if (focusIndex>5){ + nextFocus(); + focusIndex=-1; + focus=true; + } + } + + function focusOff(){ focus=true; focusIndex=-1;} + + signal nextFocus(); + signal checkFocus(); signal searchButtonClicked(string text); signal historyNextToolButtonClicked; signal historyShowToolButtonClicked; signal historyPrevToolButtonClicked; + signal textChange(string text); + signal nextCompleter(); + signal prevCompleter(); + + Keys.onTabPressed: { + focusIndex++; + setFocus(); + } MyTextLineEdit{ id: inputSearchText @@ -27,7 +83,7 @@ Rectangle { anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter onEnterPressed: searchBarWidget.searchButtonClicked(text); - focus: searchBarWidget.focus + useCompleter: true; IconButton { id: clearButton; width: inputSearchText.height-6; @@ -38,7 +94,13 @@ Rectangle { enabled: true; pathToIcon: "qrc:/button/go-clear.png"; onClicked: clear(); + onActiveFocusChanged:searchBarWidget.checkFocus(); } + onTextChange: searchBarWidget.textChange(text) + onNextCompleter: searchBarWidget.nextCompleter(); + onPrevCompleter: searchBarWidget.prevCompleter(); + onIsFocused: searchBarWidget.focusIndex=0; + onCheckFocus: searchBarWidget.checkFocus(); } Item { @@ -56,7 +118,11 @@ Rectangle { anchors.right: historyPrevToolButton.left anchors.verticalCenter: parent.verticalCenter textInButton: qsTr("Search") - onClicked: searchBarWidget.searchButtonClicked(inputSearchText.textInLineEdit); + onClicked:{ + searchBarWidget.searchButtonClicked(inputSearchText.textInLineEdit); + inputSearchText.hideCompleter(); + } + onActiveFocusChanged:searchBarWidget.checkFocus(); } IconButton { @@ -68,6 +134,7 @@ Rectangle { enabled: true; pathToIcon: "qrc:/button/go-next.png"; onClicked: searchBarWidget.historyNextToolButtonClicked(); + onActiveFocusChanged:searchBarWidget.checkFocus(); } IconButton { @@ -80,6 +147,7 @@ Rectangle { enabled: true; pathToIcon: "qrc:/button/go-show.png"; onClicked: searchBarWidget.historyShowToolButtonClicked(); + onActiveFocusChanged:searchBarWidget.checkFocus(); } IconButton { @@ -92,6 +160,7 @@ Rectangle { enabled: true; pathToIcon: "qrc:/button/go-previous.png"; onClicked: searchBarWidget.historyPrevToolButtonClicked(); + onActiveFocusChanged:searchBarWidget.checkFocus(); } } }