Clean and order documentation in source files. Source ready to beta 2 release
[mdictionary] / src / mdictionary / gui / MainWindow.cpp
index e94295a..915cf2d 100644 (file)
 
 *******************************************************************************/
 
-//! \file MainWindow.cpp
-//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+/*! \file MainWindow.cpp
+    \brief Implements interface for GUI
+
+    \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
 
 #include "MainWindow.h"
 #include <QtGui>
@@ -47,13 +50,14 @@ MainWindow::MainWindow(Backbone *backbone, QWidget *parent):
 
     setExactSearch(false);
 
+    setMinimumSize(750, 400);
+
     showMaximized();
 
     searchBarWidget->setFocus();
 }
 
 MainWindow::~MainWindow() {
-
 }
 
 
@@ -111,8 +115,8 @@ void MainWindow::initializeSearchWidgets() {
         splitter->addWidget(welcomeScreenWidget);
         splitter->setStretchFactor(1, 150);
 
-        mainLayout->addWidget(splitter);
-        mainLayout->addWidget(searchBarWidget);
+        mainLayout->addWidget(splitter, 1);
+        mainLayout->addWidget(searchBarWidget, 0, Qt::AlignBottom);
     #endif
 }
 
@@ -132,15 +136,15 @@ void MainWindow::initializeMenu() {
     connect(menuWidget, SIGNAL(setApplicationMenu(QWidget*)),
             notifyManager, SLOT(setMenu(QWidget*)));
 #else
-    dictionariesAction = menuBar->addAction(tr("Dictionaries"));
+    dictionariesAction = menuBar->addAction(tr("&Dictionaries"));
     connect(dictionariesAction, SIGNAL(triggered()),
             dictManagerWidget, SLOT(show()));
 
-    settingsAction = menuBar->addAction(tr("Settings"));
+    settingsAction = menuBar->addAction(tr("&Settings"));
     connect(settingsAction, SIGNAL(triggered()),
             settingsWidget, SLOT(show()));
 
-    QMenu* m = menuBar->addMenu(tr("Bookmarks"));
+    QMenu* m = menuBar->addMenu(tr("&Bookmarks"));
     bookmarksShowAllAction = new QAction(tr("Show all"), m);
 
     bookmarksRemoveAllAction = new QAction(tr("Remove all"), m);
@@ -148,7 +152,7 @@ void MainWindow::initializeMenu() {
     m->addAction(bookmarksShowAllAction);
     m->addAction(bookmarksRemoveAllAction);
 
-    aboutAction = menuBar->addAction(tr("About"));
+    aboutAction = menuBar->addAction(tr("&About"));
     connect(aboutAction, SIGNAL(triggered()),
             aboutWidget, SLOT(show()));
 
@@ -230,6 +234,8 @@ void MainWindow::wordListReady() {
             setExactSearch(false);
         }
     }
+
+    wordListWidget->setFocus();
 }
 
 bool MainWindow::checkExactSearch(
@@ -253,7 +259,8 @@ void MainWindow::translationsReady() {
         hideWelcomeScreen();
     #endif
 
-    Q_EMIT showTranslation(backbone->htmls());
+    Q_EMIT showTranslation(backbone->xmls());
+    wordListWidget->setFocus();
     #ifdef Q_WS_MAEMO_5
         notifyManager->screenChanged();
     #endif
@@ -291,6 +298,12 @@ QHash<CommonDictInterface*, bool> MainWindow::getDictionaries() {
 void MainWindow::search(QString word) {
     setExactSearch(false);
     searchBarWidget->search(word);
+    #ifdef Q_WS_MAEMO_5
+    if(translationWidget->isVisible()) {
+            translationWidget->hide();
+            update();
+        }
+    #endif
 }
 
 void MainWindow::searchExact(QString word) {
@@ -415,7 +428,7 @@ void MainWindow::connectBackbone() {
             backbone, SLOT(search(QString)));
 
     connect(this, SIGNAL(searchTranslations(QList<Translation*>)),
-            backbone, SLOT(searchHtml(QList<Translation*>)));
+            backbone, SLOT(searchXml(QList<Translation*>)));
 
     connect(this, SIGNAL(stopSearching()),
             backbone, SLOT(stopSearching()));
@@ -436,14 +449,14 @@ void MainWindow::connectBackbone() {
     connect(backbone, SIGNAL(ready()),
             this, SIGNAL(setIdle()));
 
-    connect(backbone, SIGNAL(htmlReady()),
+    connect(backbone, SIGNAL(xmlReady()),
             this, SIGNAL(setIdle()));
 
 
     connect(backbone, SIGNAL(ready()),
             this, SLOT(wordListReady()));
 
-    connect(backbone, SIGNAL(htmlReady()),
+    connect(backbone, SIGNAL(xmlReady()),
             this, SLOT(translationsReady()));
 
     connect(backbone, SIGNAL(searchCanceled()),
@@ -451,6 +464,16 @@ void MainWindow::connectBackbone() {
 
     connect(backbone, SIGNAL(notify(Notify::NotifyType,QString)),
             this, SLOT(showNotification(Notify::NotifyType,QString)));
+
+    connect(backbone, SIGNAL(closeOk()),
+            this, SLOT(close()));
+
+
+    //connect(wordListWidget, SIGNAL(addBookmark(QList<Translation*>)),
+    //       this, SIGNAL(setBusy()));
+
+    //connect(backbone, SIGNAL(bookmarkReady()),
+    //        this, SIGNAL(setIdle()));
 }
 
 void MainWindow::connectSearchBar() {
@@ -514,12 +537,14 @@ void MainWindow::connectTranslationWidget() {
      #ifdef Q_WS_MAEMO_5
         connect(translationWidget, SIGNAL(search(QString)),
                 this, SLOT(search(QString)));
+
+        connect(translationWidget, SIGNAL(notify(Notify::NotifyType, QString)),
+                this, SLOT(showNotification(Notify::NotifyType,QString)));
     #else
         connect(translationWidget, SIGNAL(search(QString)),
                 this, SLOT(searchExact(QString)));
     #endif
 
-
 }
 
 void MainWindow::connectDictManager() {
@@ -545,7 +570,7 @@ void MainWindow::connectMenu() {
 
 void MainWindow::connectBookmarksWidget() {
     #ifdef Q_WS_MAEMO_5
-        //after removing bookmarks we search for them once again to clear word list
+        //after removing bookmarks we search for them once again to clear the words list
         connect(bookmarksWidget, SIGNAL(removeAllBookmarks()),
                 this, SLOT(removeBookmarks()));
 
@@ -575,8 +600,11 @@ void MainWindow::removeBookmarks() {
         par = this;
     #endif
     if(QMessageBox::question(par, tr("Delete all bookmarks"),
-             tr("Do you want to delete all bookmarks? (This action cannot be revoked)"),
+             tr("Do you want to delete all bookmarks? (This action cannot be revoked, and will clear current word list)"),
              QMessageBox::Yes, QMessageBox::Cancel) == QMessageBox::Yes) {
         backbone->removeAllBookmarks();
+        ((WordListWidget*)wordListWidget)->clear();
     }
+
+
 }