some change
[mdictionary] / src / mdictionary / gui / SearchBarWidget.cpp
index 338b87a..7e9e16d 100644 (file)
@@ -52,6 +52,7 @@ SearchBarWidget::SearchBarWidget(QWidget *parent) : QWidget(parent) {
 
     view= new QDeclarativeView();
     ctxt = view->rootContext();
+    ctxt->setContextProperty("focusss",true);
 
     view->setSource(QUrl::fromLocalFile("/usr/share/mdictionary/qml/SearchBarWidget.qml"));
     view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
@@ -80,6 +81,10 @@ SearchBarWidget::SearchBarWidget(QWidget *parent) : QWidget(parent) {
             this, SLOT(nextCompleter()));
     connect(rootObject, SIGNAL(prevCompleter()),
             this, SLOT(prevCompleter()));
+    connect(rootObject, SIGNAL(checkFocus()),
+            this, SLOT(checkFocus()));
+    connect(rootObject, SIGNAL(nextFocus()),
+            this, SLOT(nextFocus()));
 
     connect(this, SIGNAL(progresSetMax(QVariant)),
             rootObject2, SLOT(setMax(QVariant)));
@@ -105,6 +110,8 @@ SearchBarWidget::SearchBarWidget(QWidget *parent) : QWidget(parent) {
 
     connect(this, SIGNAL(setCompleterText(QVariant)),
             rootObject, SLOT(setCompleterText(QVariant)));
+    connect(this, SIGNAL(focusOff()),
+            rootObject, SLOT(focusOff()));
 
     connect(busyTimer, SIGNAL(timeout()),
             this, SLOT(updateBusyTimer()));
@@ -116,8 +123,6 @@ SearchBarWidget::SearchBarWidget(QWidget *parent) : QWidget(parent) {
     connect(&delayTimer, SIGNAL(timeout()),
             this, SLOT(delaySearchTimeout()));
 
-    view->setFocus();
-
 #else
     initializeUI();
     connect(searchPushButton, SIGNAL(clicked()),
@@ -137,7 +142,7 @@ SearchBarWidget::SearchBarWidget(QWidget *parent) : QWidget(parent) {
 
     searchWordLineEdit->setFocus();
 #endif
-
+    setFocus();
     busy = false;
     setEnabled(true);
     updateHistoryButtons(false,false,false);
@@ -147,6 +152,15 @@ SearchBarWidget::~SearchBarWidget() {
 
 }
 
+void SearchBarWidget::checkFocus(){
+    if(focusWidget()!=QApplication::focusWidget())
+        emit focusOff();
+}
+
+void SearchBarWidget::nextFocus(){
+    parentWidget()->nextInFocusChain()->setFocus();
+}
+
 void SearchBarWidget::textChange(QString text){
     QLineEdit line;
     QString toSend="";
@@ -188,7 +202,6 @@ void SearchBarWidget::prevCompleter(){
     QString tempString;
     if(!preferedCompliter.isEmpty()){
         int index = completerActualList.indexOf(preferedCompliter);
-        qDebug()<<"index"<<index<<"size"<<completerActualList.size()<<"+1";
         if(index!=-1 && completerActualList.size()>index+1){
             preferedCompliter = completerActualList.at(index+1);
             tempString=preferedCompliter;
@@ -213,7 +226,6 @@ void SearchBarWidget::nextCompleter(){
 
 
 QIcon SearchBarWidget::generateIcon(QIcon original, qreal rotation) {
-    qDebug()<<"test2";
     QPixmap p = original.pixmap(64);
 
     if(rotation != 0) {
@@ -250,7 +262,6 @@ QIcon SearchBarWidget::generateIcon(QIcon original, qreal rotation) {
 }
 
 void SearchBarWidget::setFocus() {
-    qDebug()<<"test3";
 #ifndef Q_WS_MAEMO_5
         view->setFocus();
 #else
@@ -259,7 +270,6 @@ void SearchBarWidget::setFocus() {
 }
 
 void SearchBarWidget::initializeUI() {
-    qDebug()<<"test4";
 #ifdef Q_WS_MAEMO_5
     setMaximumHeight(150);
 
@@ -360,7 +370,6 @@ void SearchBarWidget::initializeUI() {
 }
 
 void SearchBarWidget::searchButtonClicked(QString text) {
-    qDebug()<<"test5";
     if(busy)
         Q_EMIT stopSearching();
     else
@@ -368,7 +377,6 @@ void SearchBarWidget::searchButtonClicked(QString text) {
 }
 
 void SearchBarWidget::searchPushButtonClicked() {
-    qDebug()<<"test6";
 #ifdef Q_WS_MAEMO_5
     if(busy) {
         Q_EMIT stopSearching();
@@ -398,7 +406,6 @@ void SearchBarWidget::search(QString word) {
 }
 
 void SearchBarWidget::searchDelay(QString word) {
-    qDebug()<<"test8";
     if(!busy && !word.isEmpty()) {
         #ifndef Q_WS_MAEMO_5
             emit setLineEditText(word);
@@ -414,7 +421,6 @@ void SearchBarWidget::searchDelay(QString word) {
 }
 
 void SearchBarWidget::delaySearchTimeout() {
-    qDebug()<<"test9";
     delayTimer.stop();
     if(!busy) {
         Q_EMIT searchForTranslations(delayString);
@@ -422,11 +428,9 @@ void SearchBarWidget::delaySearchTimeout() {
 }
 
 void SearchBarWidget::setEnabled(bool enabled) {
-    qDebug()<<"test10";
 #ifndef Q_WS_MAEMO_5
     emit setLineEditEnables(enabled);
     if(!enabled) {
-        qDebug()<<"tu???";
         emit setEnableHistoryNext(false);
         emit setEnableHistoryShow(false);
         emit setEnableHistoryPrev(false);
@@ -439,11 +443,9 @@ void SearchBarWidget::setEnabled(bool enabled) {
         historyShowToolButton->setEnabled(false);
     }
 #endif
-qDebug()<<"tu2???";
 }
 
 void SearchBarWidget::setBusy() {
-    qDebug()<<"test11";
     if(busy) return;
 
 #ifndef Q_WS_MAEMO_5
@@ -466,7 +468,6 @@ void SearchBarWidget::setBusy() {
 }
 
 void SearchBarWidget::updateBusyTimer(){
-    qDebug()<<"test12";
     if(progressMax==true){
         emit progresSetValue2(0);
         progressMax=false;
@@ -479,7 +480,6 @@ void SearchBarWidget::updateBusyTimer(){
 }
 
 void SearchBarWidget::setIdle() {
-    qDebug()<<"test13";
     if(!busy) return;
 #ifndef Q_WS_MAEMO_5
     progressBar->hide();
@@ -498,7 +498,6 @@ void SearchBarWidget::setIdle() {
 
 
 void SearchBarWidget::clearSearchWordToolButtonClicked() {
-    qDebug()<<"test14";
 #ifdef Q_WS_MAEMO_5
     searchWordLineEdit->clear();
 #endif
@@ -507,7 +506,6 @@ void SearchBarWidget::clearSearchWordToolButtonClicked() {
 
 
 void SearchBarWidget::updateHistoryButtons(bool prev, bool next, bool list) {
-    qDebug()<<"test15";
     if(!busy) {
         #ifndef Q_WS_MAEMO_5
             emit setEnableHistoryNext(next);
@@ -522,7 +520,6 @@ void SearchBarWidget::updateHistoryButtons(bool prev, bool next, bool list) {
 }
 
 void SearchBarWidget::showHistoryButtonClicked() {
-    qDebug()<<"test16";
 #ifndef Q_WS_MAEMO_5
     QPoint p=view->pos(); // = historyShowToolButton->pos();
     p=mapToGlobal(p);