MainWindow::MainWindow(Backbone *backbone, QWidget *parent):
- GUIInterface(parent),
- ui(new Ui::MainWindow) {
+ GUIInterface(parent) {
this->backbone = backbone;
+
initializeUI();
connectBackbone();
connectMenu();
connectBookmarksWidget();
-
-
setExactSearch(false);
setWindowTitle("mDictionary");
}
MainWindow::~MainWindow() {
- delete ui;
+
}
void MainWindow::initializeUI() {
- ui->setupUi(this);
#ifdef Q_WS_MAEMO_5
setAttribute(Qt::WA_Maemo5StackedWindow);
#endif
- searchBarWidget = new SearchBarWidget;
-
- wordListWidget = new WordListWidget;
-
//translationWidget is antoher stacked window, so we don't add it to layout
//only create it with this widget as parent
translationWidget = new TranslationWidget(this);
+
+ mainLayout = new QVBoxLayout;
+ QWidget* w = new QWidget;
+ w->setLayout(mainLayout);
+ setCentralWidget(w);
+ menuBar = new QMenuBar;
+ setMenuBar(menuBar);
+
+ searchBarWidget = new SearchBarWidget;
+
+ wordListWidget = new WordListWidget;
+
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);
+ mainLayout->addWidget(welcomeScreenWidget);
+ mainLayout->addWidget(searchBarWidget, 0, Qt::AlignBottom);
#else
translationWidget->hide();
//we add to splitter word list and welcome screen
splitter->addWidget(wordListWidget);
splitter->addWidget(welcomeScreenWidget);
splitter->setStretchFactor(1, 150);
- ui->centralWidget->layout()->addWidget(splitter);
- ui->centralWidget->layout()->addWidget(searchBarWidget);
+ mainLayout->addWidget(splitter);
+ mainLayout->addWidget(searchBarWidget);
#endif
-
dictManagerWidget = new DictManagerWidget(this);
dictManagerWidget->hide();
aboutWidget = new AboutWidget(this);
aboutWidget->hide();
-
//creating menus
#ifdef Q_WS_MAEMO_5
menuWidget->addSubMenu(tr("Dictionaries"), dictManagerWidget);
menuWidget->addSubMenu(tr("Bookmarks"), bookmarksWidget);
menuWidget->addSubMenu(tr("About"), aboutWidget);
- ui->menuBar->addAction(menuWidget);
+ menuBar->addAction(menuWidget);
#else
- dictionariesAction = ui->menuBar->addAction(tr("Dictionaries"));
+ dictionariesAction = menuBar->addAction(tr("Dictionaries"));
connect(dictionariesAction, SIGNAL(triggered()),
dictManagerWidget, SLOT(show()));
- settingsAction = ui->menuBar->addAction(tr("Settings"));
+ settingsAction = menuBar->addAction(tr("Settings"));
connect(settingsAction, SIGNAL(triggered()),
settingsWidget, SLOT(show()));
- QMenu* m = ui->menuBar->addMenu(tr("Bookmarks"));
+ QMenu* m = 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"));
+ aboutAction = menuBar->addAction(tr("About"));
connect(aboutAction, SIGNAL(triggered()),
aboutWidget, SLOT(show()));
#endif
-
}
void MainWindow::closeEvent(QCloseEvent *event) {
#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());
+ int i = mainLayout->indexOf(welcomeScreenWidget);
+ QBoxLayout* l = (QBoxLayout*)(mainLayout);
l->removeWidget(welcomeScreenWidget);
welcomeScreenWidget->deleteLater();
l->insertWidget(0, wordListWidget);
#ifndef Q_WS_MAEMO_5
//switch welcome screen with translation widget
if(!translationWidget->isVisible()) {
- QBoxLayout* l = (QBoxLayout*)(ui->centralWidget->layout());
+ QBoxLayout* l = (QBoxLayout*)(mainLayout);
QSplitter* s = (QSplitter*)((QWidgetItem*)(l->itemAt(0))->widget());
s->insertWidget(1,translationWidget);
s->setStretchFactor(1, 150);
void MainWindow::addToHistory(QList<Translation *> trans) {
if(trans.count() > 0) {
backbone->history()->add(trans[0]->key());
- translationWidget->setWindowTitle(trans[0]->key());
}
}
void MainWindow::disableMenu() {
#ifdef Q_WS_MAEMO_5
- if(ui->menuBar->actions().contains(menuWidget)) {
- ui->menuBar->removeAction(menuWidget);
+ if(menuBar->actions().contains(menuWidget)) {
+ menuBar->removeAction(menuWidget);
}
#else
- ui->menuBar->setEnabled(false);
+ menuBar->setEnabled(false);
#endif
}
void MainWindow::enableMenu() {
#ifdef Q_WS_MAEMO_5
- if(!ui->menuBar->actions().contains(menuWidget)) {
- ui->menuBar->addAction(menuWidget);
+ if(!menuBar->actions().contains(menuWidget)) {
+ menuBar->addAction(menuWidget);
}
#else
- ui->menuBar->setEnabled(true);
+ menuBar->setEnabled(true);
#endif
}