aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/streambrowser/streamwindow.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-02-27 11:47:42 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-02-27 11:47:42 +0000
commitbd16af99a8475c3847cad3f8036c25ae35a7f66d (patch)
treed79d335de0bd0e03f17d2831b5ea71f34d8a3246 /src/plugins/General/streambrowser/streamwindow.cpp
parent2674c40dcca4382c42572b1388f6d83a787c59dd (diff)
downloadqmmp-bd16af99a8475c3847cad3f8036c25ae35a7f66d.tar.gz
qmmp-bd16af99a8475c3847cad3f8036c25ae35a7f66d.tar.bz2
qmmp-bd16af99a8475c3847cad3f8036c25ae35a7f66d.zip
stream browser: added filter
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2641 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/streambrowser/streamwindow.cpp')
-rw-r--r--src/plugins/General/streambrowser/streamwindow.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/General/streambrowser/streamwindow.cpp b/src/plugins/General/streambrowser/streamwindow.cpp
index 4dbf86579..f893467fc 100644
--- a/src/plugins/General/streambrowser/streamwindow.cpp
+++ b/src/plugins/General/streambrowser/streamwindow.cpp
@@ -24,6 +24,7 @@
#include <QUrl>
#include <QRegExp>
#include <QStandardItemModel>
+#include <QSortFilterProxyModel>
#include <QSettings>
#include <QDir>
#include <QMessageBox>
@@ -45,13 +46,18 @@ StreamWindow::StreamWindow(QWidget *parent) : QWidget(parent)
ui.addPushButton->setIcon(QIcon::fromTheme("list-add"));
ui.updatePushButton->setIcon(QIcon::fromTheme("view-refresh"));
-
m_icecastModel = new QStandardItemModel(this);
m_icecastModel->setHorizontalHeaderLabels(QStringList() << tr("Name")
<< tr("Genre")
<< tr("Bitrate")
<< tr("Format"));
- ui.icecastTableView->setModel(m_icecastModel);
+ m_filterModel = new QSortFilterProxyModel(this);
+ m_filterModel->setSourceModel(m_icecastModel);
+ m_filterModel->setDynamicSortFilter(true);
+ m_filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
+
+
+ ui.icecastTableView->setModel(m_filterModel);
ui.icecastTableView->verticalHeader()->setDefaultSectionSize(fontMetrics().height());
ui.icecastTableView->verticalHeader()->setResizeMode(QHeaderView::Fixed);
ui.icecastTableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
@@ -132,12 +138,18 @@ void StreamWindow::on_addPushButton_clicked()
QStringList urls;
foreach(QModelIndex index, indexes)
{
- urls.append(m_icecastModel->item(index.row(),0)->data().toString());
+ QModelIndex source_index = m_filterModel->mapToSource(index);
+ urls.append(m_icecastModel->item(source_index.row(),0)->data().toString());
}
urls.removeDuplicates();
PlayListManager::instance()->add(urls);
}
+void StreamWindow::on_filterLineEdit_textChanged(const QString &text)
+{
+ m_filterModel->setFilterFixedString(text);
+}
+
void StreamWindow::closeEvent(QCloseEvent *)
{
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);