diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-10-31 16:49:52 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-10-31 14:58:55 -0700 |
commit | 358611d029c68a3f402b8387f34946ac6acb64e7 (patch) | |
tree | 43007c18c8e0a0c992bedc118ad2d293d2b6d38b /qt-ui/simplewidgets.cpp | |
parent | b1d76ed4d794ca1d97c81e769470e3da79c20b17 (diff) | |
download | subsurface-358611d029c68a3f402b8387f34946ac6acb64e7.tar.gz |
Implement the Buddy Filter interface.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/simplewidgets.cpp')
-rw-r--r-- | qt-ui/simplewidgets.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp index bacaad5c4..bfd8f1991 100644 --- a/qt-ui/simplewidgets.cpp +++ b/qt-ui/simplewidgets.cpp @@ -481,12 +481,39 @@ void TagFilter::hideEvent(QHideEvent *event) QWidget::hideEvent(event); } +BuddyFilter::BuddyFilter(QWidget *parent) : QWidget(parent) +{ + ui.setupUi(this); + ui.label->setText(tr("Buddies: ")); +#if QT_VERSION >= 0x050000 + ui.filterInternalList->setClearButtonEnabled(true); +#endif + QSortFilterProxyModel *filter = new QSortFilterProxyModel(); + filter->setSourceModel(BuddyFilterModel::instance()); + connect(ui.filterInternalList, SIGNAL(textChanged(QString)), filter, SLOT(setFilterFixedString(QString))); + ui.filterList->setModel(filter); +} + +void BuddyFilter::showEvent(QShowEvent *event) +{ + MultiFilterSortModel::instance()->addFilterModel(BuddyFilterModel::instance()); + QWidget::showEvent(event); +} + +void BuddyFilter::hideEvent(QHideEvent *event) +{ + MultiFilterSortModel::instance()->removeFilterModel(BuddyFilterModel::instance()); + QWidget::hideEvent(event); +} + MultiFilter::MultiFilter(QWidget *parent): QScrollArea(parent) { QWidget *w = new QWidget(); QHBoxLayout *l = new QHBoxLayout(); l->addWidget(new TagFilter()); + l->addWidget(new BuddyFilter()); + l->setContentsMargins(0,0,0,0); l->setSpacing(1); w->setLayout(l); |