From dfea10fbb80710d7faf8fe7a1cee1ab8eea57384 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 13 Nov 2014 16:34:55 -0200 Subject: 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 Signed-off-by: Dirk Hohndel --- qt-ui/filtermodels.cpp | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/filtermodels.cpp b/qt-ui/filtermodels.cpp index 3dabc80cc..a60b2c04f 100644 --- a/qt-ui/filtermodels.cpp +++ b/qt-ui/filtermodels.cpp @@ -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; -- cgit v1.2.3-70-g09d2