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 + + + + +