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-09-18 0007 * Description : a modifier for replacing text in a token result 0008 * 0009 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef DIGIKAM_REPLACE_MODIFIER_H 0016 #define DIGIKAM_REPLACE_MODIFIER_H 0017 0018 // Local includes 0019 0020 #include "modifier.h" 0021 #include "ruledialog.h" 0022 0023 class QCheckBox; 0024 0025 namespace Ui 0026 { 0027 class ReplaceModifierDialogWidget; 0028 } 0029 0030 namespace Digikam 0031 { 0032 0033 class ReplaceDialog : public RuleDialog 0034 { 0035 Q_OBJECT 0036 0037 public: 0038 0039 explicit ReplaceDialog(Rule* const parent); 0040 ~ReplaceDialog() override; 0041 0042 Ui::ReplaceModifierDialogWidget* const ui; 0043 0044 private: 0045 0046 // Disable 0047 explicit ReplaceDialog(QWidget*) = delete; 0048 ReplaceDialog(const ReplaceDialog&) = delete; 0049 ReplaceDialog& operator=(const ReplaceDialog&) = delete; 0050 }; 0051 0052 // -------------------------------------------------------- 0053 0054 class ReplaceModifier : public Modifier 0055 { 0056 Q_OBJECT 0057 0058 public: 0059 0060 explicit ReplaceModifier(); 0061 QString parseOperation(ParseSettings& settings, const QRegularExpressionMatch& match) override; 0062 0063 private Q_SLOTS: 0064 0065 void slotTokenTriggered(const QString& token) override; 0066 0067 private: 0068 0069 // Disable 0070 explicit ReplaceModifier(QObject*) = delete; 0071 ReplaceModifier(const ReplaceModifier&) = delete; 0072 ReplaceModifier& operator=(const ReplaceModifier&) = delete; 0073 }; 0074 0075 } // namespace Digikam 0076 0077 #endif // DIGIKAM_REPLACE_MODIFIER_H