From dc5c471cf2a8abeb7e23d0b32f62f9ccc10c8061 Mon Sep 17 00:00:00 2001 From: konrad Date: Sun, 7 Dec 2008 15:57:22 +0000 Subject: [PATCH] make customer dialog filtering git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@209 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33 --- src/customer.cpp | 12 ++++++++++-- src/customer.h | 4 ++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/customer.cpp b/src/customer.cpp index 496eaf1..b10db78 100644 --- a/src/customer.cpp +++ b/src/customer.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -204,8 +205,15 @@ MCustomerListDialog::MCustomerListDialog(MWebRequest*r,QWidget*par,bool isselect QHBoxLayout*hl; setLayout(vl=new QVBoxLayout); vl->addLayout(hl=new QHBoxLayout,10); - hl->addWidget(m_listview=new QListView,10); - m_listview->setModel(m_listmodel=new QStandardItemModel(this)); + hl->addLayout(vl2=new QVBoxLayout,10); + vl2->addWidget(m_filter=new QLineEdit,0); + vl2->addWidget(m_listview=new QListView,10); + m_listmodel=new QStandardItemModel(this); + m_proxymodel=new QSortFilterProxyModel(this); + m_proxymodel->setSourceModel(m_listmodel); + connect(m_filter,SIGNAL(textChanged(const QString&)),m_proxymodel,SLOT(setFilterFixedString(const QString&))); + m_proxymodel->setFilterCaseSensitivity(Qt::CaseInsensitive); + m_listview->setModel(m_proxymodel); m_listview->setEditTriggers(QAbstractItemView::NoEditTriggers); hl->addLayout(vl2=new QVBoxLayout,0); QPushButton*p; diff --git a/src/customer.h b/src/customer.h index 275f25e..a63b1f5 100644 --- a/src/customer.h +++ b/src/customer.h @@ -89,6 +89,8 @@ class MCustomer class QListView; class QStandardItemModel; +class QSortFilterProxyModel; +class QLineEdit; /**shows a list of customers, lets the user select and offers to alter/create customers*/ class MCustomerListDialog:public QDialog @@ -113,6 +115,8 @@ class MCustomerListDialog:public QDialog QList m_list; QListView*m_listview; QStandardItemModel*m_listmodel; + QSortFilterProxyModel*m_proxymodel; + QLineEdit*m_filter; MWebRequest*m_req; /**updates internal list*/ -- 1.7.2.5