mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 20:26:17 +00:00
Implement the Buddy Filter interface.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
b1d76ed4d7
commit
358611d029
4 changed files with 38 additions and 1 deletions
|
@ -182,6 +182,7 @@ void MainWindow::recreateDiveList()
|
|||
{
|
||||
ui.ListWidget->reload(DiveTripModel::CURRENT);
|
||||
TagFilterModel::instance()->repopulate();
|
||||
BuddyFilterModel::instance()->repopulate();
|
||||
}
|
||||
|
||||
void MainWindow::current_dive_changed(int divenr)
|
||||
|
|
|
@ -2412,7 +2412,6 @@ Qt::ItemFlags BuddyFilterModel::flags(const QModelIndex &index) const
|
|||
|
||||
void BuddyFilterModel::repopulate()
|
||||
{
|
||||
|
||||
QStringList list;
|
||||
struct dive *dive;
|
||||
int i = 0;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -140,6 +140,16 @@ private:
|
|||
Ui::FilterWidget ui;
|
||||
};
|
||||
|
||||
class BuddyFilter : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
BuddyFilter(QWidget *parent = 0);
|
||||
virtual void showEvent(QShowEvent *);
|
||||
virtual void hideEvent(QHideEvent *);
|
||||
private:
|
||||
Ui::FilterWidget ui;
|
||||
};
|
||||
|
||||
class MultiFilter : public QScrollArea {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
|
Loading…
Add table
Reference in a new issue