fixed minor bugs with gui, added secon dictionary file
[mdictionary] / trunk / src / base / gui / SearchBarWidget.cpp
index 146bd39..65edf61 100644 (file)
@@ -65,7 +65,10 @@ SearchBarWidget::SearchBarWidget(Backbone* backbone, QWidget *parent) :
             backbone, SLOT(stopSearching()));
 
     connect(backbone, SIGNAL(ready()),
-            this, SLOT(searchFinished()));
+            this, SLOT(setIdle()));
+
+    connect(backbone, SIGNAL(htmlReady()),
+            this, SLOT(setIdle()));
 
     searchWordLineEdit->setFocus();
 }
@@ -80,7 +83,6 @@ void SearchBarWidget::initializeUI() {
     verticalLayout = new QVBoxLayout();
 
 
-
     searchPushButton = new QPushButton(tr("Search"));
     searchPushButton->setMinimumWidth(150);
 
@@ -102,23 +104,12 @@ void SearchBarWidget::initializeUI() {
 
     historyNextToolButton = new QToolButton();
     historyNextToolButton->setIcon(QIcon::fromTheme("general_forward"));
-   /* historyNextToolButton->setMaximumSize(
-            historyNextToolButton->sizeHint().width()/2,
-            historyNextToolButton->sizeHint().height()/2);*/
-
 
     historyPrevToolButton = new QToolButton();
     historyPrevToolButton->setIcon(QIcon::fromTheme("general_back"));
-    /*historyPrevToolButton->setMaximumSize(
-            historyPrevToolButton->sizeHint().width()/2,
-            historyPrevToolButton->sizeHint().height()/2);*/
-
 
     historyShowToolButton = new QToolButton();
     historyShowToolButton->setIcon(QIcon::fromTheme("general_back"));
-    /*historyShowToolButton->setMaximumSize(
-            historyShowToolButton->sizeHint().width()/2,
-            historyShowToolButton->sizeHint().height()/2);*/
 
     QPixmap p = historyShowToolButton->icon().pixmap(256);
     QMatrix m;
@@ -139,7 +130,6 @@ void SearchBarWidget::initializeUI() {
     searchingProgressBar->setMaximumHeight(50);
 
 
-
     setLayout(verticalLayout);
 
     verticalLayout->addWidget(searchingProgressBar);
@@ -157,25 +147,17 @@ void SearchBarWidget::initializeUI() {
 
     verticalLayout->addLayout(horizontalLayout);
 
-
 }
 
 
 void SearchBarWidget::searchPushButtonClicked() {
     if(_isSearching) {
-        searchingProgressBar->hide();
-        searchPushButton->setText(tr("Search"));
-        setEnabled(true);
-        emit enableMenu(true);
-        _isSearching = false;
+        setIdle();
         emit stopSearching();
     }
     else {
-        searchingProgressBar->show();
-        searchPushButton->setText(tr("Stop"));
-        setEnabled(false);
-        emit enableMenu(false);
-        _isSearching = true;
+        if(searchWordLineEdit->text().isEmpty()) return;
+        setBusy();
         QStringList searchWord;
         searchWord << searchWordLineEdit->text();
         emit searchForTranslations(searchWord);
@@ -184,11 +166,7 @@ void SearchBarWidget::searchPushButtonClicked() {
 
 void SearchBarWidget::searchWordList(QStringList words) {
     if(!_isSearching) {
-        searchingProgressBar->show();
-        searchPushButton->setText(tr("Stop"));
-        setEnabled(false);
-        emit enableMenu(false);
-        _isSearching = true;
+        setBusy();
         emit searchForTranslations(words);
     }
 }
@@ -200,22 +178,20 @@ void SearchBarWidget::setEnabled(bool enabled) {
     historyShowToolButton->setEnabled(enabled);
 }
 
-void SearchBarWidget::showBusy() {
+void SearchBarWidget::setBusy() {
+    if(_isSearching) return;
     searchingProgressBar->show();
+    searchPushButton->setText(tr("Stop"));
     setEnabled(false);
+    _isSearching = true;
 }
 
-void SearchBarWidget::showIdle() {
+void SearchBarWidget::setIdle() {
+    if(!_isSearching) return;
     searchingProgressBar->hide();
+    searchPushButton->setText(tr("Search"));
     setEnabled(true);
-}
-
-void SearchBarWidget::searchFinished() {
-        searchingProgressBar->hide();
-        searchPushButton->setText(tr("Search"));
-        setEnabled(true);
-        emit enableMenu(true);
-        _isSearching = false;
+    _isSearching = false;
 }
 
 void SearchBarWidget::historyNextToolButtonClicked() {