diff options
Diffstat (limited to 'src/plugins/Ui/qsui/qsuiquicksearch.cpp')
| -rw-r--r-- | src/plugins/Ui/qsui/qsuiquicksearch.cpp | 14 |
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()); } |
