File indexing completed on 2025-03-09 03:57:06
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-11-27 0007 * Description : A modifier for appending a suffix number to a renaming option. 0008 * This guarantees a unique string for duplicate values. 0009 * 0010 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_UNIQUE_MODIFIER_H 0017 #define DIGIKAM_UNIQUE_MODIFIER_H 0018 0019 // Qt includes 0020 0021 #include <QStringList> 0022 0023 // Local includes 0024 0025 #include "modifier.h" 0026 #include "parseresults.h" 0027 0028 namespace Digikam 0029 { 0030 0031 class UniqueModifier : public Modifier 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 0037 explicit UniqueModifier(); 0038 QString parseOperation(ParseSettings& settings, const QRegularExpressionMatch& match) override; 0039 void reset() override; 0040 0041 private: 0042 0043 QMap<ParseResults::ResultsKey, QStringList> cache; 0044 0045 private: 0046 0047 // Disable 0048 explicit UniqueModifier(QObject*) = delete; 0049 UniqueModifier(const UniqueModifier&) = delete; 0050 UniqueModifier& operator=(const UniqueModifier&) = delete; 0051 }; 0052 0053 } // namespace Digikam 0054 0055 #endif // DIGIKAM_UNIQUE_MODIFIER_H