File indexing completed on 2024-05-12 16:01:26

0001 /*
0002  *  SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_bookmarked_filter_configurations_model.h"
0008 
0009 #include <filter/kis_filter.h>
0010 #include <filter/kis_filter_configuration.h>
0011 #include <kis_paint_device.h>
0012 #include <KisGlobalResourcesInterface.h>
0013 
0014 struct KisBookmarkedFilterConfigurationsModel::Private {
0015     KisPaintDeviceSP thumb;
0016     KisFilterSP filter;
0017 };
0018 
0019 KisBookmarkedFilterConfigurationsModel::KisBookmarkedFilterConfigurationsModel(KisPaintDeviceSP thumb, KisFilterSP filter)
0020         : KisBookmarkedConfigurationsModel(filter->bookmarkManager()), d(new Private)
0021 {
0022     d->thumb = thumb;
0023     d->filter = filter;
0024 }
0025 
0026 KisBookmarkedFilterConfigurationsModel::~KisBookmarkedFilterConfigurationsModel()
0027 {
0028     delete d;
0029 }
0030 
0031 
0032 QVariant KisBookmarkedFilterConfigurationsModel::data(const QModelIndex &index, int role) const
0033 {
0034     if (!index.isValid()) {
0035         return QVariant();
0036     }
0037 
0038     return KisBookmarkedConfigurationsModel::data(index, role);
0039 
0040 }
0041 
0042 KisFilterConfigurationSP KisBookmarkedFilterConfigurationsModel::configuration(const QModelIndex &index) const
0043 {
0044     KisFilterConfigurationSP config = dynamic_cast<KisFilterConfiguration*>(KisBookmarkedConfigurationsModel::configuration(index).data());
0045     if (config) return config;
0046     return d->filter->defaultConfiguration(KisGlobalResourcesInterface::instance());
0047 }
0048