aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/Ui/qsui/qsuiquicksearch.cpp14
-rw-r--r--src/plugins/Ui/qsui/qsuiquicksearch.h4
2 files changed, 17 insertions, 1 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());
}
diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.h b/src/plugins/Ui/qsui/qsuiquicksearch.h
index 2cb0240b1..d85b8faaa 100644
--- a/src/plugins/Ui/qsui/qsuiquicksearch.h
+++ b/src/plugins/Ui/qsui/qsuiquicksearch.h
@@ -27,6 +27,7 @@
class QLineEdit;
class PlayListManager;
class ListWidget;
+class QToolButton;
/**
@author Ilya Kotov <forkotov02@hotmail.ru>
@@ -38,12 +39,13 @@ public:
explicit QSUIQuickSearch(ListWidget *listWidget, QWidget *parent = 0);
private slots:
- void onTextEdited(const QString &str);
+ void onTextChanged(const QString &str);
private:
QLineEdit *m_lineEdit;
PlayListManager *m_manager;
ListWidget *m_listWidget;
+ QToolButton *m_clearButton;
};