Updated comments
[mdictionary] / trunk / src / base / gui / MainWindow.cpp
index a13f93c..a9a70d9 100644 (file)
@@ -33,10 +33,6 @@ MainWindow::MainWindow(Backbone *backbone, QWidget *parent):
     GUIInterface(parent),
     ui(new Ui::MainWindow) {
 
-    #ifdef Q_WS_MAEMO_5
-        setAttribute(Qt::WA_Maemo5StackedWindow);
-    #endif
-
     this->backbone = backbone;
 
     initializeUI();
@@ -65,10 +61,9 @@ MainWindow::~MainWindow() {
 void MainWindow::initializeUI() {
     ui->setupUi(this);
 
-    //showFullScreen();
-    //sets attribute to maemo's stacked window
-
-
+    #ifdef Q_WS_MAEMO_5
+        setAttribute(Qt::WA_Maemo5StackedWindow);
+    #endif
 
     searchBarWidget = new SearchBarWidget;
 
@@ -80,19 +75,24 @@ void MainWindow::initializeUI() {
 
     welcomeScreenWidget = new WelcomeScreenWidget;
 
+
     #ifdef Q_WS_MAEMO_5
+    //At start we set widget as welcome screen widget
         ui->centralWidget->layout()->addWidget(welcomeScreenWidget);
+        QVBoxLayout* vl = (QVBoxLayout*)(ui->centralWidget->layout());
+        vl->addWidget(searchBarWidget, 0, Qt::AlignBottom);
     #else
         translationWidget->hide();
+        //we add to splitter word list and welcome screen
         splitter = new QSplitter(Qt::Horizontal);
         splitter->addWidget(wordListWidget);
         splitter->addWidget(welcomeScreenWidget);
         splitter->setStretchFactor(1, 150);
         ui->centralWidget->layout()->addWidget(splitter);
+        ui->centralWidget->layout()->addWidget(searchBarWidget);
     #endif
 
-    QVBoxLayout* vl = (QVBoxLayout*)(ui->centralWidget->layout());
-    vl->addWidget(searchBarWidget, 0, Qt::AlignBottom);
+
 
     dictManagerWidget = new DictManagerWidget(this);
     dictManagerWidget->hide();
@@ -103,15 +103,19 @@ void MainWindow::initializeUI() {
     bookmarksWidget = new BookmarksWidget(this);
     bookmarksWidget->hide();
 
-    menu = new QMenu(this);
+    aboutWidget = new AboutWidget(this);
+    aboutWidget->hide();
+
+
+    //creating menus
+
     #ifdef Q_WS_MAEMO_5
         menuWidget = new MenuWidget(this);
         menuWidget->addSubMenu(tr("Settings"), settingsWidget);
         menuWidget->addSubMenu(tr("Dictionaries"), dictManagerWidget);
         menuWidget->addSubMenu(tr("Bookmarks"), bookmarksWidget);
-        menuWidget->addSubMenu(tr("About"), new QPushButton("About"));
-        menu->addAction(menuWidget);
-        ui->menuBar->addMenu(menu);
+        menuWidget->addSubMenu(tr("About"), aboutWidget);
+        ui->menuBar->addAction(menuWidget);
     #else
         dictionariesAction = ui->menuBar->addAction(tr("Dictionaries"));
         connect(dictionariesAction, SIGNAL(triggered()),
@@ -121,9 +125,17 @@ void MainWindow::initializeUI() {
         connect(settingsAction, SIGNAL(triggered()),
                 settingsWidget, SLOT(show()));
 
-        bookmarksAction = ui->menuBar->addAction(tr("Bookmarks"));
-        connect(bookmarksAction, SIGNAL(triggered()),
-                bookmarksWidget, SLOT(show()));
+        QMenu* m = ui->menuBar->addMenu(tr("Bookmarks"));
+        bookmarksShowAllAction = new QAction(tr("Show all"), m);
+
+        bookmarksRemoveAllAction = new QAction(tr("Remove all"), m);
+
+        m->addAction(bookmarksShowAllAction);
+        m->addAction(bookmarksRemoveAllAction);
+
+        aboutAction = ui->menuBar->addAction(tr("About"));
+        connect(aboutAction, SIGNAL(triggered()),
+                aboutWidget, SLOT(show()));
     #endif
 
 }
@@ -152,12 +164,13 @@ void MainWindow::wordListReady() {
     QHash<QString, QList<Translation*> > searchResult;
 
     #ifdef Q_WS_MAEMO_5
+    //switch welcome screen with word list
     if(!wordListWidget->isVisible()) {
         int i = ui->centralWidget->layout()->indexOf(welcomeScreenWidget);
         QBoxLayout* l = (QBoxLayout*)(ui->centralWidget->layout());
         l->removeWidget(welcomeScreenWidget);
+        welcomeScreenWidget->deleteLater();
         l->insertWidget(0, wordListWidget);
-        qDebug()<<"changed";
     }
     #endif
 
@@ -184,6 +197,7 @@ void MainWindow::wordListReady() {
         }
         else {
             #ifndef Q_WS_MAEMO_5
+            //on desktop we show word list in exact search
                 emit showWordList(searchResult);
             #endif
             bool foundExactMatch = false;
@@ -213,6 +227,7 @@ void MainWindow::wordListReady() {
 
 void MainWindow::translationsReady() {
     #ifndef Q_WS_MAEMO_5
+    //switch welcome screen with translation widget
     if(!translationWidget->isVisible()) {
         int i = ui->centralWidget->layout()->indexOf(welcomeScreenWidget);
         QBoxLayout* l = (QBoxLayout*)(ui->centralWidget->layout());
@@ -220,7 +235,6 @@ void MainWindow::translationsReady() {
         s->insertWidget(1,translationWidget);
         s->setStretchFactor(1, 150);
         welcomeScreenWidget->deleteLater();
-        qDebug()<<"changed";
     }
     #endif
 
@@ -457,17 +471,31 @@ void MainWindow::connectMenu() {
 }
 
 
-void MainWindow::showAllBookmarks() {
-    qDebug()<<"asdas";
-}
-
 void MainWindow::connectBookmarksWidget() {
-    connect(bookmarksWidget, SIGNAL(removeAllBookmarks()),
-            backbone, SLOT(removeAllBookmark()));
+    #ifdef Q_WS_MAEMO_5
+        //after removing bookmarks we search for it once again to clear word list
+        connect(bookmarksWidget, SIGNAL(removeAllBookmarks()),
+                backbone, SLOT(removeAllBookmark()));
+
+        connect(bookmarksWidget, SIGNAL(removeAllBookmarks()),
+                backbone, SLOT(fetchBookmarks()));
 
-    connect(bookmarksWidget, SIGNAL(showAllBookmarks()),
-            menu, SLOT(hide()));
 
-    connect(menu, SIGNAL(aboutToHide()),
-            this, SLOT(showAllBookmarks()));
+        connect(bookmarksWidget, SIGNAL(showAllBookmarks()),
+                menuWidget, SLOT(hideMenu()));
+
+        connect(bookmarksWidget, SIGNAL(showAllBookmarks()),
+                backbone, SLOT(fetchBookmarks()));
+
+
+    #else
+        connect(bookmarksShowAllAction, SIGNAL(triggered()),
+                backbone, SLOT(fetchBookmarks()));
+
+        connect(bookmarksRemoveAllAction, SIGNAL(triggered()),
+                backbone, SLOT(removeAllBookmark()));
+
+        connect(bookmarksRemoveAllAction, SIGNAL(triggered()),
+                backbone, SLOT(fetchBookmarks()));
+    #endif
 }