mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +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 "mainwindow.h"
|
||||||
#include "display.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
|
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
|
bool BuddyFilterModel::doFilter(dive *d, QModelIndex &index0, QAbstractItemModel *sourceModel) const
|
||||||
{
|
{
|
||||||
// If there's nothing checked, this should show everything
|
// 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;
|
return QStringListModel::flags(index) | Qt::ItemIsUserCheckable;
|
||||||
}
|
}
|
||||||
|
|
||||||
LocationFilterModel *LocationFilterModel::instance()
|
|
||||||
{
|
|
||||||
static LocationFilterModel *self = new LocationFilterModel();
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocationFilterModel::repopulate()
|
void LocationFilterModel::repopulate()
|
||||||
{
|
{
|
||||||
QStringList list;
|
QStringList list;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue