File indexing completed on 2024-05-12 15:59:02

0001 /*
0002  * SPDX-FileCopyrightText: 2016 Boudewijn Rempt <boud@valdyas.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #ifndef CompositionsCHECK_H
0008 #define CompositionsCHECK_H
0009 
0010 #include "KisExportCheckRegistry.h"
0011 #include <KoID.h>
0012 #include <klocalizedstring.h>
0013 #include <kis_image.h>
0014 
0015 class CompositionsCheck : public KisExportCheckBase
0016 {
0017 public:
0018 
0019     CompositionsCheck(const QString &id, Level level, const QString &customWarning = QString())
0020         : KisExportCheckBase(id, level, customWarning)
0021     {
0022         if (customWarning.isEmpty()) {
0023             m_warning = i18nc("image conversion warning", "The image contains <b>compositions</b>. The compositions will not be saved.");
0024         }
0025     }
0026 
0027     bool checkNeeded(KisImageSP image) const override
0028     {
0029         return (image->compositions().size() > 0);
0030     }
0031 
0032     Level check(KisImageSP /*image*/) const override
0033     {
0034         return m_level;
0035     }
0036 };
0037 
0038 class CompositionsCheckFactory : public KisExportCheckFactory
0039 {
0040 public:
0041 
0042     CompositionsCheckFactory()
0043     {
0044     }
0045 
0046     ~CompositionsCheckFactory() override {}
0047 
0048     KisExportCheckBase *create(KisExportCheckBase::Level level, const QString &customWarning) override
0049     {
0050         return new CompositionsCheck(id(), level, customWarning);
0051     }
0052 
0053     QString id() const override {
0054         return "CompositionsCheck";
0055     }
0056 };
0057 
0058 #endif // CompositionsCHECK_H