Added call log and German translation.
[jenirok] / src / gui / mainwindow.cpp
index 2d4800d..3e62491 100644 (file)
@@ -43,7 +43,8 @@ namespace
 
 MainWindow::MainWindow(QWidget* parent): QMainWindow(parent),
 searchResults_(0), settingsDialog_(0), running_(false),
-toggleButton_(0), searchDialog_(0), aboutDialog_(0), warning_(0)
+toggleButton_(0), searchDialog_(0), aboutDialog_(0), warning_(0),
+logWindow_(0)
 {
     setWindowTitle(tr("Jenirok"));
     setAttribute(Qt::WA_Maemo5StackedWindow);
@@ -62,21 +63,35 @@ toggleButton_(0), searchDialog_(0), aboutDialog_(0), warning_(0)
         running_ = false;
     }
 
+    QSizePolicy policy;
+
+    policy.setHorizontalPolicy(QSizePolicy::Preferred);
+
+    toggleButton_->setSizePolicy(policy);
+
     QToolButton* searchButton = createButton(tr("Search"));
     searchButton->setIcon(QIcon::fromTheme("general_search"));
+    searchButton->setSizePolicy(policy);
+
+    QToolButton* logButton = createButton(tr("Log"));
+    logButton->setIcon(QIcon::fromTheme("general_call"));
+    logButton->setSizePolicy(policy);
 
     QSize size(64, 64);
     searchButton->setIconSize(size);
     toggleButton_->setIconSize(size);
+    logButton->setIconSize(size);
 
     QHBoxLayout *buttonLayout = new QHBoxLayout;
-    buttonLayout->addWidget(toggleButton_, Qt::AlignLeft);
-    buttonLayout->addWidget(searchButton, Qt::AlignRight);
+    buttonLayout->addWidget(toggleButton_, Qt::AlignHCenter);
+    buttonLayout->addWidget(searchButton, Qt::AlignHCenter);
+    buttonLayout->addWidget(logButton, Qt::AlignHCenter);
 
     mainWidget->setLayout(buttonLayout);
 
     connect(toggleButton_, SIGNAL(pressed()), this, SLOT(toggleDaemon()));
     connect(searchButton, SIGNAL(pressed()), this, SLOT(openSearch()));
+    connect(logButton, SIGNAL(pressed()), this, SLOT(openLog()));
 
     setCentralWidget(mainWidget);
     menuBar()->addAction(tr("Settings"), this, SLOT(showSettings()));
@@ -202,6 +217,17 @@ void MainWindow::openSearch()
     searchDialog_->show();
 }
 
+void MainWindow::openLog()
+{
+    if(!logWindow_)
+    {
+        logWindow_ = new LogWindow(this);
+        connect(logWindow_, SIGNAL(logItemSelected(Source::Result const&)), this, SIGNAL(logItemSelected(Source::Result const&)));
+    }
+
+    logWindow_->show();
+}
+
 QToolButton* MainWindow::createButton(QString const& text)
 {
     QToolButton* button = new QToolButton();