aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/qsuiquicksearch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Ui/qsui/qsuiquicksearch.cpp')
-rw-r--r--src/plugins/Ui/qsui/qsuiquicksearch.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.cpp b/src/plugins/Ui/qsui/qsuiquicksearch.cpp
index 2763c9542..686c18f05 100644
--- a/src/plugins/Ui/qsui/qsuiquicksearch.cpp
+++ b/src/plugins/Ui/qsui/qsuiquicksearch.cpp
@@ -42,6 +42,20 @@ QSUIQuickSearch::QSUIQuickSearch(ListWidget *listWidget, QWidget *parent) :
layout->addWidget(m_lineEdit);
m_lineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
connect(m_lineEdit, SIGNAL(textEdited(QString)), m_listWidget, SLOT(setFilterString(QString)));
+ connect(m_lineEdit, SIGNAL(textChanged(QString)), SLOT(onTextChanged(QString)));
connect(m_manager, SIGNAL(selectedPlayListChanged(PlayListModel*,PlayListModel*)), m_lineEdit, SLOT(clear()));
connect(m_listWidget, SIGNAL(doubleClicked()), m_lineEdit, SLOT(clear()));
+
+ m_clearButton = new QToolButton(this);
+ m_clearButton->setVisible(false);
+ m_clearButton->setAutoRaise(true);
+ m_clearButton->setIcon(QIcon::fromTheme("edit-clear"));
+ layout->addWidget(m_clearButton);
+ connect(m_clearButton, SIGNAL(clicked()), m_lineEdit, SLOT(clear()));
+ connect(m_clearButton, SIGNAL(clicked()), m_listWidget, SLOT(setFilterString()));
+}
+
+void QSUIQuickSearch::onTextChanged(const QString &str)
+{
+ m_clearButton->setVisible(!str.isEmpty());
}