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