diff --git a/src/gui/search/searchwidget.cpp b/src/gui/search/searchwidget.cpp
index 23dc59b84..70b0bfcec 100644
--- a/src/gui/search/searchwidget.cpp
+++ b/src/gui/search/searchwidget.cpp
@@ -118,6 +118,8 @@ SearchWidget::SearchWidget(MainWindow *mainWindow)
fillCatCombobox();
fillPluginComboBox();
+ selectActivePage();
+
connect(m_ui->m_searchPattern, SIGNAL(returnPressed()), m_ui->searchButton, SLOT(click()));
connect(m_ui->m_searchPattern, SIGNAL(textEdited(QString)), this, SLOT(searchTextEdited(QString)));
connect(m_ui->selectPlugin, SIGNAL(currentIndexChanged(int)), this, SLOT(selectMultipleBox(int)));
@@ -169,6 +171,24 @@ QString SearchWidget::selectedPlugin() const
return m_ui->selectPlugin->itemData(m_ui->selectPlugin->currentIndex()).toString();
}
+void SearchWidget::selectActivePage()
+{
+ if (m_searchEngine->allPlugins().isEmpty()) {
+ m_ui->stackedPages->setCurrentWidget(m_ui->emptyPage);
+ m_ui->m_searchPattern->setEnabled(false);
+ m_ui->comboCategory->setEnabled(false);
+ m_ui->selectPlugin->setEnabled(false);
+ m_ui->searchButton->setEnabled(false);
+ }
+ else {
+ m_ui->stackedPages->setCurrentWidget(m_ui->searchPage);
+ m_ui->m_searchPattern->setEnabled(true);
+ m_ui->comboCategory->setEnabled(true);
+ m_ui->selectPlugin->setEnabled(true);
+ m_ui->searchButton->setEnabled(true);
+ }
+}
+
SearchWidget::~SearchWidget()
{
qDebug("Search destruction");
@@ -224,6 +244,7 @@ void SearchWidget::on_pluginsButton_clicked()
PluginSelectDlg *dlg = new PluginSelectDlg(m_searchEngine, this);
connect(dlg, SIGNAL(pluginsChanged()), this, SLOT(fillCatCombobox()));
connect(dlg, SIGNAL(pluginsChanged()), this, SLOT(fillPluginComboBox()));
+ connect(dlg, &PluginSelectDlg::pluginsChanged, this, &SearchWidget::selectActivePage);
}
void SearchWidget::searchTextEdited(QString)
diff --git a/src/gui/search/searchwidget.h b/src/gui/search/searchwidget.h
index b2c553115..1f582ae70 100644
--- a/src/gui/search/searchwidget.h
+++ b/src/gui/search/searchwidget.h
@@ -82,6 +82,7 @@ private slots:
void fillCatCombobox();
void fillPluginComboBox();
+ void selectActivePage();
void searchTextEdited(QString);
private:
diff --git a/src/gui/search/searchwidget.ui b/src/gui/search/searchwidget.ui
index d3acb07f0..c8b86ddf9 100644
--- a/src/gui/search/searchwidget.ui
+++ b/src/gui/search/searchwidget.ui
@@ -13,7 +13,7 @@
Search
-
+
-
-
@@ -55,10 +55,60 @@
-
-
-
- true
+
+
+ 1
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ There aren't any search plugins installed.
+Click the "Search plugins..." button at the bottom right of the window to install some.
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ true
+
+
+
+
+
-