aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/qsuiquicksearch.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-08-27 19:50:42 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-08-27 19:50:42 +0000
commitbfb93b795add0b7eb440cbffdaf9b51b61ec9d6c (patch)
treec6d86521b3ddb80bd58518e0af998dd4c8df8ca5 /src/plugins/Ui/qsui/qsuiquicksearch.cpp
parent465d171ec72009ec2bdbd41a939a77871bef0fe7 (diff)
downloadqmmp-bfb93b795add0b7eb440cbffdaf9b51b61ec9d6c.tar.gz
qmmp-bfb93b795add0b7eb440cbffdaf9b51b61ec9d6c.tar.bz2
qmmp-bfb93b795add0b7eb440cbffdaf9b51b61ec9d6c.zip
qsui: changed quick search implementation
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7392 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/qsui/qsuiquicksearch.cpp')
-rw-r--r--src/plugins/Ui/qsui/qsuiquicksearch.cpp77
1 files changed, 6 insertions, 71 deletions
diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.cpp b/src/plugins/Ui/qsui/qsuiquicksearch.cpp
index 89160bdbb..2763c9542 100644
--- a/src/plugins/Ui/qsui/qsuiquicksearch.cpp
+++ b/src/plugins/Ui/qsui/qsuiquicksearch.cpp
@@ -23,15 +23,16 @@
#include <QToolButton>
#include <QStyle>
#include <QEvent>
-#include <QApplication>
#include <QDebug>
#include <qmmpui/playlistmanager.h>
#include <qmmpui/playlistmodel.h>
+#include "listwidget.h"
#include "qsuiquicksearch.h"
-QSUIQuickSearch::QSUIQuickSearch(QWidget *parent) :
+QSUIQuickSearch::QSUIQuickSearch(ListWidget *listWidget, QWidget *parent) :
QWidget(parent)
{
+ m_listWidget = listWidget;
m_manager = PlayListManager::instance();
m_lineEdit = new QLineEdit(this);
QHBoxLayout *layout = new QHBoxLayout;
@@ -40,73 +41,7 @@ QSUIQuickSearch::QSUIQuickSearch(QWidget *parent) :
setLayout(layout);
layout->addWidget(m_lineEdit);
m_lineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
-
- QToolButton *downButton = new QToolButton(this);
- downButton->setAutoRaise(true);
- downButton->setIcon(style()->standardIcon(QStyle::QStyle::SP_ArrowDown));
- layout->addWidget(downButton);
- QToolButton *upButton = new QToolButton(this);
- upButton->setIcon(style()->standardIcon(QStyle::QStyle::SP_ArrowUp));
- upButton->setAutoRaise(true);
- layout->addWidget(upButton);
-
- connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)), SLOT(onFocusChanged(QWidget*,QWidget*)));
- connect(m_lineEdit, SIGNAL(textEdited(QString)), SLOT(onTextEdited(QString)));
- connect(downButton, SIGNAL(clicked(bool)), SLOT(onSearchDownClicked()));
- connect(upButton, SIGNAL(clicked(bool)), SLOT(onSearchUpClicked()));
-}
-
-void QSUIQuickSearch::onFocusChanged(QWidget *old, QWidget *now)
-{
- if(now == m_lineEdit)
- {
- qDebug("focus in");
- search(m_lineEdit->text());
- updateSelection();
- }
- else if(old == m_lineEdit)
- qDebug("focus out");
-}
-
-void QSUIQuickSearch::onTextEdited(const QString &str)
-{
- search(str);
- updateSelection();
-}
-
-void QSUIQuickSearch::onSearchUpClicked()
-{
- PlayListModel *model = m_manager->selectedPlayList();
-}
-
-void QSUIQuickSearch::onSearchDownClicked()
-{
- PlayListModel *model = m_manager->selectedPlayList();
-}
-
-void QSUIQuickSearch::search(const QString &str)
-{
- m_indexes.clear();
- if(str.isEmpty())
- return;
-
- PlayListModel *model = m_manager->selectedPlayList();
-
- for(int i = 0; i < model->count(); ++i)
- {
- PlayListItem *item = model->item(i);
- if(item->isGroup())
- continue;
-
- if(!item->formattedTitles().filter(str, Qt::CaseInsensitive).isEmpty())
- m_indexes << i;
- }
-}
-
-void QSUIQuickSearch::updateSelection()
-{
- PlayListModel *model = m_manager->selectedPlayList();
- model->clearSelection();
- model->setSelected(m_indexes);
+ connect(m_lineEdit, SIGNAL(textEdited(QString)), m_listWidget, SLOT(setFilterString(QString)));
+ connect(m_manager, SIGNAL(selectedPlayListChanged(PlayListModel*,PlayListModel*)), m_lineEdit, SLOT(clear()));
+ connect(m_listWidget, SIGNAL(doubleClicked()), m_lineEdit, SLOT(clear()));
}
-