53a2eb69358636b67bf173671985ab1be8fafc92
[mdictionary] / trunk / src / base / gui / MainWindow.cpp
1 /*******************************************************************************
2
3     This file is part of mDictionary.
4
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.
9
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.
14
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/>.
17
18     Copyright 2010 Comarch S.A.
19
20 *******************************************************************************/
21
22 //Created by Mateusz Półrola
23
24 #include "MainWindow.h"
25 #include "ui_MainWindow.h"
26
27 MainWindow::MainWindow(Backbone *backbone, QWidget *parent):
28     QMainWindow(parent),
29     ui(new Ui::MainWindow) {
30
31     this->backbone = backbone;
32
33     ui->setupUi(this);
34
35     #ifdef Q_WS_MAEMO_5
36         setAttribute(Qt::WA_Maemo5StackedWindow);
37     #endif
38
39     searchBarWidget = new SearchBarWidget(backbone);
40     wordListWidget = new WordListWidget(backbone);
41     translationWidget = new TranslationWidget(backbone, this);
42     menuWidget = new MenuWidget(this);
43
44
45     menuWidget->addSubMenu(tr("Dictionaries"), new QPushButton("Dictionaries"));
46     menuWidget->addSubMenu(tr("Settings"), new QPushButton("Settings"));
47     menuWidget->addSubMenu(tr("About"), new QPushButton("About"));
48
49     ui->menuBar->addAction(menuWidget);
50
51
52     connect(wordListWidget, SIGNAL(clicked(QModelIndex)),
53             translationWidget, SLOT(show(QModelIndex)));
54
55     ui->centralWidget->layout()->addWidget(wordListWidget);
56     ui->centralWidget->layout()->addWidget(searchBarWidget);
57
58
59     connect(this, SIGNAL(quit()),
60             backbone, SLOT(quit()));
61
62     connect(backbone, SIGNAL(closeOk()),
63             this, SLOT(closeOk()));
64 }
65
66 MainWindow::~MainWindow() {
67     delete ui;
68 }
69
70
71 void MainWindow::closeEvent(QCloseEvent *event) {
72     if(searchBarWidget->isSearching()) {
73         emit quit();
74         event->ignore();
75     }
76 }
77
78 void MainWindow::closeOk() {
79     QMainWindow::close();
80 }