File indexing completed on 2025-03-09 03:57:07
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-08-08 0007 * Description : an option to add a sequence number to the parser 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_SEQUENCE_NUMBER_OPTION_H 0016 #define DIGIKAM_SEQUENCE_NUMBER_OPTION_H 0017 0018 // Local includes 0019 0020 #include "option.h" 0021 #include "ruledialog.h" 0022 0023 namespace Ui 0024 { 0025 class SequenceNumberOptionDialogWidget; 0026 } 0027 0028 namespace Digikam 0029 { 0030 0031 class SequenceNumberDialog : public RuleDialog 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 0037 explicit SequenceNumberDialog(Rule* const parent); 0038 ~SequenceNumberDialog() override; 0039 0040 Ui::SequenceNumberOptionDialogWidget* const ui; 0041 0042 private: 0043 0044 // Disable 0045 explicit SequenceNumberDialog(QWidget*) = delete; 0046 SequenceNumberDialog(const SequenceNumberDialog&) = delete; 0047 SequenceNumberDialog& operator=(const SequenceNumberDialog&) = delete; 0048 }; 0049 0050 // -------------------------------------------------------- 0051 0052 class SequenceNumberOption : public Option 0053 { 0054 Q_OBJECT 0055 0056 public: 0057 0058 explicit SequenceNumberOption(); 0059 ~SequenceNumberOption() override; 0060 0061 protected: 0062 0063 QString parseOperation(ParseSettings& settings, 0064 const QRegularExpressionMatch& match) override; 0065 0066 private Q_SLOTS: 0067 0068 void slotTokenTriggered(const QString& token) override; 0069 0070 private: 0071 0072 // Disable 0073 explicit SequenceNumberOption(QObject*) = delete; 0074 SequenceNumberOption(const SequenceNumberOption&) = delete; 0075 SequenceNumberOption& operator=(const SequenceNumberOption&) = delete; 0076 }; 0077 0078 } // namespace Digikam 0079 0080 #endif // DIGIKAM_SEQUENCE_NUMBER_OPTION_H