mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-01 00:33:24 +00:00
Create a CREATE_INSTANCE_METHOD macro
This is just to simplify the creation of more filters. more macros will be used, because I tend to abuse them. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
10fecefddd
commit
dfea10fbb8
1 changed files with 12 additions and 17 deletions
|
@ -4,14 +4,21 @@
|
|||
#include "mainwindow.h"
|
||||
#include "display.h"
|
||||
|
||||
TagFilterModel::TagFilterModel(QObject *parent) : QStringListModel(parent)
|
||||
{
|
||||
#define CREATE_INSTANCE_METHOD( CLASS ) \
|
||||
CLASS *CLASS::instance() \
|
||||
{ \
|
||||
static CLASS *self = new CLASS(); \
|
||||
return self; \
|
||||
}
|
||||
|
||||
TagFilterModel *TagFilterModel::instance()
|
||||
CREATE_INSTANCE_METHOD(TagFilterModel);
|
||||
CREATE_INSTANCE_METHOD(BuddyFilterModel);
|
||||
CREATE_INSTANCE_METHOD(LocationFilterModel);
|
||||
|
||||
#undef CREATE_INSTANCE_METHOD
|
||||
|
||||
TagFilterModel::TagFilterModel(QObject *parent) : QStringListModel(parent)
|
||||
{
|
||||
static TagFilterModel *self = new TagFilterModel();
|
||||
return self;
|
||||
}
|
||||
|
||||
QVariant TagFilterModel::data(const QModelIndex &index, int role) const
|
||||
|
@ -126,12 +133,6 @@ BuddyFilterModel::BuddyFilterModel(QObject *parent) : QStringListModel(parent)
|
|||
{
|
||||
}
|
||||
|
||||
BuddyFilterModel *BuddyFilterModel::instance()
|
||||
{
|
||||
static BuddyFilterModel *self = new BuddyFilterModel();
|
||||
return self;
|
||||
}
|
||||
|
||||
bool BuddyFilterModel::doFilter(dive *d, QModelIndex &index0, QAbstractItemModel *sourceModel) const
|
||||
{
|
||||
// If there's nothing checked, this should show everything
|
||||
|
@ -316,12 +317,6 @@ Qt::ItemFlags LocationFilterModel::flags(const QModelIndex &index) const
|
|||
return QStringListModel::flags(index) | Qt::ItemIsUserCheckable;
|
||||
}
|
||||
|
||||
LocationFilterModel *LocationFilterModel::instance()
|
||||
{
|
||||
static LocationFilterModel *self = new LocationFilterModel();
|
||||
return self;
|
||||
}
|
||||
|
||||
void LocationFilterModel::repopulate()
|
||||
{
|
||||
QStringList list;
|
||||
|
|
Loading…
Add table
Reference in a new issue