Some optimization to settings and searching.
[jenirok] / src / gui / mainwindow.cpp
index 3e62491..4388860 100644 (file)
@@ -186,7 +186,7 @@ void MainWindow::toggleDaemon()
 
 }
 
-void MainWindow::openSearch()
+void MainWindow::openSearch(QString const& str)
 {
     Source::SourceId sourceId = Source::stringToId(Settings::instance()->get("source"));
     SourceCoreConfig* config = SourceCoreConfig::getCoreConfig(sourceId);
@@ -206,7 +206,7 @@ void MainWindow::openSearch()
     {
         searchDialog_ = new SearchDialog(this);
         connect(searchDialog_, SIGNAL(search(SearchDialog::SearchDetails&)),
-                this, SLOT(handleSearch(SearchDialog::SearchDetails&)));
+                this, SIGNAL(search(SearchDialog::SearchDetails&)));
 
         if(settingsDialog_)
         {
@@ -214,6 +214,11 @@ void MainWindow::openSearch()
         }
     }
 
+    if(!str.isEmpty())
+    {
+        searchDialog_->setSearchString(str);
+    }
+
     searchDialog_->show();
 }
 
@@ -223,6 +228,7 @@ void MainWindow::openLog()
     {
         logWindow_ = new LogWindow(this);
         connect(logWindow_, SIGNAL(logItemSelected(Source::Result const&)), this, SIGNAL(logItemSelected(Source::Result const&)));
+        connect(logWindow_, SIGNAL(openSearch(QString const&)), this, SLOT(openSearch(QString const&)));
     }
 
     logWindow_->show();
@@ -236,11 +242,6 @@ QToolButton* MainWindow::createButton(QString const& text)
     return button;
 }
 
-void MainWindow::handleSearch(SearchDialog::SearchDetails& details)
-{
-    emit search(details);
-}
-
 void MainWindow::showAbout()
 {
     if(!aboutDialog_)