┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-01-26 09:01:38 +0000
committerPeter Penz <[email protected]>2010-01-26 09:01:38 +0000
commit6c326f9962b9664ac601640bf8cc49b50c046c27 (patch)
tree3db6d39eb20ff9aa343b523204a2a3f9282e8642
parente536466ac75e7fa3cfdc18728596beac36996128 (diff)
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
-rw-r--r--src/search/dolphinsearchbox.cpp16
-rw-r--r--src/search/dolphinsearchbox.h7
2 files changed, 18 insertions, 5 deletions
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;