1 /*******************************************************************************
3 This file is part of mDictionary.
5 mDictionary is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 mDictionary is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with mDictionary. If not, see <http://www.gnu.org/licenses/>.
18 Copyright 2010 Comarch S.A.
20 *******************************************************************************/
22 //Created by Mateusz Półrola
24 #include "MainWindow.h"
25 #include "ui_MainWindow.h"
26 #include "DictManagerWidget.h"
28 MainWindow::MainWindow(Backbone *backbone, QWidget *parent):
30 ui(new Ui::MainWindow) {
32 this->backbone = backbone;
37 setAttribute(Qt::WA_Maemo5StackedWindow);
40 searchBarWidget = new SearchBarWidget(backbone);
41 wordListWidget = new WordListWidget(backbone);
42 translationWidget = new TranslationWidget(backbone, this);
44 menuWidget = new MenuWidget(this);
45 menuWidget->addSubMenu(tr("Dictionaries"),
46 new DictManagerWidget(backbone, this));
47 menuWidget->addSubMenu(tr("Settings"), new QPushButton("Settings"));
48 menuWidget->addSubMenu(tr("About"), new QPushButton("About"));
50 ui->menuBar->addAction(menuWidget);
53 connect(this, SIGNAL(search(QString)),
54 searchBarWidget, SLOT(search(QString)));
56 connect(searchBarWidget, SIGNAL(busy()),
57 wordListWidget, SLOT(lockList()));
59 connect(searchBarWidget, SIGNAL(idle()),
60 wordListWidget, SLOT(unlockList()));
62 connect(wordListWidget, SIGNAL(selectedWord(QString)),
63 translationWidget, SLOT(setWindowTitle(QString)));
65 connect(wordListWidget, SIGNAL(clicked(QModelIndex)),
66 searchBarWidget, SLOT(setBusy()));
68 connect(searchBarWidget, SIGNAL(idle()),
69 this, SLOT(enableMenu()));
71 connect(searchBarWidget, SIGNAL(busy()),
72 this, SLOT(disableMenu()));
75 ui->centralWidget->layout()->addWidget(wordListWidget);
76 ui->centralWidget->layout()->addWidget(searchBarWidget);
79 connect(this, SIGNAL(quit()),
80 backbone, SLOT(quit()));
82 connect(backbone, SIGNAL(closeOk()),
83 this, SLOT(closeOk()));
85 closingApplication = false;
87 setWindowTitle("mDictionary");
90 MainWindow::~MainWindow() {
95 void MainWindow::closeEvent(QCloseEvent *event) {
100 void MainWindow::closeOk() {
101 /*QMessageBox::warning(this, "", "close");
102 closingApplication = true;
106 void MainWindow::searchExactWord(QString word) {
107 wordListWidget->setExactMatchString(word);
111 void MainWindow::enableMenu() {
112 if(!ui->menuBar->actions().contains(menuWidget)) {
113 ui->menuBar->addAction(menuWidget);
117 void MainWindow::disableMenu() {
118 ui->menuBar->removeAction(menuWidget);