Fix random error when remove word from bookmark. Fix show all bookmark feature.
[mdictionary] / src / mdictionary / gui / MainWindow.cpp
index 915cf2d..f8582dd 100644 (file)
@@ -116,7 +116,8 @@ void MainWindow::initializeSearchWidgets() {
         splitter->setStretchFactor(1, 150);
 
         mainLayout->addWidget(splitter, 1);
-        mainLayout->addWidget(searchBarWidget, 0, Qt::AlignBottom);
+
+        mainLayout->addWidget(searchBarWidget,0, Qt::AlignBottom);
     #endif
 }
 
@@ -234,7 +235,6 @@ void MainWindow::wordListReady() {
             setExactSearch(false);
         }
     }
-
     wordListWidget->setFocus();
 }
 
@@ -294,7 +294,7 @@ QHash<CommonDictInterface*, bool> MainWindow::getDictionaries() {
     return backbone->getDictionaries();
 }
 
-
+/**/
 void MainWindow::search(QString word) {
     setExactSearch(false);
     searchBarWidget->search(word);
@@ -371,16 +371,11 @@ void MainWindow::enableMenu() {
 }
 
 void MainWindow::showHistory(QPoint p) {
-
-    HistoryListDialog historyDialog(backbone->history()->list(), searchBarWidget);
-
+    HistoryListDialog historyDialog(backbone->history()->list(), this );// searchBarWidget);
     #ifndef Q_WS_MAEMO_5
-        QPoint newPos = mapFromGlobal(p);
-        newPos.setY(searchBarWidget->pos().y() -
-                    historyDialog.sizeHint().height());
-        newPos.setX(width() - historyDialog.sizeHint().width());
-
-        historyDialog.move(newPos);
+        p.setX(p.x() - historyDialog.sizeHint().width() + 5);
+        p.setY(p.y() - historyDialog.sizeHint().height()- 10); //- 80);
+        historyDialog.move(p);
     #endif
 
     if(historyDialog.exec() == QDialog::Accepted) {
@@ -468,6 +463,9 @@ void MainWindow::connectBackbone() {
     connect(backbone, SIGNAL(closeOk()),
             this, SLOT(close()));
 
+    connect(backbone, SIGNAL(bookmarkMode()),
+            this, SIGNAL(bookmarkMode()));
+
 
     //connect(wordListWidget, SIGNAL(addBookmark(QList<Translation*>)),
     //       this, SIGNAL(setBusy()));
@@ -523,6 +521,9 @@ void MainWindow::connectWordList() {
     connect(this, SIGNAL(setIdle()),
             wordListWidget, SLOT(unlockList()));
 
+    connect(this, SIGNAL(bookmarkMode()),
+            wordListWidget, SLOT(bookmarkModeActive()));
+
     connect(wordListWidget, SIGNAL(addBookmark(QList<Translation*>)),
             backbone, SLOT(addBookmark(QList<Translation*>)));
 
@@ -605,6 +606,4 @@ void MainWindow::removeBookmarks() {
         backbone->removeAllBookmarks();
         ((WordListWidget*)wordListWidget)->clear();
     }
-
-
 }