From: Peter Penz Date: Tue, 26 Jan 2010 09:01:38 +0000 (+0000) Subject: Don't show the search options again, if the user closed them and cleared the search... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/6c326f9962b9664ac601640bf8cc49b50c046c27 Don't show the search options again, if the user closed them and cleared the search box. BUG: 218880 svn path=/trunk/KDE/kdebase/apps/; revision=1080372 --- diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp index 1dcb381dd..7eb7206ac 100644 --- a/src/search/dolphinsearchbox.cpp +++ b/src/search/dolphinsearchbox.cpp @@ -251,7 +251,9 @@ DolphinSearchBox::DolphinSearchBox(QWidget* parent) : connect(m_searchInput, SIGNAL(returnPressed()), this, SLOT(emitSearchSignal())); connect(m_searchInput, SIGNAL(textChanged(QString)), - this, SIGNAL(searchTextChanged(QString))); + this, SLOT(slotTextChanged(QString))); + connect(m_searchInput, SIGNAL(clearButtonClicked()), + this, SLOT(slotClearButtonClicked())); } DolphinSearchBox::~DolphinSearchBox() @@ -284,7 +286,9 @@ bool DolphinSearchBox::eventFilter(QObject* watched, QEvent* event) if (m_completer == 0) { m_completer = new DolphinSearchCompleter(m_searchInput); } - emit requestSearchOptions(); + if (m_searchInput->text().isEmpty()) { + emit requestSearchOptions(); + } } return QWidget::eventFilter(watched, event); @@ -296,4 +300,12 @@ void DolphinSearchBox::emitSearchSignal() emit search(m_searchInput->text()); } +void DolphinSearchBox::slotTextChanged(const QString& text) +{ + if (!text.isEmpty()) { + emit requestSearchOptions(); + } + emit searchTextChanged(text); +} + #include "dolphinsearchbox.moc" diff --git a/src/search/dolphinsearchbox.h b/src/search/dolphinsearchbox.h index ac5253d49..73e4936df 100644 --- a/src/search/dolphinsearchbox.h +++ b/src/search/dolphinsearchbox.h @@ -94,15 +94,16 @@ signals: void searchTextChanged(const QString& text); /** - * Is emitted if the search box gets the focus and - * requests the need for a UI that allows to adjust - * search options. It is up to the application to ignore + * Is emitted if the search box gets the focus or the text + * has been changed. It requests the need for an UI that allows to + * adjust search options. It is up to the application to ignore * this request. */ void requestSearchOptions(); private slots: void emitSearchSignal(); + void slotTextChanged(const QString& text); private: KLineEdit* m_searchInput;